File manager - Edit - /home/c14075/dragmet-ural.ru/www/CORE.tar
Back
config.h 0000644 00000500651 15140731057 0006174 0 ustar 00 /* This file was produced by running the config_h.SH script, which * gets its values from config.sh, which is generally produced by * running Configure. * * Feel free to modify any of this as the need arises. Note, however, * that running config_h.SH again will wipe out any changes you've made. * For a more permanent change edit config.sh and rerun config_h.SH. */ /* Package name : perl5 * Source directory : /dummy/build/dir * Configuration time: Fri Sep 24 16:10:58 UTC 2021 * Configured by : Debian * Target system : linux localhost 4.19.0 #1 smp debian 4.19.0 x86_64 gnulinux */ #ifndef _config_h_ #define _config_h_ /* LOC_SED: * This symbol holds the complete pathname to the sed program. */ #define LOC_SED "/bin/sed" /**/ /* HAS_ALARM: * This symbol, if defined, indicates that the alarm routine is * available. */ #define HAS_ALARM /**/ /* HAS_CBRT: * This symbol, if defined, indicates that the cbrt() (cube root) * function is available. */ #define HAS_CBRT /**/ /* HAS_CHOWN: * This symbol, if defined, indicates that the chown routine is * available. */ #define HAS_CHOWN /**/ /* HAS_CHROOT: * This symbol, if defined, indicates that the chroot routine is * available. */ #define HAS_CHROOT /**/ /* HAS_CHSIZE: * This symbol, if defined, indicates that the chsize routine is available * to truncate files. You might need a -lx to get this routine. */ /*#define HAS_CHSIZE / **/ /* HAS_CRYPT: * This symbol, if defined, indicates that the crypt routine is available * to encrypt passwords and the like. */ #define HAS_CRYPT /**/ /* HAS_CTERMID: * This symbol, if defined, indicates that the ctermid routine is * available to generate filename for terminal. */ #define HAS_CTERMID /**/ /* HAS_CUSERID: * This symbol, if defined, indicates that the cuserid routine is * available to get character login names. */ #define HAS_CUSERID /**/ /* HAS_DIFFTIME: * This symbol, if defined, indicates that the difftime routine is * available. */ #define HAS_DIFFTIME /**/ /* HAS_DLERROR: * This symbol, if defined, indicates that the dlerror routine is * available to return a string describing the last error that * occurred from a call to dlopen(), dlclose() or dlsym(). */ #define HAS_DLERROR /**/ /* HAS_DUP2: * This symbol, if defined, indicates that the dup2 routine is * available to duplicate file descriptors. */ #define HAS_DUP2 /**/ /* HAS_FCHMOD: * This symbol, if defined, indicates that the fchmod routine is available * to change mode of opened files. If unavailable, use chmod(). */ #define HAS_FCHMOD /**/ /* HAS_FCHOWN: * This symbol, if defined, indicates that the fchown routine is available * to change ownership of opened files. If unavailable, use chown(). */ #define HAS_FCHOWN /**/ /* HAS_FCNTL: * This symbol, if defined, indicates to the C program that * the fcntl() function exists. */ #define HAS_FCNTL /**/ /* HAS_FGETPOS: * This symbol, if defined, indicates that the fgetpos routine is * available to get the file position indicator, similar to ftell(). */ #define HAS_FGETPOS /**/ /* HAS_FLOCK: * This symbol, if defined, indicates that the flock routine is * available to do file locking. */ #define HAS_FLOCK /**/ /* HAS_FORK: * This symbol, if defined, indicates that the fork routine is * available. */ #define HAS_FORK /**/ /* HAS_FSETPOS: * This symbol, if defined, indicates that the fsetpos routine is * available to set the file position indicator, similar to fseek(). */ #define HAS_FSETPOS /**/ /* HAS_GETTIMEOFDAY: * This symbol, if defined, indicates that the gettimeofday() system * call is available for a sub-second accuracy clock. Usually, the file * <sys/resource.h> needs to be included (see I_SYS_RESOURCE). * The type "Timeval" should be used to refer to "struct timeval". */ #define HAS_GETTIMEOFDAY /**/ #ifdef HAS_GETTIMEOFDAY #define Timeval struct timeval /* Structure used by gettimeofday() */ #endif /* HAS_GETGROUPS: * This symbol, if defined, indicates that the getgroups() routine is * available to get the list of process groups. If unavailable, multiple * groups are probably not supported. */ #define HAS_GETGROUPS /**/ /* HAS_GETLOGIN: * This symbol, if defined, indicates that the getlogin routine is * available to get the login name. */ #define HAS_GETLOGIN /**/ /* HAS_GETPGID: * This symbol, if defined, indicates to the C program that * the getpgid(pid) function is available to get the * process group id. */ #define HAS_GETPGID /**/ /* HAS_GETPGRP2: * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) * routine is available to get the current process group. */ /*#define HAS_GETPGRP2 / **/ /* HAS_GETPPID: * This symbol, if defined, indicates that the getppid routine is * available to get the parent process ID. */ #define HAS_GETPPID /**/ /* HAS_GETPRIORITY: * This symbol, if defined, indicates that the getpriority routine is * available to get a process's priority. */ #define HAS_GETPRIORITY /**/ /* HAS_INET_ATON: * This symbol, if defined, indicates to the C program that the * inet_aton() function is available to parse IP address "dotted-quad" * strings. */ #define HAS_INET_ATON /**/ /* HAS_KILLPG: * This symbol, if defined, indicates that the killpg routine is available * to kill process groups. If unavailable, you probably should use kill * with a negative process number. */ #define HAS_KILLPG /**/ /* HAS_LINK: * This symbol, if defined, indicates that the link routine is * available to create hard links. */ #define HAS_LINK /**/ /* HAS_LOCALECONV: * This symbol, if defined, indicates that the localeconv routine is * available for numeric and monetary formatting conventions. */ #define HAS_LOCALECONV /**/ /* HAS_LOCKF: * This symbol, if defined, indicates that the lockf routine is * available to do file locking. */ #define HAS_LOCKF /**/ /* HAS_LSTAT: * This symbol, if defined, indicates that the lstat routine is * available to do file stats on symbolic links. */ #define HAS_LSTAT /**/ /* HAS_MBLEN: * This symbol, if defined, indicates that the mblen routine is available * to find the number of bytes in a multibye character. */ #define HAS_MBLEN /**/ /* HAS_MBSTOWCS: * This symbol, if defined, indicates that the mbstowcs routine is * available to convert a multibyte string into a wide character string. */ #define HAS_MBSTOWCS /**/ /* HAS_MBTOWC: * This symbol, if defined, indicates that the mbtowc routine is available * to convert a multibyte to a wide character. */ #define HAS_MBTOWC /**/ /* HAS_MKDIR: * This symbol, if defined, indicates that the mkdir routine is available * to create directories. Otherwise you should fork off a new process to * exec /bin/mkdir. */ #define HAS_MKDIR /**/ /* HAS_MKFIFO: * This symbol, if defined, indicates that the mkfifo routine is * available to create FIFOs. Otherwise, mknod should be able to * do it for you. However, if mkfifo is there, mknod might require * super-user privileges which mkfifo will not. */ #define HAS_MKFIFO /**/ /* HAS_MKTIME: * This symbol, if defined, indicates that the mktime routine is * available. */ #define HAS_MKTIME /**/ /* HAS_MSG: * This symbol, if defined, indicates that the entire msg*(2) library is * supported (IPC mechanism based on message queues). */ #define HAS_MSG /**/ /* HAS_MSYNC: * This symbol, if defined, indicates that the msync system call is * available to synchronize a mapped file. */ #define HAS_MSYNC /**/ /* HAS_MUNMAP: * This symbol, if defined, indicates that the munmap system call is * available to unmap a region, usually mapped by mmap(). */ #define HAS_MUNMAP /**/ /* HAS_NICE: * This symbol, if defined, indicates that the nice routine is * available. */ #define HAS_NICE /**/ /* HAS_PATHCONF: * This symbol, if defined, indicates that pathconf() is available * to determine file-system related limits and options associated * with a given filename. */ /* HAS_FPATHCONF: * This symbol, if defined, indicates that pathconf() is available * to determine file-system related limits and options associated * with a given open file descriptor. */ #define HAS_PATHCONF /**/ #define HAS_FPATHCONF /**/ /* HAS_PAUSE: * This symbol, if defined, indicates that the pause routine is * available to suspend a process until a signal is received. */ #define HAS_PAUSE /**/ /* HAS_PIPE: * This symbol, if defined, indicates that the pipe routine is * available to create an inter-process channel. */ #define HAS_PIPE /**/ /* HAS_POLL: * This symbol, if defined, indicates that the poll routine is * available to poll active file descriptors. Please check I_POLL and * I_SYS_POLL to know which header should be included as well. */ #define HAS_POLL /**/ /* HAS_READDIR: * This symbol, if defined, indicates that the readdir routine is * available to read directory entries. You may have to include * <dirent.h>. See I_DIRENT. */ #define HAS_READDIR /**/ /* HAS_SEEKDIR: * This symbol, if defined, indicates that the seekdir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ #define HAS_SEEKDIR /**/ /* HAS_TELLDIR: * This symbol, if defined, indicates that the telldir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ #define HAS_TELLDIR /**/ /* HAS_REWINDDIR: * This symbol, if defined, indicates that the rewinddir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ #define HAS_REWINDDIR /**/ /* HAS_READLINK: * This symbol, if defined, indicates that the readlink routine is * available to read the value of a symbolic link. */ #define HAS_READLINK /**/ /* HAS_REGCOMP: * This symbol, if defined, indicates that the regcomp() routine is * available to do some regular pattern matching (usually on POSIX.2 * conforming systems). */ #define HAS_REGCOMP /* POSIX.2 */ /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() * trick. */ #define HAS_RENAME /**/ /* HAS_RMDIR: * This symbol, if defined, indicates that the rmdir routine is * available to remove directories. Otherwise you should fork off a * new process to exec /bin/rmdir. */ #define HAS_RMDIR /**/ /* HAS_SELECT: * This symbol, if defined, indicates that the select routine is * available to select active file descriptors. If the timeout field * is used, <sys/time.h> may need to be included. */ #define HAS_SELECT /**/ /* HAS_SEM: * This symbol, if defined, indicates that the entire sem*(2) library is * supported. */ #define HAS_SEM /**/ /* HAS_SETEGID: * This symbol, if defined, indicates that the setegid routine is available * to change the effective gid of the current program. */ #define HAS_SETEGID /**/ /* HAS_SETEUID: * This symbol, if defined, indicates that the seteuid routine is available * to change the effective uid of the current program. */ #define HAS_SETEUID /**/ /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple * groups are probably not supported. */ #define HAS_SETGROUPS /**/ /* HAS_SETLINEBUF: * This symbol, if defined, indicates that the setlinebuf routine is * available to change stderr or stdout from block-buffered or unbuffered * to a line-buffered mode. */ #define HAS_SETLINEBUF /**/ /* HAS_SETPGID: * This symbol, if defined, indicates that the setpgid(pid, gpid) * routine is available to set process group ID. */ #define HAS_SETPGID /**/ /* HAS_SETPGRP2: * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) * routine is available to set the current process group. */ /*#define HAS_SETPGRP2 / **/ /* HAS_SETPRIORITY: * This symbol, if defined, indicates that the setpriority routine is * available to set a process's priority. */ #define HAS_SETPRIORITY /**/ /* HAS_SETREGID: * This symbol, if defined, indicates that the setregid routine is * available to change the real and effective gid of the current * process. */ /* HAS_SETRESGID: * This symbol, if defined, indicates that the setresgid routine is * available to change the real, effective and saved gid of the current * process. */ #define HAS_SETREGID /**/ #define HAS_SETRESGID /**/ /* HAS_SETREUID: * This symbol, if defined, indicates that the setreuid routine is * available to change the real and effective uid of the current * process. */ /* HAS_SETRESUID: * This symbol, if defined, indicates that the setresuid routine is * available to change the real, effective and saved uid of the current * process. */ #define HAS_SETREUID /**/ #define HAS_SETRESUID /**/ /* HAS_SETRGID: * This symbol, if defined, indicates that the setrgid routine is available * to change the real gid of the current program. */ /*#define HAS_SETRGID / **/ /* HAS_SETRUID: * This symbol, if defined, indicates that the setruid routine is available * to change the real uid of the current program. */ /*#define HAS_SETRUID / **/ /* HAS_SETSID: * This symbol, if defined, indicates that the setsid routine is * available to set the process group ID. */ #define HAS_SETSID /**/ /* HAS_STAT: * This symbol, if defined, indicates that the stat routine is * available to get file status. */ #define HAS_STAT /**/ /* HAS_STRCOLL: * This symbol, if defined, indicates that the strcoll routine is * available to compare strings using collating information. */ #define HAS_STRCOLL /**/ /* HAS_STRTOD: * This symbol, if defined, indicates that the strtod routine is * available to provide better numeric string conversion than atof(). */ #define HAS_STRTOD /**/ /* HAS_STRTOL: * This symbol, if defined, indicates that the strtol routine is available * to provide better numeric string conversion than atoi() and friends. */ #define HAS_STRTOL /**/ /* HAS_STRXFRM: * This symbol, if defined, indicates that the strxfrm() routine is * available to transform strings. */ #define HAS_STRXFRM /**/ /* HAS_SYMLINK: * This symbol, if defined, indicates that the symlink routine is available * to create symbolic links. */ #define HAS_SYMLINK /**/ /* HAS_SYSCALL: * This symbol, if defined, indicates that the syscall routine is * available to call arbitrary system calls. If undefined, that's tough. */ #define HAS_SYSCALL /**/ /* HAS_SYSCONF: * This symbol, if defined, indicates that sysconf() is available * to determine system related limits and options. */ #define HAS_SYSCONF /**/ /* HAS_SYSTEM: * This symbol, if defined, indicates that the system routine is * available to issue a shell command. */ #define HAS_SYSTEM /**/ /* HAS_TCGETPGRP: * This symbol, if defined, indicates that the tcgetpgrp routine is * available to get foreground process group ID. */ #define HAS_TCGETPGRP /**/ /* HAS_TCSETPGRP: * This symbol, if defined, indicates that the tcsetpgrp routine is * available to set foreground process group ID. */ #define HAS_TCSETPGRP /**/ /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. */ #define HAS_TRUNCATE /**/ /* HAS_TZNAME: * This symbol, if defined, indicates that the tzname[] array is * available to access timezone names. */ #define HAS_TZNAME /**/ /* HAS_UMASK: * This symbol, if defined, indicates that the umask routine is * available to set and get the value of the file creation mask. */ #define HAS_UMASK /**/ /* HAS_USLEEP: * This symbol, if defined, indicates that the usleep routine is * available to let the process sleep on a sub-second accuracy. */ #define HAS_USLEEP /**/ /* HAS_WAIT4: * This symbol, if defined, indicates that wait4() exists. */ #define HAS_WAIT4 /**/ /* HAS_WAITPID: * This symbol, if defined, indicates that the waitpid routine is * available to wait for child process. */ #define HAS_WAITPID /**/ /* HAS_WCSTOMBS: * This symbol, if defined, indicates that the wcstombs routine is * available to convert wide character strings to multibyte strings. */ #define HAS_WCSTOMBS /**/ /* HAS_WCTOMB: * This symbol, if defined, indicates that the wctomb routine is available * to convert a wide character to a multibyte. */ #define HAS_WCTOMB /**/ /* Groups_t: * This symbol holds the type used for the second argument to * getgroups() and setgroups(). Usually, this is the same as * gidtype (gid_t) , but sometimes it isn't. * It can be int, ushort, gid_t, etc... * It may be necessary to include <sys/types.h> to get any * typedef'ed information. This is only required if you have * getgroups() or setgroups().. */ #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) #define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */ #endif /* I_ARPA_INET: * This symbol, if defined, indicates to the C program that it should * include <arpa/inet.h> to get inet_addr and friends declarations. */ #define I_ARPA_INET /**/ /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. */ /* I_RPCSVC_DBM: * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and * should be included. */ #define I_DBM /**/ /*#define I_RPCSVC_DBM / **/ /* I_DLFCN: * This symbol, if defined, indicates that <dlfcn.h> exists and should * be included. */ #define I_DLFCN /**/ /* I_FCNTL: * This manifest constant tells the C program to include <fcntl.h>. */ /*#define I_FCNTL / **/ /* I_GDBM: * This symbol, if defined, indicates that <gdbm.h> exists and should * be included. */ #define I_GDBM /**/ /* I_LOCALE: * This symbol, if defined, indicates to the C program that it should * include <locale.h>. */ #define I_LOCALE /**/ /* I_NETINET_IN: * This symbol, if defined, indicates to the C program that it should * include <netinet/in.h>. Otherwise, you may try <sys/in.h>. */ #define I_NETINET_IN /**/ /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. */ #define I_SYS_DIR /**/ /* I_SYS_FILE: * This symbol, if defined, indicates to the C program that it should * include <sys/file.h> to get definition of R_OK and friends. */ #define I_SYS_FILE /**/ /* I_SYS_IOCTL: * This symbol, if defined, indicates that <sys/ioctl.h> exists and should * be included. Otherwise, include <sgtty.h> or <termio.h>. */ /* I_SYS_SOCKIO: * This symbol, if defined, indicates the <sys/sockio.h> should be included * to get socket ioctl options, like SIOCATMARK. */ #define I_SYS_IOCTL /**/ /*#define I_SYS_SOCKIO / **/ /* I_SYS_NDIR: * This symbol, if defined, indicates to the C program that it should * include <sys/ndir.h>. */ /*#define I_SYS_NDIR / **/ /* I_SYS_PARAM: * This symbol, if defined, indicates to the C program that it should * include <sys/param.h>. */ #define I_SYS_PARAM /**/ /* I_SYS_POLL: * This symbol, if defined, indicates that the program may include * <sys/poll.h>. When I_POLL is also defined, it's probably safest * to only include <poll.h>. */ #define I_SYS_POLL /**/ /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include <sys/resource.h>. */ #define I_SYS_RESOURCE /**/ /* I_SYS_SELECT: * This symbol, if defined, indicates to the C program that it should * include <sys/select.h> in order to get definition of struct timeval. */ #define I_SYS_SELECT /**/ /* I_SYS_STAT: * This symbol, if defined, indicates to the C program that it should * include <sys/stat.h>. */ #define I_SYS_STAT /**/ /* I_SYS_TIMES: * This symbol, if defined, indicates to the C program that it should * include <sys/times.h>. */ #define I_SYS_TIMES /**/ /* I_SYS_TYPES: * This symbol, if defined, indicates to the C program that it should * include <sys/types.h>. */ #define I_SYS_TYPES /**/ /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. */ #define I_SYS_UN /**/ /* I_SYS_WAIT: * This symbol, if defined, indicates to the C program that it should * include <sys/wait.h>. */ #define I_SYS_WAIT /**/ /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include <unistd.h>. */ #define I_UNISTD /**/ /* I_UTIME: * This symbol, if defined, indicates to the C program that it should * include <utime.h>. */ #define I_UTIME /**/ /* I_VFORK: * This symbol, if defined, indicates to the C program that it should * include vfork.h. */ /*#define I_VFORK / **/ /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ #define STDCHAR char /**/ /* INTSIZE: * This symbol contains the value of sizeof(int) so that the C * preprocessor can make decisions based on it. */ /* LONGSIZE: * This symbol contains the value of sizeof(long) so that the C * preprocessor can make decisions based on it. */ /* SHORTSIZE: * This symbol contains the value of sizeof(short) so that the C * preprocessor can make decisions based on it. */ #define INTSIZE 4 /**/ #define LONGSIZE 8 /**/ #define SHORTSIZE 2 /**/ /* MULTIARCH: * This symbol, if defined, signifies that the build * process will produce some binary files that are going to be * used in a cross-platform environment. This is the case for * example with the NeXT "fat" binaries that contain executables * for several CPUs. */ /*#define MULTIARCH / **/ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, * or QUAD_IS___INT64. */ #define HAS_QUAD /**/ #ifdef HAS_QUAD # define Quad_t long /**/ # define Uquad_t unsigned long /**/ # define QUADKIND 2 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 # define QUAD_IS___INT64 5 #endif /* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is * available to do extended access checks. */ /*#define HAS_ACCESSX / **/ /* HAS_EACCESS: * This symbol, if defined, indicates that the eaccess routine is * available to do extended access checks. */ #define HAS_EACCESS /**/ /* I_SYS_ACCESS: * This symbol, if defined, indicates to the C program that it should * include <sys/access.h>. */ /*#define I_SYS_ACCESS / **/ /* I_SYS_SECURITY: * This symbol, if defined, indicates to the C program that it should * include <sys/security.h>. */ /*#define I_SYS_SECURITY / **/ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double, or a long double when applicable. Usual values are 2, * 4 and 8. The default is eight, for safety. For cross-compiling * or multiarch support, Configure will set a minimum of 8. */ #define MEM_ALIGNBYTES 8 /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc... * If the compiler supports cross-compiling or multiple-architecture * binaries, use compiler-defined macros to * determine the byte order. */ #if defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x1234 # else # if LONGSIZE == 8 # define BYTEORDER 0x12345678 # endif # endif # else # ifdef __BIG_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x4321 # else # if LONGSIZE == 8 # define BYTEORDER 0x87654321 # endif # endif # endif # endif #else #define BYTEORDER 0x12345678 /* large digits for MSB */ #endif /* CHARBITS: * This symbol contains the size of a char, so that the C preprocessor * can make decisions based on it. */ #define CHARBITS 8 /**/ /* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ /*#define CASTI32 / **/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative * numbers to unsigned longs, ints and shorts. */ /* CASTFLAGS: * This symbol contains flags that say what difficulties the compiler * has casting odd floating values to unsigned long: * 0 = ok * 1 = couldn't cast < 0 * 2 = couldn't cast >= 0x80000000 * 4 = couldn't cast in argument expression list */ #define CASTNEGFLOAT /**/ #define CASTFLAGS 0 /**/ /* VOID_CLOSEDIR: * This symbol, if defined, indicates that the closedir() routine * does not return a value. */ /*#define VOID_CLOSEDIR / **/ /* HAS_FD_SET: * This symbol, when defined, indicates presence of the fd_set typedef * in <sys/types.h> */ #define HAS_FD_SET /**/ /* Gconvert: * This preprocessor macro is defined to convert a floating point * number to a string without a trailing decimal point. This * emulates the behavior of sprintf("%g"), but is sometimes much more * efficient. If gconvert() is not available, but gcvt() drops the * trailing decimal point, then gcvt() is used. If all else fails, * a macro using sprintf("%g") is used. Arguments for the Gconvert * macro are: value, number of digits, whether trailing zeros should * be retained, and the output buffer. * The usual values are: * d_Gconvert='gconvert((x),(n),(t),(b))' * d_Gconvert='gcvt((x),(n),(b))' * d_Gconvert='sprintf((b),"%.*g",(n),(x))' * The last two assume trailing zeros should not be kept. */ #define Gconvert(x,n,t,b) gcvt((x),(n),(b)) /* HAS_GETPAGESIZE: * This symbol, if defined, indicates that the getpagesize system call * is available to get system page size, which is the granularity of * many memory management calls. */ #define HAS_GETPAGESIZE /**/ /* HAS_GNULIBC: * This symbol, if defined, indicates to the C program that * the GNU C library is being used. A better check is to use * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc. */ #define HAS_GNULIBC /**/ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif /* HAS_ISASCII: * This manifest constant lets the C program know that isascii * is available. */ #define HAS_ISASCII /**/ /* HAS_LCHOWN: * This symbol, if defined, indicates that the lchown routine is * available to operate on a symbolic link (instead of following the * link). */ #define HAS_LCHOWN /**/ /* HAS_OPEN3: * This manifest constant lets the C program know that the three * argument form of open(2) is available. */ #define HAS_OPEN3 /**/ /* HAS_SIGACTION: * This symbol, if defined, indicates that Vr4's sigaction() routine * is available. */ #define HAS_SIGACTION /**/ /* HAS_SIGINFO_SI_ERRNO: * This symbol, if defined, indicates that siginfo_t has the * si_errno member */ /* HAS_SIGINFO_SI_PID: * This symbol, if defined, indicates that siginfo_t has the * si_pid member */ /* HAS_SIGINFO_SI_UID: * This symbol, if defined, indicates that siginfo_t has the * si_uid member */ /* HAS_SIGINFO_SI_ADDR: * This symbol, if defined, indicates that siginfo_t has the * si_addr member */ /* HAS_SIGINFO_SI_STATUS: * This symbol, if defined, indicates that siginfo_t has the * si_status member */ /* HAS_SIGINFO_SI_BAND: * This symbol, if defined, indicates that siginfo_t has the * si_band member */ /* HAS_SIGINFO_SI_VALUE: * This symbol, if defined, indicates that siginfo_t has the * si_value member */ #define HAS_SIGINFO_SI_ERRNO /**/ #define HAS_SIGINFO_SI_PID /**/ #define HAS_SIGINFO_SI_UID /**/ #define HAS_SIGINFO_SI_ADDR /**/ #define HAS_SIGINFO_SI_STATUS /**/ #define HAS_SIGINFO_SI_BAND /**/ #define HAS_SIGINFO_SI_VALUE /**/ /* HAS_SIGSETJMP: * This variable indicates to the C program that the sigsetjmp() * routine is available to save the calling process's registers * and stack environment for later use by siglongjmp(), and * to optionally save the process's signal mask. See * Sigjmp_buf, Sigsetjmp, and Siglongjmp. */ /* Sigjmp_buf: * This is the buffer type to be used with Sigsetjmp and Siglongjmp. */ /* Sigsetjmp: * This macro is used in the same way as sigsetjmp(), but will invoke * traditional setjmp() if sigsetjmp isn't available. * See HAS_SIGSETJMP. */ /* Siglongjmp: * This macro is used in the same way as siglongjmp(), but will invoke * traditional longjmp() if siglongjmp isn't available. * See HAS_SIGSETJMP. */ #define HAS_SIGSETJMP /**/ #ifdef HAS_SIGSETJMP #define Sigjmp_buf sigjmp_buf #define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask)) #define Siglongjmp(buf,retval) siglongjmp((buf),(retval)) #else #define Sigjmp_buf jmp_buf #define Sigsetjmp(buf,save_mask) setjmp((buf)) #define Siglongjmp(buf,retval) longjmp((buf),(retval)) #endif /* HAS_STATIC_INLINE: * This symbol, if defined, indicates that the C compiler supports * C99-style static inline. That is, the function can't be called * from another translation unit. */ /* PERL_STATIC_INLINE: * This symbol gives the best-guess incantation to use for static * inline functions. If HAS_STATIC_INLINE is defined, this will * give C99-style inline. If HAS_STATIC_INLINE is not defined, * this will give a plain 'static'. It will always be defined * to something that gives static linkage. * Possibilities include * static inline (c99) * static __inline__ (gcc -ansi) * static __inline (MSVC) * static _inline (older MSVC) * static (c89 compilers) */ #define HAS_STATIC_INLINE /**/ #define PERL_STATIC_INLINE static __inline__ /**/ /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer * for a file handle. If this is defined, then the FILE_ptr(fp) * and FILE_cnt(fp) macros will also be defined and should be used * to access these fields. */ /* FILE_ptr: * This macro is used to access the _ptr field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_PTR is defined. */ /* STDIO_PTR_LVALUE: * This symbol is defined if the FILE_ptr macro can be used as an * lvalue. */ /* FILE_cnt: * This macro is used to access the _cnt field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_PTR is defined. */ /* STDIO_CNT_LVALUE: * This symbol is defined if the FILE_cnt macro can be used as an * lvalue. */ /* STDIO_PTR_LVAL_SETS_CNT: * This symbol is defined if using the FILE_ptr macro as an lvalue * to increase the pointer by n has the side effect of decreasing the * value of File_cnt(fp) by n. */ /* STDIO_PTR_LVAL_NOCHANGE_CNT: * This symbol is defined if using the FILE_ptr macro as an lvalue * to increase the pointer by n leaves File_cnt(fp) unchanged. */ /*#define USE_STDIO_PTR / **/ #ifdef USE_STDIO_PTR #define FILE_ptr(fp) ((fp)->_ptr) /*#define STDIO_PTR_LVALUE / **/ #define FILE_cnt(fp) ((fp)->_cnt) /*#define STDIO_CNT_LVALUE / **/ /*#define STDIO_PTR_LVAL_SETS_CNT / **/ /*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/ #endif /* USE_STDIO_BASE: * This symbol is defined if the _base field (or similar) of the * stdio FILE structure can be used to access the stdio buffer for * a file handle. If this is defined, then the FILE_base(fp) macro * will also be defined and should be used to access this field. * Also, the FILE_bufsiz(fp) macro will be defined and should be used * to determine the number of bytes in the buffer. USE_STDIO_BASE * will never be defined unless USE_STDIO_PTR is. */ /* FILE_base: * This macro is used to access the _base field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_BASE is defined. */ /* FILE_bufsiz: * This macro is used to determine the number of bytes in the I/O * buffer pointed to by _base field (or equivalent) of the FILE * structure pointed to its argument. This macro will always be defined * if USE_STDIO_BASE is defined. */ /*#define USE_STDIO_BASE / **/ #ifdef USE_STDIO_BASE #define FILE_base(fp) ((fp)->_base) #define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base) #endif /* DOUBLESIZE: * This symbol contains the size of a double, so that the C preprocessor * can make decisions based on it. */ #define DOUBLESIZE 8 /**/ /* I_TIME: * This symbol is always defined, and indicates to the C program that * it should include <time.h>. */ /* I_SYS_TIME: * This symbol, if defined, indicates to the C program that it should * include <sys/time.h>. */ /* I_SYS_TIME_KERNEL: * This symbol, if defined, indicates to the C program that it should * include <sys/time.h> with KERNEL defined. */ /* HAS_TM_TM_ZONE: * This symbol, if defined, indicates to the C program that * the struct tm has a tm_zone field. */ /* HAS_TM_TM_GMTOFF: * This symbol, if defined, indicates to the C program that * the struct tm has a tm_gmtoff field. */ #define I_TIME /**/ #define I_SYS_TIME /**/ /*#define I_SYS_TIME_KERNEL / **/ #define HAS_TM_TM_ZONE /**/ #define HAS_TM_TM_GMTOFF /**/ /* VAL_O_NONBLOCK: * This symbol is to be used during open() or fcntl(F_SETFL) to turn on * non-blocking I/O for the file descriptor. Note that there is no way * back, i.e. you cannot turn it blocking again this way. If you wish to * alternatively switch between blocking and non-blocking, use the * ioctl(FIOSNBIO) call instead, but that is not supported by all devices. */ /* VAL_EAGAIN: * This symbol holds the errno error code set by read() when no data was * present on the non-blocking file descriptor. */ /* RD_NODATA: * This symbol holds the return code from read() when no data is present * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is * not defined, then you can't distinguish between no data and EOF by * issuing a read(). You'll have to find another way to tell for sure! */ /* EOF_NONBLOCK: * This symbol, if defined, indicates to the C program that a read() on * a non-blocking file descriptor will return 0 on EOF, and not the value * held in RD_NODATA (-1 usually, in that case!). */ #define VAL_O_NONBLOCK O_NONBLOCK #define VAL_EAGAIN EAGAIN #define RD_NODATA -1 #define EOF_NONBLOCK /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor * can make decisions based on it. It will be sizeof(void *) if * the compiler supports (void *); otherwise it will be * sizeof(char *). */ #define PTRSIZE 8 /**/ /* Drand01: * This macro is to be used to generate uniformly distributed * random numbers over the range [0., 1.[. You may have to supply * an 'extern double drand48();' in your program since SunOS 4.1.3 * doesn't provide you with anything relevant in its headers. * See HAS_DRAND48_PROTO. */ /* Rand_seed_t: * This symbol defines the type of the argument of the * random seed function. */ /* seedDrand01: * This symbol defines the macro to be used in seeding the * random number generator (see Drand01). */ /* RANDBITS: * This symbol indicates how many bits are produced by the * function used to generate normalized random numbers. * Values include 15, 16, 31, and 48. */ #define Drand01() Perl_drand48() /**/ #define Rand_seed_t U32 /**/ #define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/ #define RANDBITS 48 /**/ /* SSize_t: * This symbol holds the type used by functions that return * a count of bytes or an error condition. It must be a signed type. * It is usually ssize_t, but may be long or int, etc. * It may be necessary to include <sys/types.h> or <unistd.h> * to get any typedef'ed information. * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t). */ #define SSize_t ssize_t /* signed count of bytes */ /* EBCDIC: * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ /*#define EBCDIC / **/ /* ARCHLIB: * This variable, if defined, holds the name of the directory in * which the user wants to put architecture-dependent public * library files for perl5. It is most often a local directory * such as /usr/local/lib. Programs using this variable must be * prepared to deal with filename expansion. If ARCHLIB is the * same as PRIVLIB, it is not defined, since presumably the * program already searches PRIVLIB. */ /* ARCHLIB_EXP: * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ #define ARCHLIB "/usr/lib/x86_64-linux-gnu/perl/5.32" /**/ #define ARCHLIB_EXP "/usr/lib/x86_64-linux-gnu/perl/5.32" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will * be installed. Program must be prepared to deal with ~name substitution. */ /* BIN_EXP: * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ /* PERL_RELOCATABLE_INC: * This symbol, if defined, indicates that we'd like to relocate entries * in @INC at run time based on the location of the perl binary. */ #define BIN "/usr/bin" /**/ #define BIN_EXP "/usr/bin" /**/ #define PERL_RELOCATABLE_INC "undef" /**/ /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically * search when adding directories to @INC, in a format suitable * for a C initialization string. See the inc_version_list entry * in Porting/Glossary for more details. */ #define PERL_INC_VERSION_LIST "5.32.0","5.32.0/x86_64-linux-gnu-thread-multi",0 /**/ /* INSTALL_USR_BIN_PERL: * This symbol, if defined, indicates that Perl is to be installed * also as /usr/bin/perl. */ /*#define INSTALL_USR_BIN_PERL / **/ /* PERL_OTHERLIBDIRS: * This variable contains a colon-separated set of paths for the perl * binary to search for additional library files or modules. * These directories will be tacked to the end of @INC. * Perl will automatically search below each path for version- * and architecture-specific directories. See PERL_INC_VERSION_LIST * for more details. */ /*#define PERL_OTHERLIBDIRS " " / **/ /* PRIVLIB: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. */ /* PRIVLIB_EXP: * This symbol contains the ~name expanded version of PRIVLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "/usr/share/perl/5.32" /**/ #define PRIVLIB_EXP "/usr/share/perl/5.32" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. * The standard distribution will put nothing in this directory. * After perl has been installed, users may install their own local * architecture-dependent modules in this directory with * MakeMaker Makefile.PL * or equivalent. See INSTALL for details. */ /* SITEARCH_EXP: * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ #define SITEARCH "/usr/local/lib/x86_64-linux-gnu/perl/5.32.1" /**/ #define SITEARCH_EXP "/usr/local/lib/x86_64-linux-gnu/perl/5.32.1" /**/ /* SITELIB: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. * The standard distribution will put nothing in this directory. * After perl has been installed, users may install their own local * architecture-independent modules in this directory with * MakeMaker Makefile.PL * or equivalent. See INSTALL for details. */ /* SITELIB_EXP: * This symbol contains the ~name expanded version of SITELIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /* SITELIB_STEM: * This define is SITELIB_EXP with any trailing version-specific component * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "/usr/local/share/perl/5.32.1" /**/ #define SITELIB_EXP "/usr/local/share/perl/5.32.1" /**/ #define SITELIB_STEM "" /**/ /* PERL_VENDORARCH: * If defined, this symbol contains the name of a private library. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. * It may have a ~ on the front. * The standard distribution will put nothing in this directory. * Vendors who distribute perl may wish to place their own * architecture-dependent modules and extensions in this directory with * MakeMaker Makefile.PL INSTALLDIRS=vendor * or equivalent. See INSTALL for details. */ /* PERL_VENDORARCH_EXP: * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PERL_VENDORARCH "/usr/lib/x86_64-linux-gnu/perl5/5.32" /**/ #define PERL_VENDORARCH_EXP "/usr/lib/x86_64-linux-gnu/perl5/5.32" /**/ /* PERL_VENDORLIB_EXP: * This symbol contains the ~name expanded version of VENDORLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /* PERL_VENDORLIB_STEM: * This define is PERL_VENDORLIB_EXP with any trailing version-specific component * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ #define PERL_VENDORLIB_EXP "/usr/share/perl5" /**/ #define PERL_VENDORLIB_STEM "" /**/ /* OSNAME: * This symbol contains the name of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ /* OSVERS: * This symbol contains the version of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ #define OSNAME "linux" /**/ #define OSVERS "4.19.0" /**/ /* CAT2: * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. */ #if 42 == 1 #define CAT2(a,b) a/**/b #define STRINGIFY(a) "a" #endif #if 42 == 42 #define PeRl_CaTiFy(a, b) a ## b #define PeRl_StGiFy(a) #a #define CAT2(a,b) PeRl_CaTiFy(a,b) #define StGiFy(a) PeRl_StGiFy(a) #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 #include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. Typical value of "cc -E" or "/lib/cpp", but it can also * call a wrapper. See CPPRUN. */ /* CPPMINUS: * This symbol contains the second part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. This symbol will have the value "-" if CPPSTDIN needs a minus * to specify standard input, otherwise the value is "". */ /* CPPRUN: * This symbol contains the string which will invoke a C preprocessor on * the standard input and produce to standard output. It needs to end * with CPPLAST, after all other preprocessor flags have been specified. * The main difference with CPPSTDIN is that this program will never be a * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is * available directly to the user. Note that it may well be different from * the preprocessor used to compile the C program. */ /* CPPLAST: * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */ #define CPPSTDIN "x86_64-linux-gnu-gcc -E" #define CPPMINUS "-" #define CPPRUN "x86_64-linux-gnu-gcc -E" #define CPPLAST "-" /* HAS_ACCESS: * This manifest constant lets the C program know that the access() * system call is available to check for accessibility using real UID/GID. * (always present on UNIX.) */ #define HAS_ACCESS /**/ /* HASATTRIBUTE_FORMAT: * Can we handle GCC attribute for checking printf-style formats */ /* PRINTF_FORMAT_NULL_OK: * Allows __printf__ format to be null when checking printf-style */ /* HASATTRIBUTE_MALLOC: * Can we handle GCC attribute for malloc-style functions. */ /* HASATTRIBUTE_NONNULL: * Can we handle GCC attribute for nonnull function parms. */ /* HASATTRIBUTE_NORETURN: * Can we handle GCC attribute for functions that do not return */ /* HASATTRIBUTE_PURE: * Can we handle GCC attribute for pure functions */ /* HASATTRIBUTE_UNUSED: * Can we handle GCC attribute for unused variables and arguments */ /* HASATTRIBUTE_DEPRECATED: * Can we handle GCC attribute for marking deprecated APIs */ /* HASATTRIBUTE_WARN_UNUSED_RESULT: * Can we handle GCC attribute for warning on unused results */ /* HASATTRIBUTE_ALWAYS_INLINE: * Can we handle GCC attribute for functions that should always be * inlined. */ #define HASATTRIBUTE_DEPRECATED /**/ #define HASATTRIBUTE_FORMAT /**/ #define PRINTF_FORMAT_NULL_OK /**/ #define HASATTRIBUTE_NORETURN /**/ #define HASATTRIBUTE_MALLOC /**/ #define HASATTRIBUTE_NONNULL /**/ #define HASATTRIBUTE_PURE /**/ #define HASATTRIBUTE_UNUSED /**/ #define HASATTRIBUTE_WARN_UNUSED_RESULT /**/ #define HASATTRIBUTE_ALWAYS_INLINE /**/ /* HAS_BACKTRACE: * This symbol, if defined, indicates that the backtrace() routine is * available to get a stack trace. The <execinfo.h> header must be * included to use this routine. */ #define HAS_BACKTRACE /**/ /* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. */ /* CSH: * This symbol, if defined, contains the full pathname of csh. */ /*#define HAS_CSH / **/ #ifdef HAS_CSH #define CSH "csh" /**/ #endif /* HAS_DLADDR: * This symbol, if defined, indicates that the dladdr() routine is * available to query dynamic linker information for an address. * The <dlfcn.h> header must be included to use this routine. */ #define HAS_DLADDR /**/ /* SETUID_SCRIPTS_ARE_SECURE_NOW: * This symbol, if defined, indicates that the bug that prevents * setuid scripts from being secure is not present in this kernel. */ /* DOSUID: * This symbol, if defined, indicates that the C program should * check the script that it is executing for setuid/setgid bits, and * attempt to emulate setuid/setgid on systems that have disabled * setuid #! scripts because the kernel can't do it securely. * It is up to the package designer to make sure that this emulation * is done securely. Among other things, it should do an fstat on * the script it just opened to make sure it really is a setuid/setgid * script, it should make sure the arguments passed correspond exactly * to the argument on the #! line, and it should not trust any * subprocesses to which it must pass the filename rather than the * file descriptor of the script to be executed. */ /*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/ /*#define DOSUID / **/ /* HAS_ENDGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for finalizing sequential access of the group database. */ #define HAS_ENDGRENT /**/ /* HAS_ENDHOSTENT: * This symbol, if defined, indicates that the endhostent() routine is * available to close whatever was being used for host queries. */ #define HAS_ENDHOSTENT /**/ /* HAS_ENDNETENT: * This symbol, if defined, indicates that the endnetent() routine is * available to close whatever was being used for network queries. */ #define HAS_ENDNETENT /**/ /* HAS_ENDPROTOENT: * This symbol, if defined, indicates that the endprotoent() routine is * available to close whatever was being used for protocol queries. */ #define HAS_ENDPROTOENT /**/ /* HAS_ENDPWENT: * This symbol, if defined, indicates that the getgrent routine is * available for finalizing sequential access of the passwd database. */ #define HAS_ENDPWENT /**/ /* HAS_ENDSERVENT: * This symbol, if defined, indicates that the endservent() routine is * available to close whatever was being used for service queries. */ #define HAS_ENDSERVENT /**/ /* FLEXFILENAMES: * This symbol, if defined, indicates that the system supports filenames * longer than 14 characters. */ #define FLEXFILENAMES /**/ /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. */ #define HAS_GETGRENT /**/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is * available to look up hosts by their IP addresses. */ #define HAS_GETHOSTBYADDR /**/ /* HAS_GETHOSTBYNAME: * This symbol, if defined, indicates that the gethostbyname() routine is * available to look up host names in some data base or other. */ #define HAS_GETHOSTBYNAME /**/ /* HAS_GETHOSTENT: * This symbol, if defined, indicates that the gethostent() routine is * available to look up host names in some data base or another. */ #define HAS_GETHOSTENT /**/ /* HAS_GETHOSTNAME: * This symbol, if defined, indicates that the C program may use the * gethostname() routine to derive the host name. See also HAS_UNAME * and PHOSTNAME. */ /* HAS_UNAME: * This symbol, if defined, indicates that the C program may use the * uname() routine to derive the host name. See also HAS_GETHOSTNAME * and PHOSTNAME. */ /* PHOSTNAME: * This symbol, if defined, indicates the command to feed to the * popen() routine to derive the host name. See also HAS_GETHOSTNAME * and HAS_UNAME. Note that the command uses a fully qualified path, * so that it is safe even if used by a process with super-user * privileges. */ /* HAS_PHOSTNAME: * This symbol, if defined, indicates that the C program may use the * contents of PHOSTNAME as a command to feed to the popen() routine * to derive the host name. */ #define HAS_GETHOSTNAME /**/ #define HAS_UNAME /**/ /*#define HAS_PHOSTNAME / **/ #ifdef HAS_PHOSTNAME #define PHOSTNAME "/bin/hostname" /* How to get the host name */ #endif /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. */ #define HAS_GETNETBYADDR /**/ /* HAS_GETNETBYNAME: * This symbol, if defined, indicates that the getnetbyname() routine is * available to look up networks by their names. */ #define HAS_GETNETBYNAME /**/ /* HAS_GETNETENT: * This symbol, if defined, indicates that the getnetent() routine is * available to look up network names in some data base or another. */ #define HAS_GETNETENT /**/ /* HAS_GETPROTOENT: * This symbol, if defined, indicates that the getprotoent() routine is * available to look up protocols in some data base or another. */ #define HAS_GETPROTOENT /**/ /* HAS_GETPGRP: * This symbol, if defined, indicates that the getpgrp routine is * available to get the current process group. */ /* USE_BSD_GETPGRP: * This symbol, if defined, indicates that getpgrp needs one * arguments whereas USG one needs none. */ #define HAS_GETPGRP /**/ /*#define USE_BSD_GETPGRP / **/ /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. */ /* HAS_GETPROTOBYNUMBER: * This symbol, if defined, indicates that the getprotobynumber() * routine is available to look up protocols by their number. */ #define HAS_GETPROTOBYNAME /**/ #define HAS_GETPROTOBYNUMBER /**/ /* HAS_GETPWENT: * This symbol, if defined, indicates that the getpwent routine is * available for sequential access of the passwd database. * If this is not available, the older getpw() function may be available. */ #define HAS_GETPWENT /**/ /* HAS_GETSERVENT: * This symbol, if defined, indicates that the getservent() routine is * available to look up network services in some data base or another. */ #define HAS_GETSERVENT /**/ /* HAS_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. */ /* HAS_GETSERVBYPORT: * This symbol, if defined, indicates that the getservbyport() * routine is available to look up services by their port. */ #define HAS_GETSERVBYNAME /**/ #define HAS_GETSERVBYPORT /**/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and * friends htons() ntohl() ntohs()) are available to do network * order byte swapping. */ /* HAS_HTONS: * This symbol, if defined, indicates that the htons() routine (and * friends htonl() ntohl() ntohs()) are available to do network * order byte swapping. */ /* HAS_NTOHL: * This symbol, if defined, indicates that the ntohl() routine (and * friends htonl() htons() ntohs()) are available to do network * order byte swapping. */ /* HAS_NTOHS: * This symbol, if defined, indicates that the ntohs() routine (and * friends htonl() htons() ntohl()) are available to do network * order byte swapping. */ #define HAS_HTONL /**/ #define HAS_HTONS /**/ #define HAS_NTOHL /**/ #define HAS_NTOHS /**/ /* HAS_LONG_DOUBLE: * This symbol will be defined if the C compiler supports long * doubles. */ /* LONG_DOUBLESIZE: * This symbol contains the size of a long double, so that the * C preprocessor can make decisions based on it. It is only * defined if the system supports long doubles. Note that this * is sizeof(long double), which may include unused bytes. */ /* HAS_LDEXPL: * This symbol, if defined, indicates that the ldexpl routine is * available to shift a long double floating-point number * by an integral power of 2. */ /* LONG_DOUBLEKIND: * LONG_DOUBLEKIND will be one of * LONG_DOUBLE_IS_DOUBLE * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE * LONG_DOUBLE_IS_VAX_H_FLOAT * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ /* LONG_DOUBLE_STYLE_IEEE: * This symbol, if defined, indicates that the long double * is any of the IEEE 754 style long doubles: * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED, * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE. */ /* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE: * This symbol, if defined, indicates that the long double is * the 128-bit double-double. */ /* LONG_DOUBLE_STYLE_IEEE_EXTENDED: * This symbol, if defined, indicates that the long double is * the 80-bit IEEE 754. Note that despite the 'extended' this * is less than the 'std', since this is an extension of * the double precision. */ /* LONG_DOUBLE_STYLE_IEEE_STD: * This symbol, if defined, indicates that the long double is * the 128-bit IEEE 754. */ /* LONG_DOUBLE_STYLE_VAX: * This symbol, if defined, indicates that the long double is * the 128-bit VAX format H. */ #define HAS_LDEXPL /**/ #define HAS_LONG_DOUBLE /**/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE 16 /**/ #define LONG_DOUBLEKIND 3 /**/ #define LONG_DOUBLE_IS_DOUBLE 0 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 #define LONG_DOUBLE_IS_VAX_H_FLOAT 9 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */ #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */ #define LONG_DOUBLE_STYLE_IEEE #undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE #define LONG_DOUBLE_STYLE_IEEE_EXTENDED #undef LONG_DOUBLE_STYLE_IEEE_STD #undef LONG_DOUBLE_STYLE_VAX #endif /* HAS_LONG_LONG: * This symbol will be defined if the C compiler supports long long. */ /* LONGLONGSIZE: * This symbol contains the size of a long long, so that the * C preprocessor can make decisions based on it. It is only * defined if the system supports long long. */ #define HAS_LONG_LONG /**/ #ifdef HAS_LONG_LONG #define LONGLONGSIZE 8 /**/ #endif /* HAS_MKSTEMP: * This symbol, if defined, indicates that the mkstemp routine is * available to exclusively create and open a uniquely named * temporary file. */ #define HAS_MKSTEMP /**/ /* HAS_MMAP: * This symbol, if defined, indicates that the mmap system call is * available to map a file into memory. */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'caddr_t'. */ #define HAS_MMAP /**/ #define Mmap_t void * /**/ /* HAS_SETGRENT: * This symbol, if defined, indicates that the setgrent routine is * available for initializing sequential access of the group database. */ #define HAS_SETGRENT /**/ /* HAS_SETHOSTENT: * This symbol, if defined, indicates that the sethostent() routine is * available. */ #define HAS_SETHOSTENT /**/ /* HAS_SETNETENT: * This symbol, if defined, indicates that the setnetent() routine is * available. */ #define HAS_SETNETENT /**/ /* HAS_SETPROTOENT: * This symbol, if defined, indicates that the setprotoent() routine is * available. */ #define HAS_SETPROTOENT /**/ /* HAS_SETPGRP: * This symbol, if defined, indicates that the setpgrp routine is * available to set the current process group. */ /* USE_BSD_SETPGRP: * This symbol, if defined, indicates that setpgrp needs two * arguments whereas USG one needs none. See also HAS_SETPGID * for a POSIX interface. */ #define HAS_SETPGRP /**/ /*#define USE_BSD_SETPGRP / **/ /* HAS_SETPWENT: * This symbol, if defined, indicates that the setpwent routine is * available for initializing sequential access of the passwd database. */ #define HAS_SETPWENT /**/ /* HAS_SETSERVENT: * This symbol, if defined, indicates that the setservent() routine is * available. */ #define HAS_SETSERVENT /**/ /* HAS_SETVBUF: * This symbol, if defined, indicates that the setvbuf routine is * available to change buffering on an open stdio stream. * to a line-buffered mode. */ #define HAS_SETVBUF /**/ /* HAS_SHM: * This symbol, if defined, indicates that the entire shm*(2) library is * supported. */ #define HAS_SHM /**/ /* Shmat_t: * This symbol holds the return type of the shmat() system call. * Usually set to 'void *' or 'char *'. */ /* HAS_SHMAT_PROTOTYPE: * This symbol, if defined, indicates that the sys/shm.h includes * a prototype for shmat(). Otherwise, it is up to the program to * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess, * but not always right so it should be emitted by the program only * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs. */ #define Shmat_t void * /**/ #define HAS_SHMAT_PROTOTYPE /**/ /* HAS_SOCKET: * This symbol, if defined, indicates that the BSD socket interface is * supported. */ /* HAS_SOCKETPAIR: * This symbol, if defined, indicates that the BSD socketpair() call is * supported. */ /* HAS_SOCKADDR_SA_LEN: * This symbol, if defined, indicates that the struct sockaddr * structure has a member called sa_len, indicating the length of * the structure. */ /* HAS_SOCKADDR_IN6: * This symbol, if defined, indicates the availability of * struct sockaddr_in6; */ /* HAS_SOCKADDR_STORAGE: * This symbol, if defined, indicates the availability of * struct sockaddr_storage; */ /* HAS_SIN6_SCOPE_ID: * This symbol, if defined, indicates that the struct sockaddr_in6 * structure has a member called sin6_scope_id. */ /* HAS_IP_MREQ: * This symbol, if defined, indicates the availability of * struct ip_mreq; */ /* HAS_IP_MREQ_SOURCE: * This symbol, if defined, indicates the availability of * struct ip_mreq_source; */ /* HAS_IPV6_MREQ: * This symbol, if defined, indicates the availability of * struct ipv6_mreq; */ /* HAS_IPV6_MREQ_SOURCE: * This symbol, if defined, indicates the availability of * struct ipv6_mreq_source; */ #define HAS_SOCKET /**/ #define HAS_SOCKETPAIR /**/ /*#define HAS_SOCKADDR_SA_LEN / **/ #define HAS_SOCKADDR_IN6 /**/ #define HAS_SOCKADDR_STORAGE /**/ #define HAS_SIN6_SCOPE_ID /**/ #define HAS_IP_MREQ /**/ #define HAS_IP_MREQ_SOURCE /**/ #define HAS_IPV6_MREQ /**/ /*#define HAS_IPV6_MREQ_SOURCE / **/ /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. */ #ifndef USE_STAT_BLOCKS #define USE_STAT_BLOCKS /**/ #endif /* HAS_SYS_ERRLIST: * This symbol, if defined, indicates that the sys_errlist array is * available to translate error numbers to strings. The extern int * sys_nerr gives the size of that table. */ #define HAS_SYS_ERRLIST /**/ /* HAS_STRTOUL: * This symbol, if defined, indicates that the strtoul routine is * available to provide conversion of strings to unsigned long. */ #define HAS_STRTOUL /**/ /* HAS_UNION_SEMUN: * This symbol, if defined, indicates that the union semun is * defined by including <sys/sem.h>. If not, the user code * probably needs to define it as: * union semun { * int val; * struct semid_ds *buf; * unsigned short *array; * } */ /* USE_SEMCTL_SEMUN: * This symbol, if defined, indicates that union semun is * used for semctl IPC_STAT. */ /* USE_SEMCTL_SEMID_DS: * This symbol, if defined, indicates that struct semid_ds * is * used for semctl IPC_STAT. */ /*#define HAS_UNION_SEMUN / **/ #define USE_SEMCTL_SEMUN /**/ #define USE_SEMCTL_SEMID_DS /**/ /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ /*#define HAS_VFORK / **/ /* HAS_PSEUDOFORK: * This symbol, if defined, indicates that an emulation of the * fork routine is available. */ /*#define HAS_PSEUDOFORK / **/ /* Signal_t: * This symbol's value is either "void" or "int", corresponding to the * appropriate return type of a signal handler. Thus, you can declare * a signal handler using "Signal_t (*handler)()", and define the * handler using "Signal_t handler(sig)". */ #define Signal_t void /* Signal handler's return type */ /* I_DIRENT: * This symbol, if defined, indicates to the C program that it should * include <dirent.h>. Using this symbol also triggers the definition * of the Direntry_t define which ends up being 'struct dirent' or * 'struct direct' depending on the availability of <dirent.h>. */ /* DIRNAMLEN: * This symbol, if defined, indicates to the C program that the length * of directory entry names is provided by a d_namlen field. Otherwise * you need to do strlen() on the d_name field. */ /* Direntry_t: * This symbol is set to 'struct direct' or 'struct dirent' depending on * whether dirent is available or not. You should use this pseudo type to * portably declare your directory entries. */ #define I_DIRENT /**/ /*#define DIRNAMLEN / **/ #define Direntry_t struct dirent /* I_EXECINFO: * This symbol, if defined, indicates to the C program that it should * include <execinfo.h> for backtrace() support. */ #define I_EXECINFO /**/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include <grp.h>. */ /* GRPASSWD: * This symbol, if defined, indicates to the C program that struct group * in <grp.h> contains gr_passwd. */ #define I_GRP /**/ #define GRPASSWD /**/ /* I_NDBM: * This symbol, if defined, indicates that <ndbm.h> exists and should * be included. */ /* I_GDBMNDBM: * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should * be included. This was the location of the ndbm.h compatibility file * in RedHat 7.1. */ /* I_GDBM_NDBM: * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should * be included. This is the location of the ndbm.h compatibility file * in Debian 4.0. */ /* NDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ /* GDBMNDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ /* GDBM_NDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ #define I_NDBM /**/ /*#define I_GDBMNDBM / **/ #define I_GDBM_NDBM /**/ #define NDBM_H_USES_PROTOTYPES /**/ /*#define GDBMNDBM_H_USES_PROTOTYPES / **/ #define GDBM_NDBM_H_USES_PROTOTYPES /**/ /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. */ #define I_NETDB /**/ /* I_NET_ERRNO: * This symbol, if defined, indicates that <net/errno.h> exists and * should be included. */ /*#define I_NET_ERRNO / **/ /* I_PWD: * This symbol, if defined, indicates to the C program that it should * include <pwd.h>. */ /* PWQUOTA: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_quota. */ /* PWAGE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_age. */ /* PWCHANGE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_change. */ /* PWCLASS: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_class. */ /* PWEXPIRE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_expire. */ /* PWCOMMENT: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_comment. */ /* PWGECOS: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_gecos. */ /* PWPASSWD: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_passwd. */ #define I_PWD /**/ /*#define PWQUOTA / **/ /*#define PWAGE / **/ /*#define PWCHANGE / **/ /*#define PWCLASS / **/ /*#define PWEXPIRE / **/ /*#define PWCOMMENT / **/ #define PWGECOS /**/ #define PWPASSWD /**/ /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. */ #define I_SYSUIO /**/ /* I_TERMIO: * This symbol, if defined, indicates that the program should include * <termio.h> rather than <sgtty.h>. There are also differences in * the ioctl() calls that depend on the value of this symbol. */ /* I_TERMIOS: * This symbol, if defined, indicates that the program should include * the POSIX termios.h rather than sgtty.h or termio.h. * There are also differences in the ioctl() calls that depend on the * value of this symbol. */ /* I_SGTTY: * This symbol, if defined, indicates that the program should include * <sgtty.h> rather than <termio.h>. There are also differences in * the ioctl() calls that depend on the value of this symbol. */ /*#define I_TERMIO / **/ #define I_TERMIOS /**/ /*#define I_SGTTY / **/ /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. */ /* Malloc_t: * This symbol is the type of pointer returned by malloc and realloc. */ #define Malloc_t void * /**/ #define Free_t void /**/ /* PERL_MALLOC_WRAP: * This symbol, if defined, indicates that we'd like malloc wrap checks. */ #define PERL_MALLOC_WRAP /**/ /* MYMALLOC: * This symbol, if defined, indicates that we're using our own malloc. */ /*#define MYMALLOC / **/ /* SH_PATH: * This symbol contains the full pathname to the shell used on this * on this system to execute Bourne shell scripts. Usually, this will be * /bin/sh, though it's possible that some systems will have /bin/ksh, * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ #define SH_PATH "/bin/sh" /**/ /* SIG_NAME: * This symbol contains a list of signal names in order of * signal number. This is intended * to be used as a static array initialization, like this: * char *sig_name[] = { SIG_NAME }; * The signals in the list are separated with commas, and each signal * is surrounded by double quotes. There is no leading SIG in the signal * name, i.e. SIGQUIT is known as "QUIT". * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn, * etc., where nn is the actual signal number (e.g. NUM37). * The signal number for sig_name[i] is stored in sig_num[i]. * The last element is 0 to terminate the list with a NULL. This * corresponds to the 0 at the end of the sig_name_init list. * Note that this variable is initialized from the sig_name_init, * not from sig_name (which is unused). */ /* SIG_NUM: * This symbol contains a list of signal numbers, in the same order as the * SIG_NAME list. It is suitable for static array initialization, as in: * int sig_num[] = { SIG_NUM }; * The signals in the list are separated with commas, and the indices * within that list and the SIG_NAME list match, so it's easy to compute * the signal name from a number or vice versa at the price of a small * dynamic linear lookup. * Duplicates are allowed, but are moved to the end of the list. * The signal number corresponding to sig_name[i] is sig_number[i]. * if (i < NSIG) then sig_number[i] == i. * The last element is 0, corresponding to the 0 at the end of * the sig_name_init list. * Note that this variable is initialized from the sig_num_init, * not from sig_num (which is unused). */ /* SIG_SIZE: * This variable contains the number of elements of the SIG_NAME * and SIG_NUM arrays, excluding the final NULL entry. */ #define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", 0 /**/ #define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 0 /**/ #define SIG_SIZE 68 /**/ /* USE_CROSS_COMPILE: * This symbol, if defined, indicates that Perl is being cross-compiled. */ /* PERL_TARGETARCH: * This symbol, if defined, indicates the target architecture * Perl has been cross-compiled to. Undefined if not a cross-compile. */ #ifndef USE_CROSS_COMPILE /*#define USE_CROSS_COMPILE / **/ #define PERL_TARGETARCH "" /**/ #endif /* PERL_USE_DEVEL: * This symbol, if defined, indicates that Perl was configured with * -Dusedevel, to enable development features. This should not be * done for production builds. */ /*#define PERL_USE_DEVEL / **/ /* HAS_ATOLF: * This symbol, if defined, indicates that the atolf routine is * available to convert strings into long doubles. */ /*#define HAS_ATOLF / **/ /* HAS_ATOLL: * This symbol, if defined, indicates that the atoll routine is * available to convert strings into long longs. */ #define HAS_ATOLL /**/ /* HAS__FWALK: * This symbol, if defined, indicates that the _fwalk system call is * available to apply a function to all the file handles. */ /*#define HAS__FWALK / **/ /* HAS_ACCEPT4: * This symbol, if defined, indicates that the accept4 routine is * available to accept socket connections. */ #define HAS_ACCEPT4 /**/ /* HAS_ACOSH: * This symbol, if defined, indicates that the acosh routine is * available to do the inverse hyperbolic cosine function. */ #define HAS_ACOSH /**/ /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. */ /*#define HAS_AINTL / **/ /* HAS_ASINH: * This symbol, if defined, indicates that the asinh routine is * available to do the inverse hyperbolic sine function. */ #define HAS_ASINH /**/ /* HAS_ATANH: * This symbol, if defined, indicates that the atanh routine is * available to do the inverse hyperbolic tangent function. */ #define HAS_ATANH /**/ /* HAS_BUILTIN_CHOOSE_EXPR: * Can we handle GCC builtin for compile-time ternary-like expressions */ /* HAS_BUILTIN_EXPECT: * Can we handle GCC builtin for telling that certain values are more * likely */ #define HAS_BUILTIN_EXPECT /**/ #define HAS_BUILTIN_CHOOSE_EXPR /**/ /* HAS_BUILTIN_ADD_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_add_overflow for adding integers with overflow checks. */ /* HAS_BUILTIN_SUB_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_sub_overflow for subtracting integers with overflow checks. */ /* HAS_BUILTIN_MUL_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_mul_overflow for multiplying integers with overflow checks. */ #define HAS_BUILTIN_ADD_OVERFLOW /**/ #define HAS_BUILTIN_SUB_OVERFLOW /**/ #define HAS_BUILTIN_MUL_OVERFLOW /**/ /* HAS_C99_VARIADIC_MACROS: * If defined, the compiler supports C99 variadic macros. */ #define HAS_C99_VARIADIC_MACROS /**/ /* HAS_CLASS: * This symbol, if defined, indicates that the class routine is * available to classify doubles. Available for example in AIX. * The returned values are defined in <float.h> and are: * * FP_PLUS_NORM Positive normalized, nonzero * FP_MINUS_NORM Negative normalized, nonzero * FP_PLUS_DENORM Positive denormalized, nonzero * FP_MINUS_DENORM Negative denormalized, nonzero * FP_PLUS_ZERO +0.0 * FP_MINUS_ZERO -0.0 * FP_PLUS_INF +INF * FP_MINUS_INF -INF * FP_NANS Signaling Not a Number (NaNS) * FP_NANQ Quiet Not a Number (NaNQ) */ /*#define HAS_CLASS / **/ /* HAS_CLEARENV: * This symbol, if defined, indicates that the clearenv () routine is * available for use. */ #define HAS_CLEARENV /**/ /* HAS_STRUCT_CMSGHDR: * This symbol, if defined, indicates that the struct cmsghdr * is supported. */ #define HAS_STRUCT_CMSGHDR /**/ /* HAS_COPYSIGN: * This symbol, if defined, indicates that the copysign routine is * available to do the copysign function. */ #define HAS_COPYSIGN /**/ /* HAS_COPYSIGNL: * This symbol, if defined, indicates that the copysignl routine is * available. If aintl is also present we can emulate modfl. */ #define HAS_COPYSIGNL /**/ /* USE_CPLUSPLUS: * This symbol, if defined, indicates that a C++ compiler was * used to compiled Perl and will be used to compile extensions. */ /*#define USE_CPLUSPLUS / **/ /* HAS_DBMINIT_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the dbminit() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int dbminit(char *); */ #define HAS_DBMINIT_PROTO /**/ /* HAS_DIR_DD_FD: * This symbol, if defined, indicates that the the DIR* dirstream * structure contains a member variable named dd_fd. */ /*#define HAS_DIR_DD_FD / **/ /* HAS_DIRFD: * This manifest constant lets the C program know that dirfd * is available. */ #define HAS_DIRFD /**/ /* DLSYM_NEEDS_UNDERSCORE: * This symbol, if defined, indicates that we need to prepend an * underscore to the symbol name before calling dlsym(). This only * makes sense if you *have* dlsym, which we will presume is the * case if you're using dl_dlopen.xs. */ /*#define DLSYM_NEEDS_UNDERSCORE / **/ /* HAS_DUP3: * This symbol, if defined, indicates that the dup3 routine is * available to duplicate file descriptors. */ #define HAS_DUP3 /**/ /* HAS_ERF: * This symbol, if defined, indicates that the erf routine is * available to do the error function. */ #define HAS_ERF /**/ /* HAS_ERFC: * This symbol, if defined, indicates that the erfc routine is * available to do the complementary error function. */ #define HAS_ERFC /**/ /* HAS_EXP2: * This symbol, if defined, indicates that the exp2 routine is * available to do the 2**x function. */ #define HAS_EXP2 /**/ /* HAS_EXPM1: * This symbol, if defined, indicates that the expm1 routine is * available to do the exp(x) - 1 when x is near 1 function. */ #define HAS_EXPM1 /**/ /* HAS_FAST_STDIO: * This symbol, if defined, indicates that the "fast stdio" * is available to manipulate the stdio buffers directly. */ /*#define HAS_FAST_STDIO / **/ /* HAS_FCHDIR: * This symbol, if defined, indicates that the fchdir routine is * available to change directory using a file descriptor. */ #define HAS_FCHDIR /**/ /* FCNTL_CAN_LOCK: * This symbol, if defined, indicates that fcntl() can be used * for file locking. Normally on Unix systems this is defined. * It may be undefined on VMS. */ #define FCNTL_CAN_LOCK /**/ /* HAS_FDCLOSE: * This symbol, if defined, indicates that the fdclose routine is * available to free a FILE structure without closing the underlying * file descriptor. This function appeared in FreeBSD 10.2. */ /*#define HAS_FDCLOSE / **/ /* HAS_FDIM: * This symbol, if defined, indicates that the fdim routine is * available to do the positive difference function. */ #define HAS_FDIM /**/ /* HAS_FEGETROUND: * This symbol, if defined, indicates that the fegetround routine is * available to return the macro corresponding to the current rounding * mode. */ #define HAS_FEGETROUND /**/ /* HAS_FINITE: * This symbol, if defined, indicates that the finite routine is * available to check whether a double is finite (non-infinity non-NaN). */ #define HAS_FINITE /**/ /* HAS_FINITEL: * This symbol, if defined, indicates that the finitel routine is * available to check whether a long double is finite * (non-infinity non-NaN). */ #define HAS_FINITEL /**/ /* HAS_FLOCK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the flock() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int flock(int, int); */ #define HAS_FLOCK_PROTO /**/ /* HAS_FMA: * This symbol, if defined, indicates that the fma routine is * available to do the multiply-add function. */ #define HAS_FMA /**/ /* HAS_FMAX: * This symbol, if defined, indicates that the fmax routine is * available to do the maximum function. */ #define HAS_FMAX /**/ /* HAS_FMIN: * This symbol, if defined, indicates that the fmin routine is * available to do the minimum function. */ #define HAS_FMIN /**/ /* HAS_FP_CLASS: * This symbol, if defined, indicates that the fp_class routine is * available to classify doubles. Available for example in Digital UNIX. * The returned values are defined in <math.h> and are: * * FP_SNAN Signaling NaN (Not-a-Number) * FP_QNAN Quiet NaN (Not-a-Number) * FP_POS_INF +infinity * FP_NEG_INF -infinity * FP_POS_NORM Positive normalized * FP_NEG_NORM Negative normalized * FP_POS_DENORM Positive denormalized * FP_NEG_DENORM Negative denormalized * FP_POS_ZERO +0.0 (positive zero) * FP_NEG_ZERO -0.0 (negative zero) */ /*#define HAS_FP_CLASS / **/ /* HAS_FP_CLASSL: * This symbol, if defined, indicates that the fp_classl routine is * available to classify long doubles. Available for example in * Digital UNIX. See for possible values HAS_FP_CLASS. */ /*#define HAS_FP_CLASSL / **/ /* HAS_FPCLASS: * This symbol, if defined, indicates that the fpclass routine is * available to classify doubles. Available for example in Solaris/SVR4. * The returned values are defined in <ieeefp.h> and are: * * FP_SNAN signaling NaN * FP_QNAN quiet NaN * FP_NINF negative infinity * FP_PINF positive infinity * FP_NDENORM negative denormalized non-zero * FP_PDENORM positive denormalized non-zero * FP_NZERO negative zero * FP_PZERO positive zero * FP_NNORM negative normalized non-zero * FP_PNORM positive normalized non-zero */ /*#define HAS_FPCLASS / **/ /* HAS_FPCLASSIFY: * This symbol, if defined, indicates that the fpclassify routine is * available to classify doubles. Available for example in HP-UX. * The returned values are defined in <math.h> and are * * FP_NORMAL Normalized * FP_ZERO Zero * FP_INFINITE Infinity * FP_SUBNORMAL Denormalized * FP_NAN NaN * */ /* HAS_FP_CLASSIFY: * This symbol, if defined, indicates that the fp_classify routine is * available to classify doubles. The values are defined in <math.h> * * FP_NORMAL Normalized * FP_ZERO Zero * FP_INFINITE Infinity * FP_SUBNORMAL Denormalized * FP_NAN NaN * */ #define HAS_FPCLASSIFY /**/ /*#define HAS_FP_CLASSIFY / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is * available to classify long doubles. Available for example in IRIX. * The returned values are defined in <ieeefp.h> and are: * * FP_SNAN signaling NaN * FP_QNAN quiet NaN * FP_NINF negative infinity * FP_PINF positive infinity * FP_NDENORM negative denormalized non-zero * FP_PDENORM positive denormalized non-zero * FP_NZERO negative zero * FP_PZERO positive zero * FP_NNORM negative normalized non-zero * FP_PNORM positive normalized non-zero */ /*#define HAS_FPCLASSL / **/ /* HAS_FPGETROUND: * This symbol, if defined, indicates that the fpgetround routine is * available to get the floating point rounding mode. */ /*#define HAS_FPGETROUND / **/ /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ /*#define HAS_FPOS64_T / **/ /* HAS_FREXPL: * This symbol, if defined, indicates that the frexpl routine is * available to break a long double floating-point number into * a normalized fraction and an integral power of 2. */ #define HAS_FREXPL /**/ /* HAS_STRUCT_FS_DATA: * This symbol, if defined, indicates that the struct fs_data * to do statfs() is supported. */ /*#define HAS_STRUCT_FS_DATA / **/ /* HAS_FCHMODAT: * This symbol is defined if the fchmodat() routine is available. */ /* HAS_LINKAT: * This symbol is defined if the linkat() routine is available. */ /* HAS_OPENAT: * This symbol is defined if the openat() routine is available. */ /* HAS_RENAMEAT: * This symbol is defined if the renameat() routine is available. */ /* HAS_UNLINKAT: * This symbol is defined if the unlinkat() routine is available. */ #define HAS_FCHMODAT /**/ #define HAS_LINKAT /**/ #define HAS_OPENAT /**/ #define HAS_RENAMEAT /**/ #define HAS_UNLINKAT /**/ /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ #define HAS_FSEEKO /**/ /* HAS_FSTATFS: * This symbol, if defined, indicates that the fstatfs routine is * available to stat filesystems by file descriptors. */ #define HAS_FSTATFS /**/ /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to * permanent storage. */ #define HAS_FSYNC /**/ /* HAS_FTELLO: * This symbol, if defined, indicates that the ftello routine is * available to ftell beyond 32 bits (useful for ILP32 hosts). */ #define HAS_FTELLO /**/ /* HAS_FUTIMES: * This symbol, if defined, indicates that the futimes routine is * available to change file descriptor time stamps with struct timevals. */ #define HAS_FUTIMES /**/ /* HAS_GAI_STRERROR: * This symbol, if defined, indicates that the gai_strerror routine * is available to translate error codes returned by getaddrinfo() * into human readable strings. */ #define HAS_GAI_STRERROR /**/ /* HAS_GETADDRINFO: * This symbol, if defined, indicates that the getaddrinfo() function * is available for use. */ #define HAS_GETADDRINFO /**/ /* HAS_GETCWD: * This symbol, if defined, indicates that the getcwd routine is * available to get the current working directory. */ #define HAS_GETCWD /**/ /* HAS_GETESPWNAM: * This symbol, if defined, indicates that the getespwnam system call is * available to retrieve enhanced (shadow) password entries by name. */ /*#define HAS_GETESPWNAM / **/ /* HAS_GETFSSTAT: * This symbol, if defined, indicates that the getfsstat routine is * available to stat filesystems in bulk. */ /*#define HAS_GETFSSTAT / **/ /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ #define HAS_GETITIMER /**/ /* HAS_GETMNT: * This symbol, if defined, indicates that the getmnt routine is * available to get filesystem mount info by filename. */ /*#define HAS_GETMNT / **/ /* HAS_GETMNTENT: * This symbol, if defined, indicates that the getmntent routine is * available to iterate through mounted file systems to get their info. */ #define HAS_GETMNTENT /**/ /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. */ #define HAS_GETNAMEINFO /**/ /* HAS_GETPRPWNAM: * This symbol, if defined, indicates that the getprpwnam system call is * available to retrieve protected (shadow) password entries by name. */ /*#define HAS_GETPRPWNAM / **/ /* HAS_GETSPNAM: * This symbol, if defined, indicates that the getspnam system call is * available to retrieve SysV shadow password entries by name. */ #define HAS_GETSPNAM /**/ /* HAS_HASMNTOPT: * This symbol, if defined, indicates that the hasmntopt routine is * available to query the mount options of file systems. */ #define HAS_HASMNTOPT /**/ /* HAS_HYPOT: * This symbol, if defined, indicates that the hypot routine is * available to do the hypotenuse function. */ #define HAS_HYPOT /**/ /* HAS_ILOGB: * This symbol, if defined, indicates that the ilogb routine is * available to get integer exponent of a floating-point value. */ #define HAS_ILOGB /**/ /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. */ #define HAS_ILOGBL /**/ /* HAS_INETNTOP: * This symbol, if defined, indicates that the inet_ntop() function * is available to parse IPv4 and IPv6 strings. */ #define HAS_INETNTOP /**/ /* HAS_INETPTON: * This symbol, if defined, indicates that the inet_pton() function * is available to parse IPv4 and IPv6 strings. */ #define HAS_INETPTON /**/ /* HAS_INT64_T: * This symbol will defined if the C compiler supports int64_t. * Usually the <inttypes.h> needs to be included, but sometimes * <sys/types.h> is enough. */ #define HAS_INT64_T /**/ /* HAS_ISBLANK: * This manifest constant lets the C program know that isblank * is available. */ #define HAS_ISBLANK /**/ /* HAS_ISFINITE: * This symbol, if defined, indicates that the isfinite routine is * available to check whether a double is finite (non-infinity non-NaN). */ #define HAS_ISFINITE /**/ /* HAS_ISFINITEL: * This symbol, if defined, indicates that the isfinitel routine is * available to check whether a long double is finite. * (non-infinity non-NaN). */ /*#define HAS_ISFINITEL / **/ /* HAS_ISINF: * This symbol, if defined, indicates that the isinf routine is * available to check whether a double is an infinity. */ #define HAS_ISINF /**/ /* HAS_ISINFL: * This symbol, if defined, indicates that the isinfl routine is * available to check whether a long double is an infinity. */ #define HAS_ISINFL /**/ /* HAS_ISLESS: * This symbol, if defined, indicates that the isless routine is * available to do the isless function. */ #define HAS_ISLESS /**/ /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. */ #define HAS_ISNAN /**/ /* HAS_ISNANL: * This symbol, if defined, indicates that the isnanl routine is * available to check whether a long double is a NaN. */ #define HAS_ISNANL /**/ /* HAS_ISNORMAL: * This symbol, if defined, indicates that the isnormal routine is * available to check whether a double is normal (non-zero normalized). */ #define HAS_ISNORMAL /**/ /* HAS_J0: * This symbol, if defined, indicates to the C program that the * j0() function is available for Bessel functions of the first * kind of the order zero, for doubles. */ /* HAS_J0L: * This symbol, if defined, indicates to the C program that the * j0l() function is available for Bessel functions of the first * kind of the order zero, for long doubles. */ #define HAS_J0 /**/ #define HAS_J0L /**/ /* HAS_LC_MONETARY_2008: * This symbol, if defined, indicates that the localeconv routine is * available and has the additional members added in POSIX 1003.1-2008. */ #define HAS_LC_MONETARY_2008 /**/ /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's <float.h> * or <limits.h> defines the symbol LDBL_DIG, which is the number * of significant digits in a long double precision number. Unlike * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined. */ #define HAS_LDBL_DIG /* */ /* HAS_LGAMMA: * This symbol, if defined, indicates that the lgamma routine is * available to do the log gamma function. See also HAS_TGAMMA and * HAS_LGAMMA_R. */ #define HAS_LGAMMA /**/ /* HAS_LGAMMA_R: * This symbol, if defined, indicates that the lgamma_r routine is * available to do the log gamma function without using the global * signgam variable. */ #define HAS_LGAMMA_R /**/ /* LIBM_LIB_VERSION: * This symbol, if defined, indicates that libm exports _LIB_VERSION * and that math.h defines the enum to manipulate it. */ /*#define LIBM_LIB_VERSION / **/ /* HAS_LLRINT: * This symbol, if defined, indicates that the llrint routine is * available to return the long long value closest to a double * (according to the current rounding mode). */ #define HAS_LLRINT /**/ /* HAS_LLRINTL: * This symbol, if defined, indicates that the llrintl routine is * available to return the long long value closest to a long double * (according to the current rounding mode). */ #define HAS_LLRINTL /**/ /* HAS_LLROUND: * This symbol, if defined, indicates that the llround routine is * available to return the nearest long long value. */ #define HAS_LLROUND /**/ /* HAS_LLROUNDL: * This symbol, if defined, indicates that the llroundl routine is * available to return the nearest long long value away from zero of * the long double argument value. */ #define HAS_LLROUNDL /**/ /* HAS_LOG1P: * This symbol, if defined, indicates that the log1p routine is * available to do the logarithm of 1 plus argument function. */ #define HAS_LOG1P /**/ /* HAS_LOG2: * This symbol, if defined, indicates that the log2 routine is * available to do the log2 function. */ #define HAS_LOG2 /**/ /* HAS_LOGB: * This symbol, if defined, indicates that the logb routine is * available to do the logb function. */ #define HAS_LOGB /**/ /* HAS_LRINT: * This symbol, if defined, indicates that the lrint routine is * available to return the integral value closest to a double * (according to the current rounding mode). */ #define HAS_LRINT /**/ /* HAS_LRINTL: * This symbol, if defined, indicates that the lrintl routine is * available to return the integral value closest to a long double * (according to the current rounding mode). */ #define HAS_LRINTL /**/ /* HAS_LROUND: * This symbol, if defined, indicates that the lround routine is * available to return the nearest integral value. */ #define HAS_LROUND /**/ /* HAS_LROUNDL: * This symbol, if defined, indicates that the lroundl routine is * available to return the nearest integral value away from zero of * the long double argument value. */ #define HAS_LROUNDL /**/ /* HAS_MADVISE: * This symbol, if defined, indicates that the madvise system call is * available to map a file into memory. */ #define HAS_MADVISE /**/ /* HAS_MALLOC_SIZE: * This symbol, if defined, indicates that the malloc_size * routine is available for use. */ /*#define HAS_MALLOC_SIZE / **/ /* HAS_MALLOC_GOOD_SIZE: * This symbol, if defined, indicates that the malloc_good_size * routine is available for use. */ /*#define HAS_MALLOC_GOOD_SIZE / **/ /* HAS_MEMMEM: * This symbol, if defined, indicates that the memmem routine is * available to return a pointer to the start of the first occurance * of a substring in a memory area (or NULL if not found). * In glibc, memmem is a GNU extension. The function is visible in * libc, but the prototype is only visible if _GNU_SOURCE is #defined. * Thus we only define this if both the prototype and symbol are found. */ #define HAS_MEMMEM /**/ /* HAS_MEMRCHR: * This symbol, if defined, indicates that the memrchr routine is * available to return a pointer to the last occurrence of a byte in * a memory area (or NULL if not found). */ #define HAS_MEMRCHR /**/ /* HAS_MKDTEMP: * This symbol, if defined, indicates that the mkdtemp routine is * available to exclusively create a uniquely named temporary directory. */ #define HAS_MKDTEMP /**/ /* HAS_MKOSTEMP: * This symbol, if defined, indicates that the mkostemp routine is * available to exclusively create and open a uniquely named (with a * suffix) temporary file. */ #define HAS_MKOSTEMP /**/ /* HAS_MKSTEMPS: * This symbol, if defined, indicates that the mkstemps routine is * available to exclusively create and open a uniquely named * (with a suffix) temporary file. */ #define HAS_MKSTEMPS /**/ /* HAS_MODFL: * This symbol, if defined, indicates that the modfl routine is * available to split a long double x into a fractional part f and * an integer part i such that |f| < 1.0 and (f + i) = x. */ /* HAS_MODFL_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the modfl() function. Otherwise, it is up * to the program to supply one. */ #define HAS_MODFL /**/ #define HAS_MODFL_PROTO /**/ /* HAS_MPROTECT: * This symbol, if defined, indicates that the mprotect system call is * available to modify the access protection of a memory mapped file. */ #define HAS_MPROTECT /**/ /* HAS_STRUCT_MSGHDR: * This symbol, if defined, indicates that the struct msghdr * is supported. */ #define HAS_STRUCT_MSGHDR /**/ /* HAS_NAN: * This symbol, if defined, indicates that the nan routine is * available to generate NaN. */ #define HAS_NAN /**/ /* HAS_NANOSLEEP: * This symbol, if defined, indicates that the nanosleep * system call is available to sleep with 1E-9 sec accuracy. */ #define HAS_NANOSLEEP /**/ /* HAS_NEARBYINT: * This symbol, if defined, indicates that the nearbyint routine is * available to return the integral value closest to (according to * the current rounding mode) to x. */ #define HAS_NEARBYINT /**/ /* HAS_NEWLOCALE: * This symbol, if defined, indicates that the newlocale routine is * available to return a new locale object or modify an existing * locale object. */ /* HAS_FREELOCALE: * This symbol, if defined, indicates that the freelocale routine is * available to deallocates the resources associated with a locale object. */ /* HAS_USELOCALE: * This symbol, if defined, indicates that the uselocale routine is * available to set the current locale for the calling thread. */ /* HAS_DUPLOCALE: * This symbol, if defined, indicates that the duplocale routine is * available to duplicate a locale object. */ /* HAS_QUERYLOCALE: * This symbol, if defined, indicates that the querylocale routine is * available to return the name of the locale for a category mask. */ /* I_XLOCALE: * This symbol, if defined, indicates to the C program that it should * include <xlocale.h> to get uselocale() and its friends. */ #define HAS_NEWLOCALE /**/ #define HAS_FREELOCALE /**/ #define HAS_USELOCALE /**/ #define HAS_DUPLOCALE /**/ /*#define HAS_QUERYLOCALE / **/ /*#define I_XLOCALE / **/ /* HAS_NEXTAFTER: * This symbol, if defined, indicates that the nextafter routine is * available to return the next machine representable double from * x in direction y. */ #define HAS_NEXTAFTER /**/ /* HAS_NEXTTOWARD: * This symbol, if defined, indicates that the nexttoward routine is * available to return the next machine representable long double from * x in direction y. */ #define HAS_NEXTTOWARD /**/ /* HAS_NL_LANGINFO: * This symbol, if defined, indicates that the nl_langinfo routine is * available to return local data. You will also need <langinfo.h> * and therefore I_LANGINFO. */ #define HAS_NL_LANGINFO /**/ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. */ #define HAS_OFF64_T /**/ /* HAS_PIPE2: * This symbol, if defined, indicates that the pipe2 routine is * available to create an inter-process channel. */ #define HAS_PIPE2 /**/ /* HAS_PRCTL: * This symbol, if defined, indicates that the prctl routine is * available to set process title. * Note that there are at least two prctl variants: Linux and Irix. * While they are somewhat similar, they are incompatible. */ /* HAS_PRCTL_SET_NAME: * This symbol, if defined, indicates that the prctl routine is * available to set process title and supports PR_SET_NAME. */ #define HAS_PRCTL /**/ #define HAS_PRCTL_SET_NAME /**/ /* HAS_PROCSELFEXE: * This symbol is defined if PROCSELFEXE_PATH is a symlink * to the absolute pathname of the executing program. */ /* PROCSELFEXE_PATH: * If HAS_PROCSELFEXE is defined this symbol is the filename * of the symbolic link pointing to the absolute pathname of * the executing program. */ #define HAS_PROCSELFEXE /**/ #if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH) #define PROCSELFEXE_PATH "/proc/self/exe" /**/ #endif /* HAS_PTHREAD_ATTR_SETSCOPE: * This symbol, if defined, indicates that the pthread_attr_setscope * system call is available to set the contention scope attribute of * a thread attribute object. */ #define HAS_PTHREAD_ATTR_SETSCOPE /**/ /* HAS_PTRDIFF_T: * This symbol will be defined if the C compiler supports ptrdiff_t. */ #define HAS_PTRDIFF_T /**/ /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need <sys/uio.h> * and there I_SYSUIO. */ #define HAS_READV /**/ /* HAS_RECVMSG: * This symbol, if defined, indicates that the recvmsg routine is * available to send structured socket messages. */ #define HAS_RECVMSG /**/ /* HAS_REMAINDER: * This symbol, if defined, indicates that the remainder routine is * available to return the floating-point remainder. */ #define HAS_REMAINDER /**/ /* HAS_REMQUO: * This symbol, if defined, indicates that the remquo routine is * available to return the remainder and part of quotient. */ #define HAS_REMQUO /**/ /* HAS_RINT: * This symbol, if defined, indicates that the rint routine is * available to return the nearest integral value to x as double * using the current rounding mode. */ #define HAS_RINT /**/ /* HAS_ROUND: * This symbol, if defined, indicates that the round routine is * available to round to nearest integer, away from zero. */ #define HAS_ROUND /**/ /* HAS_SBRK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the sbrk() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern void* sbrk(int); * extern void* sbrk(size_t); */ #define HAS_SBRK_PROTO /**/ /* HAS_SCALBN: * This symbol, if defined, indicates that the scalbn routine is * available to multiply floating-point number by integral power * of radix. */ #define HAS_SCALBN /**/ /* HAS_SCALBNL: * This symbol, if defined, indicates that the scalbnl routine is * available. If ilogbl is also present we can emulate frexpl. */ #define HAS_SCALBNL /**/ /* HAS_SENDMSG: * This symbol, if defined, indicates that the sendmsg routine is * available to send structured socket messages. */ #define HAS_SENDMSG /**/ /* HAS_SETITIMER: * This symbol, if defined, indicates that the setitimer routine is * available to set interval timers. */ #define HAS_SETITIMER /**/ /* HAS_SETLOCALE: * This symbol, if defined, indicates that the setlocale routine is * available to handle locale-specific ctype implementations. */ /* SETLOCALE_ACCEPTS_ANY_LOCALE_NAME: * This symbol, if defined, indicates that the setlocale routine is * available and it accepts any input locale name as valid. */ #define HAS_SETLOCALE /**/ /*#define SETLOCALE_ACCEPTS_ANY_LOCALE_NAME / **/ /* HAS_SETPROCTITLE: * This symbol, if defined, indicates that the setproctitle routine is * available to set process title. */ /*#define HAS_SETPROCTITLE / **/ /* HAS_SIGNBIT: * This symbol, if defined, indicates that the signbit routine is * available to check if the given number has the sign bit set. * This should include correct testing of -0.0. This will only be set * if the signbit() routine is safe to use with the NV type used internally * in perl. Users should call Perl_signbit(), which will be #defined to * the system's signbit() function or macro if this symbol is defined. */ #define HAS_SIGNBIT /**/ /* HAS_SIGPROCMASK: * This symbol, if defined, indicates that the sigprocmask * system call is available to examine or change the signal mask * of the calling process. */ #define HAS_SIGPROCMASK /**/ /* USE_SITECUSTOMIZE: * This symbol, if defined, indicates that sitecustomize should * be used. */ #ifndef USE_SITECUSTOMIZE /*#define USE_SITECUSTOMIZE / **/ #endif /* HAS_SNPRINTF: * This symbol, if defined, indicates that the snprintf () library * function is available for use. */ /* HAS_VSNPRINTF: * This symbol, if defined, indicates that the vsnprintf () library * function is available for use. */ #define HAS_SNPRINTF /**/ #define HAS_VSNPRINTF /**/ /* HAS_SOCKATMARK: * This symbol, if defined, indicates that the sockatmark routine is * available to test whether a socket is at the out-of-band mark. */ #define HAS_SOCKATMARK /**/ /* HAS_SOCKATMARK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the sockatmark() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int sockatmark(int); */ #define HAS_SOCKATMARK_PROTO /**/ /* HAS_SOCKS5_INIT: * This symbol, if defined, indicates that the socks5_init routine is * available to initialize SOCKS 5. */ /*#define HAS_SOCKS5_INIT / **/ /* HAS_SQRTL: * This symbol, if defined, indicates that the sqrtl routine is * available to do long double square roots. */ #define HAS_SQRTL /**/ /* HAS_SETRESGID_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the setresgid() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); */ #define HAS_SETRESGID_PROTO /**/ /* HAS_SETRESUID_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the setresuid() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); */ #define HAS_SETRESUID_PROTO /**/ /* HAS_STRUCT_STATFS_F_FLAGS: * This symbol, if defined, indicates that the struct statfs * does have the f_flags member containing the mount flags of * the filesystem containing the file. * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not * have statfs() and struct statfs, they have ustat() and getmnt() * with struct ustat and struct fs_data. */ #define HAS_STRUCT_STATFS_F_FLAGS /**/ /* HAS_STRUCT_STATFS: * This symbol, if defined, indicates that the struct statfs * to do statfs() is supported. */ #define HAS_STRUCT_STATFS /**/ /* HAS_FSTATVFS: * This symbol, if defined, indicates that the fstatvfs routine is * available to stat filesystems by file descriptors. */ #define HAS_FSTATVFS /**/ /* HAS_STRERROR_L: * This symbol, if defined, indicates that the strerror_l routine is * available to return the error message for a given errno value in * a particular locale (identified by a locale_t object). */ #define HAS_STRERROR_L /**/ /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. */ #define HAS_STRFTIME /**/ /* HAS_STRLCAT: * This symbol, if defined, indicates that the strlcat () routine is * available to do string concatenation. */ /*#define HAS_STRLCAT / **/ /* HAS_STRLCPY: * This symbol, if defined, indicates that the strlcpy () routine is * available to do string copying. */ /*#define HAS_STRLCPY / **/ /* HAS_STRNLEN: * This symbol, if defined, indicates that the strnlen () routine is * available to check the length of a string up to a maximum. */ #define HAS_STRNLEN /**/ /* HAS_STRTOLD: * This symbol, if defined, indicates that the strtold routine is * available to convert strings to long doubles. */ #define HAS_STRTOLD /**/ /* HAS_STRTOLL: * This symbol, if defined, indicates that the strtoll routine is * available to convert strings to long longs. */ #define HAS_STRTOLL /**/ /* HAS_STRTOQ: * This symbol, if defined, indicates that the strtoq routine is * available to convert strings to long longs (quads). */ #define HAS_STRTOQ /**/ /* HAS_STRTOULL: * This symbol, if defined, indicates that the strtoull routine is * available to convert strings to unsigned long longs. */ #define HAS_STRTOULL /**/ /* HAS_STRTOUQ: * This symbol, if defined, indicates that the strtouq routine is * available to convert strings to unsigned long longs (quads). */ #define HAS_STRTOUQ /**/ /* HAS_SYSCALL_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the syscall() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int syscall(int, ...); * extern int syscall(long, ...); */ #define HAS_SYSCALL_PROTO /**/ /* HAS_TELLDIR_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the telldir() function. Otherwise, it is up * to the program to supply one. A good guess is * extern long telldir(DIR*); */ #define HAS_TELLDIR_PROTO /**/ /* HAS_TGAMMA: * This symbol, if defined, indicates that the tgamma routine is * available to do the gamma function. See also HAS_LGAMMA. */ #define HAS_TGAMMA /**/ /* HAS_CTIME64: * This symbol, if defined, indicates that the ctime64 () routine is * available to do the 64bit variant of ctime () */ /* HAS_LOCALTIME64: * This symbol, if defined, indicates that the localtime64 () routine is * available to do the 64bit variant of localtime () */ /* HAS_GMTIME64: * This symbol, if defined, indicates that the gmtime64 () routine is * available to do the 64bit variant of gmtime () */ /* HAS_MKTIME64: * This symbol, if defined, indicates that the mktime64 () routine is * available to do the 64bit variant of mktime () */ /* HAS_DIFFTIME64: * This symbol, if defined, indicates that the difftime64 () routine is * available to do the 64bit variant of difftime () */ /* HAS_ASCTIME64: * This symbol, if defined, indicates that the asctime64 () routine is * available to do the 64bit variant of asctime () */ /*#define HAS_CTIME64 / **/ /*#define HAS_LOCALTIME64 / **/ /*#define HAS_GMTIME64 / **/ /*#define HAS_MKTIME64 / **/ /*#define HAS_DIFFTIME64 / **/ /*#define HAS_ASCTIME64 / **/ /* HAS_TIMEGM: * This symbol, if defined, indicates that the timegm routine is * available to do the opposite of gmtime () */ #define HAS_TIMEGM /**/ /* HAS_TOWLOWER: * This symbol, if defined, indicates that the towlower () routine is * available to do case conversion. */ #define HAS_TOWLOWER /**/ /* HAS_TOWUPPER: * This symbol, if defined, indicates that the towupper () routine is * available to do case conversion. */ #define HAS_TOWUPPER /**/ /* HAS_TRUNC: * This symbol, if defined, indicates that the trunc routine is * available to round doubles towards zero. */ #define HAS_TRUNC /**/ /* HAS_TRUNCL: * This symbol, if defined, indicates that the truncl routine is * available. If copysignl is also present we can emulate modfl. */ #define HAS_TRUNCL /**/ /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. */ #ifndef U32_ALIGNMENT_REQUIRED #define U32_ALIGNMENT_REQUIRED /**/ #endif /* HAS_UALARM: * This symbol, if defined, indicates that the ualarm routine is * available to do alarms with microsecond granularity. */ /*#define HAS_UALARM / **/ /* HAS_UNORDERED: * This symbol, if defined, indicates that the unordered routine is * available to check whether two doubles are unordered * (effectively: whether either of them is NaN) */ /*#define HAS_UNORDERED / **/ /* HAS_UNSETENV: * This symbol, if defined, indicates that the unsetenv () routine is * available for use. */ #define HAS_UNSETENV /**/ /* HAS_USLEEP_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the usleep() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int usleep(useconds_t); */ #define HAS_USLEEP_PROTO /**/ /* HAS_USTAT: * This symbol, if defined, indicates that the ustat system call is * available to query file system statistics by dev_t. */ /*#define HAS_USTAT / **/ /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. */ #define HAS_WCSCMP /**/ /* HAS_WCSXFRM: * This symbol, if defined, indicates that the wcsxfrm routine is * available to tranform a wide character string for wcscmp(). */ #define HAS_WCSXFRM /**/ /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. */ #define HAS_WRITEV /**/ /* DEFAULT_INC_EXCLUDES_DOT: * This symbol, if defined, removes the legacy default behavior of * including '.' at the end of @INC. */ #define DEFAULT_INC_EXCLUDES_DOT /**/ /* USE_DYNAMIC_LOADING: * This symbol, if defined, indicates that dynamic loading of * some sort is available. */ #define USE_DYNAMIC_LOADING /**/ /* FFLUSH_NULL: * This symbol, if defined, tells that fflush(NULL) correctly * flushes all pending stdio output without side effects. In * particular, on some platforms calling fflush(NULL) *still* * corrupts STDIN if it is a pipe. */ /* FFLUSH_ALL: * This symbol, if defined, tells that to flush * all pending stdio output one must loop through all * the stdio file handles stored in an array and fflush them. * Note that if fflushNULL is defined, fflushall will not * even be probed for and will be left undefined. */ #define FFLUSH_NULL /**/ /*#define FFLUSH_ALL / **/ /* I_BFD: * This symbol, if defined, indicates that <bfd.h> exists and * can be included. */ /*#define I_BFD / **/ /* I_CRYPT: * This symbol, if defined, indicates that <crypt.h> exists and * should be included. */ #define I_CRYPT /**/ /* DB_Prefix_t: * This symbol contains the type of the prefix structure element * in the <db.h> header file. In older versions of DB, it was * int, while in newer ones it is u_int32_t. */ /* DB_Hash_t: * This symbol contains the type of the prefix structure element * in the <db.h> header file. In older versions of DB, it was * int, while in newer ones it is size_t. */ /* DB_VERSION_MAJOR_CFG: * This symbol, if defined, defines the major version number of * Berkeley DB found in the <db.h> header when Perl was configured. */ /* DB_VERSION_MINOR_CFG: * This symbol, if defined, defines the minor version number of * Berkeley DB found in the <db.h> header when Perl was configured. * For DB version 1 this is always 0. */ /* DB_VERSION_PATCH_CFG: * This symbol, if defined, defines the patch version number of * Berkeley DB found in the <db.h> header when Perl was configured. * For DB version 1 this is always 0. */ #define DB_Hash_t u_int32_t /**/ #define DB_Prefix_t size_t /**/ #define DB_VERSION_MAJOR_CFG 5 /**/ #define DB_VERSION_MINOR_CFG 3 /**/ #define DB_VERSION_PATCH_CFG 28 /**/ /* I_FENV: * This symbol, if defined, indicates to the C program that it should * include <fenv.h> to get the floating point environment definitions. */ #define I_FENV /**/ /* I_FP: * This symbol, if defined, indicates that <fp.h> exists and * should be included. */ /*#define I_FP / **/ /* I_FP_CLASS: * This symbol, if defined, indicates that <fp_class.h> exists and * should be included. */ /*#define I_FP_CLASS / **/ /* I_IEEEFP: * This symbol, if defined, indicates that <ieeefp.h> exists and * should be included. */ /*#define I_IEEEFP / **/ /* I_INTTYPES: * This symbol, if defined, indicates to the C program that it should * include <inttypes.h>. */ #define I_INTTYPES /**/ /* I_LANGINFO: * This symbol, if defined, indicates that <langinfo.h> exists and * should be included. */ #define I_LANGINFO /**/ /* I_LIBUTIL: * This symbol, if defined, indicates that <libutil.h> exists and * should be included. */ /*#define I_LIBUTIL / **/ /* I_MALLOCMALLOC: * This symbol, if defined, indicates to the C program that it should * include <malloc/malloc.h>. */ /*#define I_MALLOCMALLOC / **/ /* I_MNTENT: * This symbol, if defined, indicates that <mntent.h> exists and * should be included. */ #define I_MNTENT /**/ /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. */ #define I_NETINET_TCP /**/ /* I_POLL: * This symbol, if defined, indicates that <poll.h> exists and * should be included. (see also HAS_POLL) */ #define I_POLL /**/ /* I_PROT: * This symbol, if defined, indicates that <prot.h> exists and * should be included. */ /*#define I_PROT / **/ /* I_QUADMATH: * This symbol, if defined, indicates that <quadmath.h> exists and * should be included. */ #define I_QUADMATH /**/ /* I_SHADOW: * This symbol, if defined, indicates that <shadow.h> exists and * should be included. */ #define I_SHADOW /**/ /* I_SOCKS: * This symbol, if defined, indicates that <socks.h> exists and * should be included. */ /*#define I_SOCKS / **/ /* I_STDBOOL: * This symbol, if defined, indicates that <stdbool.h> exists and * can be included. */ #define I_STDBOOL /**/ /* I_STDINT: * This symbol, if defined, indicates that <stdint.h> exists and * should be included. */ #define I_STDINT /**/ /* I_SUNMATH: * This symbol, if defined, indicates that <sunmath.h> exists and * should be included. */ /*#define I_SUNMATH / **/ /* I_SYSLOG: * This symbol, if defined, indicates that <syslog.h> exists and * should be included. */ #define I_SYSLOG /**/ /* I_SYSMODE: * This symbol, if defined, indicates that <sys/mode.h> exists and * should be included. */ /*#define I_SYSMODE / **/ /* I_SYS_MOUNT: * This symbol, if defined, indicates that <sys/mount.h> exists and * should be included. */ #define I_SYS_MOUNT /**/ /* I_SYS_STATFS: * This symbol, if defined, indicates that <sys/statfs.h> exists. */ #define I_SYS_STATFS /**/ /* I_SYS_STATVFS: * This symbol, if defined, indicates that <sys/statvfs.h> exists and * should be included. */ #define I_SYS_STATVFS /**/ /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ #define I_SYSUTSNAME /**/ /* I_SYS_VFS: * This symbol, if defined, indicates that <sys/vfs.h> exists and * should be included. */ #define I_SYS_VFS /**/ /* I_USTAT: * This symbol, if defined, indicates that <ustat.h> exists and * should be included. */ /*#define I_USTAT / **/ /* I_WCHAR: * This symbol, if defined, indicates to the C program that <wchar.h> * is available for inclusion */ #define I_WCHAR /**/ /* I_WCTYPE: * This symbol, if defined, indicates that <wctype.h> exists. */ #define I_WCTYPE /**/ /* DOUBLEINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the double precision infinity. */ /* DOUBLENANBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes (0xHH) for the double precision not-a-number. */ /* LONGDBLINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the long double precision infinity. */ /* LONGDBLNANBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes (0xHH) for the long double precision not-a-number. */ #define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ #define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff /**/ #define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ #define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. */ /* PERL_PRIgldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'g') for output. */ /* PERL_PRIeldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'e') for output. */ /* PERL_SCNfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ /* DOUBLEKIND: * DOUBLEKIND will be one of * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE * DOUBLE_IS_VAX_F_FLOAT * DOUBLE_IS_VAX_D_FLOAT * DOUBLE_IS_VAX_G_FLOAT * DOUBLE_IS_IBM_SINGLE_32_BIT * DOUBLE_IS_IBM_DOUBLE_64_BIT * DOUBLE_IS_CRAY_SINGLE_64_BIT * DOUBLE_IS_UNKNOWN_FORMAT */ /* DOUBLE_HAS_INF: * This symbol, if defined, indicates that the double has * the infinity. */ /* DOUBLE_HAS_NAN: * This symbol, if defined, indicates that the double has * the not-a-number. */ /* DOUBLE_HAS_NEGATIVE_ZERO: * This symbol, if defined, indicates that the double has * the negative_zero. */ /* DOUBLE_HAS_SUBNORMALS: * This symbol, if defined, indicates that the double has * the subnormals (denormals). */ /* DOUBLE_STYLE_CRAY: * This symbol, if defined, indicates that the double is * the 64-bit CRAY mainframe format. */ /* DOUBLE_STYLE_IBM: * This symbol, if defined, indicates that the double is * the 64-bit IBM mainframe format. */ /* DOUBLE_STYLE_IEEE: * This symbol, if defined, indicates that the double is * the 64-bit IEEE 754. */ /* DOUBLE_STYLE_VAX: * This symbol, if defined, indicates that the double is * the 64-bit VAX format D or G. */ #define DOUBLEKIND 3 /**/ #define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 #define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 #define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 #define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4 #define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5 #define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8 #define DOUBLE_IS_VAX_F_FLOAT 9 #define DOUBLE_IS_VAX_D_FLOAT 10 #define DOUBLE_IS_VAX_G_FLOAT 11 #define DOUBLE_IS_IBM_SINGLE_32_BIT 12 #define DOUBLE_IS_IBM_DOUBLE_64_BIT 13 #define DOUBLE_IS_CRAY_SINGLE_64_BIT 14 #define DOUBLE_IS_UNKNOWN_FORMAT -1 #define PERL_PRIfldbl "Lf" /**/ #define PERL_PRIgldbl "Lg" /**/ #define PERL_PRIeldbl "Le" /**/ #define PERL_SCNfldbl "Lf" /**/ #define DOUBLE_HAS_INF #define DOUBLE_HAS_NAN #define DOUBLE_HAS_NEGATIVE_ZERO #define DOUBLE_HAS_SUBNORMALS #undef DOUBLE_STYLE_CRAY #undef DOUBLE_STYLE_IBM #define DOUBLE_STYLE_IEEE #undef DOUBLE_STYLE_VAX /* DOUBLEMANTBITS: * This symbol, if defined, tells how many mantissa bits * there are in double precision floating point format. * Note that this is usually DBL_MANT_DIG minus one, since * with the standard IEEE 754 formats DBL_MANT_DIG includes * the implicit bit, which doesn't really exist. */ /* LONGDBLMANTBITS: * This symbol, if defined, tells how many mantissa bits * there are in long double precision floating point format. * Note that this can be LDBL_MANT_DIG minus one, * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. * The common x86-style 80-bit long double does not have * an implicit bit. */ /* NVMANTBITS: * This symbol, if defined, tells how many mantissa bits * (not including implicit bit) there are in a Perl NV. * This depends on which floating point type was chosen. */ #define DOUBLEMANTBITS 52 #define LONGDBLMANTBITS 64 #define NVMANTBITS 52 /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores * the variable argument list datatype, va_list, in a format * that cannot be copied by simple assignment, so that some * other means must be used when copying is required. * As such systems vary in their provision (or non-provision) * of copying mechanisms, handy.h defines a platform- * independent macro, Perl_va_copy(src, dst), to do the job. */ #define NEED_VA_COPY /**/ /* IVTYPE: * This symbol defines the C type used for Perl's IV. */ /* UVTYPE: * This symbol defines the C type used for Perl's UV. */ /* I8TYPE: * This symbol defines the C type used for Perl's I8. */ /* U8TYPE: * This symbol defines the C type used for Perl's U8. */ /* I16TYPE: * This symbol defines the C type used for Perl's I16. */ /* U16TYPE: * This symbol defines the C type used for Perl's U16. */ /* I32TYPE: * This symbol defines the C type used for Perl's I32. */ /* U32TYPE: * This symbol defines the C type used for Perl's U32. */ /* I64TYPE: * This symbol defines the C type used for Perl's I64. */ /* U64TYPE: * This symbol defines the C type used for Perl's U64. */ /* NVTYPE: * This symbol defines the C type used for Perl's NV. */ /* IVSIZE: * This symbol contains the sizeof(IV). */ /* UVSIZE: * This symbol contains the sizeof(UV). */ /* I8SIZE: * This symbol contains the sizeof(I8). */ /* U8SIZE: * This symbol contains the sizeof(U8). */ /* I16SIZE: * This symbol contains the sizeof(I16). */ /* U16SIZE: * This symbol contains the sizeof(U16). */ /* I32SIZE: * This symbol contains the sizeof(I32). */ /* U32SIZE: * This symbol contains the sizeof(U32). */ /* I64SIZE: * This symbol contains the sizeof(I64). */ /* U64SIZE: * This symbol contains the sizeof(U64). */ /* NVSIZE: * This symbol contains the sizeof(NV). * Note that some floating point formats have unused bytes. * The most notable example is the x86* 80-bit extended precision * which comes in byte sizes of 12 and 16 (for 32 and 64 bit * platforms, respectively), but which only uses 10 bytes. * Perl compiled with -Duselongdouble on x86* is like this. */ /* NV_PRESERVES_UV: * This symbol, if defined, indicates that a variable of type NVTYPE * can preserve all the bits of a variable of type UVTYPE. */ /* NV_PRESERVES_UV_BITS: * This symbol contains the number of bits a variable of type NVTYPE * can preserve of a variable of type UVTYPE. */ /* NV_OVERFLOWS_INTEGERS_AT: * This symbol gives the largest integer value that NVs can hold. This * value + 1.0 cannot be stored accurately. It is expressed as constant * floating point expression to reduce the chance of decimal/binary * conversion issues. If it can not be determined, the value 0 is given. */ /* NV_ZERO_IS_ALLBITS_ZERO: * This symbol, if defined, indicates that a variable of type NVTYPE * stores 0.0 in memory as all bits zero. */ #define IVTYPE long /**/ #define UVTYPE unsigned long /**/ #define I8TYPE signed char /**/ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ #define U16TYPE unsigned short /**/ #define I32TYPE int /**/ #define U32TYPE unsigned int /**/ #ifdef HAS_QUAD #define I64TYPE long /**/ #define U64TYPE unsigned long /**/ #endif #define NVTYPE double /**/ #define IVSIZE 8 /**/ #define UVSIZE 8 /**/ #define I8SIZE 1 /**/ #define U8SIZE 1 /**/ #define I16SIZE 2 /**/ #define U16SIZE 2 /**/ #define I32SIZE 4 /**/ #define U32SIZE 4 /**/ #ifdef HAS_QUAD #define I64SIZE 8 /**/ #define U64SIZE 8 /**/ #endif #define NVSIZE 8 /**/ #undef NV_PRESERVES_UV #define NV_PRESERVES_UV_BITS 53 #define NV_OVERFLOWS_INTEGERS_AT (256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0) #define NV_ZERO_IS_ALLBITS_ZERO #if UVSIZE == 8 # ifdef BYTEORDER # if BYTEORDER == 0x1234 # undef BYTEORDER # define BYTEORDER 0x12345678 # else # if BYTEORDER == 0x4321 # undef BYTEORDER # define BYTEORDER 0x87654321 # endif # endif # endif #endif /* IVdf: * This symbol defines the format string used for printing a Perl IV * as a signed decimal integer. */ /* UVuf: * This symbol defines the format string used for printing a Perl UV * as an unsigned decimal integer. */ /* UVof: * This symbol defines the format string used for printing a Perl UV * as an unsigned octal integer. */ /* UVxf: * This symbol defines the format string used for printing a Perl UV * as an unsigned hexadecimal integer in lowercase abcdef. */ /* UVXf: * This symbol defines the format string used for printing a Perl UV * as an unsigned hexadecimal integer in uppercase ABCDEF. */ /* NVef: * This symbol defines the format string used for printing a Perl NV * using %e-ish floating point format. */ /* NVff: * This symbol defines the format string used for printing a Perl NV * using %f-ish floating point format. */ /* NVgf: * This symbol defines the format string used for printing a Perl NV * using %g-ish floating point format. */ #define IVdf "ld" /**/ #define UVuf "lu" /**/ #define UVof "lo" /**/ #define UVxf "lx" /**/ #define UVXf "lX" /**/ #define NVef "e" /**/ #define NVff "f" /**/ #define NVgf "g" /**/ /* SELECT_MIN_BITS: * This symbol holds the minimum number of bits operated by select. * That is, if you do select(n, ...), how many bits at least will be * cleared in the masks if some activity is detected. Usually this * is either n or 32*ceil(n/32), especially many little-endians do * the latter. This is only useful if you have select(), naturally. */ #define SELECT_MIN_BITS 64 /**/ /* ST_INO_SIZE: * This variable contains the size of struct stat's st_ino in bytes. */ /* ST_INO_SIGN: * This symbol holds the signedness of struct stat's st_ino. * 1 for unsigned, -1 for signed. */ #define ST_INO_SIGN 1 /* st_ino sign */ #define ST_INO_SIZE 8 /* st_ino size */ /* STARTPERL: * This variable contains the string to put in front of a perl * script to make sure (one hopes) that it runs with perl and not * some shell. */ #define STARTPERL "#!/usr/bin/perl" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array * holding the stdio streams. */ /* STDIO_STREAM_ARRAY: * This symbol tells the name of the array holding the stdio streams. * Usual values include _iob, __iob, and __sF. */ /*#define HAS_STDIO_STREAM_ARRAY / **/ #ifdef HAS_STDIO_STREAM_ARRAY #define STDIO_STREAM_ARRAY #endif /* GMTIME_MAX: * This symbol contains the maximum value for the time_t offset that * the system function gmtime () accepts, and defaults to 0 */ /* GMTIME_MIN: * This symbol contains the minimum value for the time_t offset that * the system function gmtime () accepts, and defaults to 0 */ /* LOCALTIME_MAX: * This symbol contains the maximum value for the time_t offset that * the system function localtime () accepts, and defaults to 0 */ /* LOCALTIME_MIN: * This symbol contains the minimum value for the time_t offset that * the system function localtime () accepts, and defaults to 0 */ #define GMTIME_MAX 67768036191676799 /**/ #define GMTIME_MIN -62167219200 /**/ #define LOCALTIME_MAX 67768036191676799 /**/ #define LOCALTIME_MIN -62167219200 /**/ /* USE_64_BIT_INT: * This symbol, if defined, indicates that 64-bit integers should * be used when available. If not defined, the native integers * will be employed (be they 32 or 64 bits). The minimal possible * 64-bitness is used, just enough to get 64-bit integers into Perl. * This may mean using for example "long longs", while your memory * may still be limited to 2 gigabytes. */ /* USE_64_BIT_ALL: * This symbol, if defined, indicates that 64-bit integers should * be used when available. If not defined, the native integers * will be used (be they 32 or 64 bits). The maximal possible * 64-bitness is employed: LP64 or ILP64, meaning that you will * be able to use more than 2 gigabytes of memory. This mode is * even more binary incompatible than USE_64_BIT_INT. You may not * be able to run the resulting executable in a 32-bit CPU at all or * you may need at least to reboot your OS to 64-bit mode. */ #ifndef USE_64_BIT_INT #define USE_64_BIT_INT /**/ #endif #ifndef USE_64_BIT_ALL #define USE_64_BIT_ALL /**/ #endif /* USE_C_BACKTRACE: * This symbol, if defined, indicates that Perl should * be built with support for backtrace. */ /*#define USE_C_BACKTRACE / **/ /* USE_DTRACE: * This symbol, if defined, indicates that Perl should * be built with support for DTrace. */ /*#define USE_DTRACE / **/ /* USE_FAST_STDIO: * This symbol, if defined, indicates that Perl should * be built to use 'fast stdio'. * Defaults to define in Perls 5.8 and earlier, to undef later. */ #ifndef USE_FAST_STDIO /*#define USE_FAST_STDIO / **/ #endif /* USE_KERN_PROC_PATHNAME: * This symbol, if defined, indicates that we can use sysctl with * KERN_PROC_PATHNAME to get a full path for the executable, and hence * convert $^X to an absolute path. */ /*#define USE_KERN_PROC_PATHNAME / **/ /* USE_LARGE_FILES: * This symbol, if defined, indicates that large file support * should be used when available. */ #ifndef USE_LARGE_FILES #define USE_LARGE_FILES /**/ #endif /* USE_LONG_DOUBLE: * This symbol, if defined, indicates that long doubles should * be used when available. */ #ifndef USE_LONG_DOUBLE /*#define USE_LONG_DOUBLE / **/ #endif /* USE_MORE_BITS: * This symbol, if defined, indicates that 64-bit interfaces and * long doubles should be used when available. */ #ifndef USE_MORE_BITS /*#define USE_MORE_BITS / **/ #endif /* MULTIPLICITY: * This symbol, if defined, indicates that Perl should * be built to use multiplicity. */ #ifndef MULTIPLICITY #define MULTIPLICITY /**/ #endif /* USE_NSGETEXECUTABLEPATH: * This symbol, if defined, indicates that we can use _NSGetExecutablePath * and realpath to get a full path for the executable, and hence convert * $^X to an absolute path. */ /*#define USE_NSGETEXECUTABLEPATH / **/ /* USE_PERLIO: * This symbol, if defined, indicates that the PerlIO abstraction should * be used throughout. If not defined, stdio should be * used in a fully backward compatible manner. */ #ifndef USE_PERLIO #define USE_PERLIO /**/ #endif /* USE_QUADMATH: * This symbol, if defined, indicates that the quadmath library should * be used when available. */ #ifndef USE_QUADMATH /*#define USE_QUADMATH / **/ #endif /* USE_SOCKS: * This symbol, if defined, indicates that Perl should * be built to use socks. */ #ifndef USE_SOCKS /*#define USE_SOCKS / **/ #endif /* HAS_DRAND48_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the drand48() function. Otherwise, it is up * to the program to supply one. A good guess is * extern double drand48(void); */ #define HAS_DRAND48_PROTO /**/ /* HAS_GETHOST_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for gethostent(), gethostbyname(), and * gethostbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ #define HAS_GETHOST_PROTOS /**/ /* HAS_GETNET_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getnetent(), getnetbyname(), and * getnetbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ #define HAS_GETNET_PROTOS /**/ /* HAS_GETPROTO_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getprotoent(), getprotobyname(), and * getprotobyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ #define HAS_GETPROTO_PROTOS /**/ /* HAS_GETSERV_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getservent(), getservbyname(), and * getservbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ #define HAS_GETSERV_PROTOS /**/ /* HAS_LSEEK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the lseek() function. Otherwise, it is up * to the program to supply one. A good guess is * extern off_t lseek(int, off_t, int); */ #define HAS_LSEEK_PROTO /**/ /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). */ /* Netdb_hlen_t: * This symbol holds the type used for the 2nd argument * to gethostbyaddr(). */ /* Netdb_name_t: * This symbol holds the type used for the argument to * gethostbyname(). */ /* Netdb_net_t: * This symbol holds the type used for the 1st argument to * getnetbyaddr(). */ #define Netdb_host_t char * /**/ #define Netdb_hlen_t size_t /**/ #define Netdb_name_t const char * /**/ #define Netdb_net_t in_addr_t /**/ /* Select_fd_set_t: * This symbol holds the type used for the 2nd, 3rd, and 4th * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET * is defined, and 'int *' otherwise. This is only useful if you * have select(), of course. */ #define Select_fd_set_t fd_set * /**/ /* Sock_size_t: * This symbol holds the type used for the size argument of * various socket calls (just the base type, not the pointer-to). */ #define Sock_size_t socklen_t /**/ /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname * where library files may be held under a private library, for * instance. */ #define ARCHNAME "x86_64-linux-gnu-thread-multi" /**/ /* HAS_ASCTIME_R: * This symbol, if defined, indicates that the asctime_r routine * is available to asctime re-entrantly. */ /* ASCTIME_R_PROTO: * This symbol encodes the prototype of asctime_r. * It is zero if d_asctime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r * is defined. */ #define HAS_ASCTIME_R /**/ #define ASCTIME_R_PROTO REENTRANT_PROTO_B_SB /**/ /* HAS_CRYPT_R: * This symbol, if defined, indicates that the crypt_r routine * is available to crypt re-entrantly. */ /* CRYPT_R_PROTO: * This symbol encodes the prototype of crypt_r. * It is zero if d_crypt_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r * is defined. */ #define HAS_CRYPT_R /**/ #define CRYPT_R_PROTO REENTRANT_PROTO_B_CCS /**/ /* HAS_CTERMID_R: * This symbol, if defined, indicates that the ctermid_r routine * is available to ctermid re-entrantly. */ /* CTERMID_R_PROTO: * This symbol encodes the prototype of ctermid_r. * It is zero if d_ctermid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r * is defined. */ /*#define HAS_CTERMID_R / **/ #define CTERMID_R_PROTO 0 /**/ /* HAS_CTIME_R: * This symbol, if defined, indicates that the ctime_r routine * is available to ctime re-entrantly. */ /* CTIME_R_PROTO: * This symbol encodes the prototype of ctime_r. * It is zero if d_ctime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r * is defined. */ #define HAS_CTIME_R /**/ #define CTIME_R_PROTO REENTRANT_PROTO_B_SB /**/ /* HAS_DRAND48_R: * This symbol, if defined, indicates that the drand48_r routine * is available to drand48 re-entrantly. */ /* DRAND48_R_PROTO: * This symbol encodes the prototype of drand48_r. * It is zero if d_drand48_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r * is defined. */ #define HAS_DRAND48_R /**/ #define DRAND48_R_PROTO REENTRANT_PROTO_I_ST /**/ /* HAS_ENDGRENT_R: * This symbol, if defined, indicates that the endgrent_r routine * is available to endgrent re-entrantly. */ /* ENDGRENT_R_PROTO: * This symbol encodes the prototype of endgrent_r. * It is zero if d_endgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r * is defined. */ /*#define HAS_ENDGRENT_R / **/ #define ENDGRENT_R_PROTO 0 /**/ /* HAS_ENDHOSTENT_R: * This symbol, if defined, indicates that the endhostent_r routine * is available to endhostent re-entrantly. */ /* ENDHOSTENT_R_PROTO: * This symbol encodes the prototype of endhostent_r. * It is zero if d_endhostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r * is defined. */ /*#define HAS_ENDHOSTENT_R / **/ #define ENDHOSTENT_R_PROTO 0 /**/ /* HAS_ENDNETENT_R: * This symbol, if defined, indicates that the endnetent_r routine * is available to endnetent re-entrantly. */ /* ENDNETENT_R_PROTO: * This symbol encodes the prototype of endnetent_r. * It is zero if d_endnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r * is defined. */ /*#define HAS_ENDNETENT_R / **/ #define ENDNETENT_R_PROTO 0 /**/ /* HAS_ENDPROTOENT_R: * This symbol, if defined, indicates that the endprotoent_r routine * is available to endprotoent re-entrantly. */ /* ENDPROTOENT_R_PROTO: * This symbol encodes the prototype of endprotoent_r. * It is zero if d_endprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r * is defined. */ /*#define HAS_ENDPROTOENT_R / **/ #define ENDPROTOENT_R_PROTO 0 /**/ /* HAS_ENDPWENT_R: * This symbol, if defined, indicates that the endpwent_r routine * is available to endpwent re-entrantly. */ /* ENDPWENT_R_PROTO: * This symbol encodes the prototype of endpwent_r. * It is zero if d_endpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r * is defined. */ /*#define HAS_ENDPWENT_R / **/ #define ENDPWENT_R_PROTO 0 /**/ /* HAS_ENDSERVENT_R: * This symbol, if defined, indicates that the endservent_r routine * is available to endservent re-entrantly. */ /* ENDSERVENT_R_PROTO: * This symbol encodes the prototype of endservent_r. * It is zero if d_endservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r * is defined. */ /*#define HAS_ENDSERVENT_R / **/ #define ENDSERVENT_R_PROTO 0 /**/ /* HAS_GETGRENT_R: * This symbol, if defined, indicates that the getgrent_r routine * is available to getgrent re-entrantly. */ /* GETGRENT_R_PROTO: * This symbol encodes the prototype of getgrent_r. * It is zero if d_getgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r * is defined. */ #define HAS_GETGRENT_R /**/ #define GETGRENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/ /* HAS_GETGRGID_R: * This symbol, if defined, indicates that the getgrgid_r routine * is available to getgrgid re-entrantly. */ /* GETGRGID_R_PROTO: * This symbol encodes the prototype of getgrgid_r. * It is zero if d_getgrgid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r * is defined. */ #define HAS_GETGRGID_R /**/ #define GETGRGID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/ /* HAS_GETGRNAM_R: * This symbol, if defined, indicates that the getgrnam_r routine * is available to getgrnam re-entrantly. */ /* GETGRNAM_R_PROTO: * This symbol encodes the prototype of getgrnam_r. * It is zero if d_getgrnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r * is defined. */ #define HAS_GETGRNAM_R /**/ #define GETGRNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/ /* HAS_GETHOSTBYADDR_R: * This symbol, if defined, indicates that the gethostbyaddr_r routine * is available to gethostbyaddr re-entrantly. */ /* GETHOSTBYADDR_R_PROTO: * This symbol encodes the prototype of gethostbyaddr_r. * It is zero if d_gethostbyaddr_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r * is defined. */ #define HAS_GETHOSTBYADDR_R /**/ #define GETHOSTBYADDR_R_PROTO REENTRANT_PROTO_I_TsISBWRE /**/ /* HAS_GETHOSTBYNAME_R: * This symbol, if defined, indicates that the gethostbyname_r routine * is available to gethostbyname re-entrantly. */ /* GETHOSTBYNAME_R_PROTO: * This symbol encodes the prototype of gethostbyname_r. * It is zero if d_gethostbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r * is defined. */ #define HAS_GETHOSTBYNAME_R /**/ #define GETHOSTBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWRE /**/ /* HAS_GETHOSTENT_R: * This symbol, if defined, indicates that the gethostent_r routine * is available to gethostent re-entrantly. */ /* GETHOSTENT_R_PROTO: * This symbol encodes the prototype of gethostent_r. * It is zero if d_gethostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r * is defined. */ #define HAS_GETHOSTENT_R /**/ #define GETHOSTENT_R_PROTO REENTRANT_PROTO_I_SBWRE /**/ /* HAS_GETLOGIN_R: * This symbol, if defined, indicates that the getlogin_r routine * is available to getlogin re-entrantly. */ /* GETLOGIN_R_PROTO: * This symbol encodes the prototype of getlogin_r. * It is zero if d_getlogin_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r * is defined. */ #define HAS_GETLOGIN_R /**/ #define GETLOGIN_R_PROTO REENTRANT_PROTO_I_BW /**/ /* HAS_GETNETBYADDR_R: * This symbol, if defined, indicates that the getnetbyaddr_r routine * is available to getnetbyaddr re-entrantly. */ /* GETNETBYADDR_R_PROTO: * This symbol encodes the prototype of getnetbyaddr_r. * It is zero if d_getnetbyaddr_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r * is defined. */ #define HAS_GETNETBYADDR_R /**/ #define GETNETBYADDR_R_PROTO REENTRANT_PROTO_I_uISBWRE /**/ /* HAS_GETNETBYNAME_R: * This symbol, if defined, indicates that the getnetbyname_r routine * is available to getnetbyname re-entrantly. */ /* GETNETBYNAME_R_PROTO: * This symbol encodes the prototype of getnetbyname_r. * It is zero if d_getnetbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r * is defined. */ #define HAS_GETNETBYNAME_R /**/ #define GETNETBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWRE /**/ /* HAS_GETNETENT_R: * This symbol, if defined, indicates that the getnetent_r routine * is available to getnetent re-entrantly. */ /* GETNETENT_R_PROTO: * This symbol encodes the prototype of getnetent_r. * It is zero if d_getnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r * is defined. */ #define HAS_GETNETENT_R /**/ #define GETNETENT_R_PROTO REENTRANT_PROTO_I_SBWRE /**/ /* HAS_GETPROTOBYNAME_R: * This symbol, if defined, indicates that the getprotobyname_r routine * is available to getprotobyname re-entrantly. */ /* GETPROTOBYNAME_R_PROTO: * This symbol encodes the prototype of getprotobyname_r. * It is zero if d_getprotobyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r * is defined. */ #define HAS_GETPROTOBYNAME_R /**/ #define GETPROTOBYNAME_R_PROTO REENTRANT_PROTO_I_CSBWR /**/ /* HAS_GETPROTOBYNUMBER_R: * This symbol, if defined, indicates that the getprotobynumber_r routine * is available to getprotobynumber re-entrantly. */ /* GETPROTOBYNUMBER_R_PROTO: * This symbol encodes the prototype of getprotobynumber_r. * It is zero if d_getprotobynumber_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r * is defined. */ #define HAS_GETPROTOBYNUMBER_R /**/ #define GETPROTOBYNUMBER_R_PROTO REENTRANT_PROTO_I_ISBWR /**/ /* HAS_GETPROTOENT_R: * This symbol, if defined, indicates that the getprotoent_r routine * is available to getprotoent re-entrantly. */ /* GETPROTOENT_R_PROTO: * This symbol encodes the prototype of getprotoent_r. * It is zero if d_getprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r * is defined. */ #define HAS_GETPROTOENT_R /**/ #define GETPROTOENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/ /* HAS_GETPWENT_R: * This symbol, if defined, indicates that the getpwent_r routine * is available to getpwent re-entrantly. */ /* GETPWENT_R_PROTO: * This symbol encodes the prototype of getpwent_r. * It is zero if d_getpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r * is defined. */ #define HAS_GETPWENT_R /**/ #define GETPWENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/ /* HAS_GETPWNAM_R: * This symbol, if defined, indicates that the getpwnam_r routine * is available to getpwnam re-entrantly. */ /* GETPWNAM_R_PROTO: * This symbol encodes the prototype of getpwnam_r. * It is zero if d_getpwnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r * is defined. */ #define HAS_GETPWNAM_R /**/ #define GETPWNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/ /* HAS_GETPWUID_R: * This symbol, if defined, indicates that the getpwuid_r routine * is available to getpwuid re-entrantly. */ /* GETPWUID_R_PROTO: * This symbol encodes the prototype of getpwuid_r. * It is zero if d_getpwuid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r * is defined. */ #define HAS_GETPWUID_R /**/ #define GETPWUID_R_PROTO REENTRANT_PROTO_I_TSBWR /**/ /* HAS_GETSERVBYNAME_R: * This symbol, if defined, indicates that the getservbyname_r routine * is available to getservbyname re-entrantly. */ /* GETSERVBYNAME_R_PROTO: * This symbol encodes the prototype of getservbyname_r. * It is zero if d_getservbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r * is defined. */ #define HAS_GETSERVBYNAME_R /**/ #define GETSERVBYNAME_R_PROTO REENTRANT_PROTO_I_CCSBWR /**/ /* HAS_GETSERVBYPORT_R: * This symbol, if defined, indicates that the getservbyport_r routine * is available to getservbyport re-entrantly. */ /* GETSERVBYPORT_R_PROTO: * This symbol encodes the prototype of getservbyport_r. * It is zero if d_getservbyport_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r * is defined. */ #define HAS_GETSERVBYPORT_R /**/ #define GETSERVBYPORT_R_PROTO REENTRANT_PROTO_I_ICSBWR /**/ /* HAS_GETSERVENT_R: * This symbol, if defined, indicates that the getservent_r routine * is available to getservent re-entrantly. */ /* GETSERVENT_R_PROTO: * This symbol encodes the prototype of getservent_r. * It is zero if d_getservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r * is defined. */ #define HAS_GETSERVENT_R /**/ #define GETSERVENT_R_PROTO REENTRANT_PROTO_I_SBWR /**/ /* HAS_GETSPNAM_R: * This symbol, if defined, indicates that the getspnam_r routine * is available to getspnam re-entrantly. */ /* GETSPNAM_R_PROTO: * This symbol encodes the prototype of getspnam_r. * It is zero if d_getspnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r * is defined. */ #define HAS_GETSPNAM_R /**/ #define GETSPNAM_R_PROTO REENTRANT_PROTO_I_CSBWR /**/ /* HAS_GMTIME_R: * This symbol, if defined, indicates that the gmtime_r routine * is available to gmtime re-entrantly. */ /* GMTIME_R_PROTO: * This symbol encodes the prototype of gmtime_r. * It is zero if d_gmtime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r * is defined. */ #define HAS_GMTIME_R /**/ #define GMTIME_R_PROTO REENTRANT_PROTO_S_TS /**/ /* HAS_LOCALECONV_L: * This symbol, if defined, indicates that the localeconv_l routine is * available to query certain information about a locale. */ /*#define HAS_LOCALECONV_L / **/ /* HAS_LOCALTIME_R: * This symbol, if defined, indicates that the localtime_r routine * is available to localtime re-entrantly. */ /* LOCALTIME_R_NEEDS_TZSET: * Many libc's localtime_r implementations do not call tzset, * making them differ from localtime(), and making timezone * changes using $ENV{TZ} without explicitly calling tzset * impossible. This symbol makes us call tzset before localtime_r */ #define LOCALTIME_R_NEEDS_TZSET /**/ #ifdef LOCALTIME_R_NEEDS_TZSET #define L_R_TZSET tzset(), #else #define L_R_TZSET #endif /* LOCALTIME_R_PROTO: * This symbol encodes the prototype of localtime_r. * It is zero if d_localtime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r * is defined. */ #define HAS_LOCALTIME_R /**/ #define LOCALTIME_R_PROTO REENTRANT_PROTO_S_TS /**/ /* HAS_MBRLEN: * This symbol, if defined, indicates that the mbrlen routine is * available to get the length of multi-byte character strings. */ #define HAS_MBRLEN /**/ /* HAS_MBRTOWC: * This symbol, if defined, indicates that the mbrtowc routine is * available to convert a multi-byte character into a wide character. */ #define HAS_MBRTOWC /**/ /* HAS_THREAD_SAFE_NL_LANGINFO_L: * This symbol, when defined, indicates presence of the nl_langinfo_l() * function, and that it is thread-safe. */ #define HAS_THREAD_SAFE_NL_LANGINFO_L /**/ /* OLD_PTHREAD_CREATE_JOINABLE: * This symbol, if defined, indicates how to create pthread * in joinable (aka undetached) state. NOTE: not defined * if pthread.h already has defined PTHREAD_CREATE_JOINABLE * (the new version of the constant). * If defined, known values are PTHREAD_CREATE_UNDETACHED * and __UNDETACHED. */ /*#define OLD_PTHREAD_CREATE_JOINABLE / **/ /* HAS_PTHREAD_ATFORK: * This symbol, if defined, indicates that the pthread_atfork routine * is available to setup fork handlers. */ #define HAS_PTHREAD_ATFORK /**/ /* HAS_PTHREAD_YIELD: * This symbol, if defined, indicates that the pthread_yield * routine is available to yield the execution of the current * thread. sched_yield is preferable to pthread_yield. */ /* SCHED_YIELD: * This symbol defines the way to yield the execution of * the current thread. Known ways are sched_yield, * pthread_yield, and pthread_yield with NULL. */ /* HAS_SCHED_YIELD: * This symbol, if defined, indicates that the sched_yield * routine is available to yield the execution of the current * thread. sched_yield is preferable to pthread_yield. */ #define HAS_PTHREAD_YIELD /**/ #define SCHED_YIELD sched_yield() /**/ #define HAS_SCHED_YIELD /**/ /* HAS_RANDOM_R: * This symbol, if defined, indicates that the random_r routine * is available to random re-entrantly. */ /* RANDOM_R_PROTO: * This symbol encodes the prototype of random_r. * It is zero if d_random_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r * is defined. */ #define HAS_RANDOM_R /**/ #define RANDOM_R_PROTO REENTRANT_PROTO_I_St /**/ /* HAS_READDIR64_R: * This symbol, if defined, indicates that the readdir64_r routine * is available to readdir64 re-entrantly. */ /* READDIR64_R_PROTO: * This symbol encodes the prototype of readdir64_r. * It is zero if d_readdir64_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r * is defined. */ #define HAS_READDIR64_R /**/ #define READDIR64_R_PROTO REENTRANT_PROTO_I_TSR /**/ /* HAS_READDIR_R: * This symbol, if defined, indicates that the readdir_r routine * is available to readdir re-entrantly. */ /* READDIR_R_PROTO: * This symbol encodes the prototype of readdir_r. * It is zero if d_readdir_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r * is defined. */ #define HAS_READDIR_R /**/ #define READDIR_R_PROTO REENTRANT_PROTO_I_TSR /**/ /* HAS_SETGRENT_R: * This symbol, if defined, indicates that the setgrent_r routine * is available to setgrent re-entrantly. */ /* SETGRENT_R_PROTO: * This symbol encodes the prototype of setgrent_r. * It is zero if d_setgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r * is defined. */ /*#define HAS_SETGRENT_R / **/ #define SETGRENT_R_PROTO 0 /**/ /* HAS_SETHOSTENT_R: * This symbol, if defined, indicates that the sethostent_r routine * is available to sethostent re-entrantly. */ /* SETHOSTENT_R_PROTO: * This symbol encodes the prototype of sethostent_r. * It is zero if d_sethostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r * is defined. */ /*#define HAS_SETHOSTENT_R / **/ #define SETHOSTENT_R_PROTO 0 /**/ /* HAS_SETLOCALE_R: * This symbol, if defined, indicates that the setlocale_r routine * is available to setlocale re-entrantly. */ /* SETLOCALE_R_PROTO: * This symbol encodes the prototype of setlocale_r. * It is zero if d_setlocale_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r * is defined. */ /*#define HAS_SETLOCALE_R / **/ #define SETLOCALE_R_PROTO 0 /**/ /* HAS_SETNETENT_R: * This symbol, if defined, indicates that the setnetent_r routine * is available to setnetent re-entrantly. */ /* SETNETENT_R_PROTO: * This symbol encodes the prototype of setnetent_r. * It is zero if d_setnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r * is defined. */ /*#define HAS_SETNETENT_R / **/ #define SETNETENT_R_PROTO 0 /**/ /* HAS_SETPROTOENT_R: * This symbol, if defined, indicates that the setprotoent_r routine * is available to setprotoent re-entrantly. */ /* SETPROTOENT_R_PROTO: * This symbol encodes the prototype of setprotoent_r. * It is zero if d_setprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r * is defined. */ /*#define HAS_SETPROTOENT_R / **/ #define SETPROTOENT_R_PROTO 0 /**/ /* HAS_SETPWENT_R: * This symbol, if defined, indicates that the setpwent_r routine * is available to setpwent re-entrantly. */ /* SETPWENT_R_PROTO: * This symbol encodes the prototype of setpwent_r. * It is zero if d_setpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r * is defined. */ /*#define HAS_SETPWENT_R / **/ #define SETPWENT_R_PROTO 0 /**/ /* HAS_SETSERVENT_R: * This symbol, if defined, indicates that the setservent_r routine * is available to setservent re-entrantly. */ /* SETSERVENT_R_PROTO: * This symbol encodes the prototype of setservent_r. * It is zero if d_setservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r * is defined. */ /*#define HAS_SETSERVENT_R / **/ #define SETSERVENT_R_PROTO 0 /**/ /* HAS_SRAND48_R: * This symbol, if defined, indicates that the srand48_r routine * is available to srand48 re-entrantly. */ /* SRAND48_R_PROTO: * This symbol encodes the prototype of srand48_r. * It is zero if d_srand48_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r * is defined. */ #define HAS_SRAND48_R /**/ #define SRAND48_R_PROTO REENTRANT_PROTO_I_LS /**/ /* HAS_SRANDOM_R: * This symbol, if defined, indicates that the srandom_r routine * is available to srandom re-entrantly. */ /* SRANDOM_R_PROTO: * This symbol encodes the prototype of srandom_r. * It is zero if d_srandom_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r * is defined. */ #define HAS_SRANDOM_R /**/ #define SRANDOM_R_PROTO REENTRANT_PROTO_I_TS /**/ /* HAS_STRERROR_R: * This symbol, if defined, indicates that the strerror_r routine * is available to strerror re-entrantly. */ /* STRERROR_R_PROTO: * This symbol encodes the prototype of strerror_r. * It is zero if d_strerror_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r * is defined. */ #define HAS_STRERROR_R /**/ #define STRERROR_R_PROTO REENTRANT_PROTO_B_IBW /**/ /* HAS_STRTOD_L: * This symbol, if defined, indicates that the strtod_l routine is * available to convert strings to long doubles. */ #define HAS_STRTOD_L /**/ /* HAS_STRTOLD_L: * This symbol, if defined, indicates that the strtold_l routine is * available to convert strings to long doubles. */ #define HAS_STRTOLD_L /**/ /* HAS_TMPNAM_R: * This symbol, if defined, indicates that the tmpnam_r routine * is available to tmpnam re-entrantly. */ /* TMPNAM_R_PROTO: * This symbol encodes the prototype of tmpnam_r. * It is zero if d_tmpnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r * is defined. */ #define HAS_TMPNAM_R /**/ #define TMPNAM_R_PROTO REENTRANT_PROTO_B_B /**/ /* HAS_TTYNAME_R: * This symbol, if defined, indicates that the ttyname_r routine * is available to ttyname re-entrantly. */ /* TTYNAME_R_PROTO: * This symbol encodes the prototype of ttyname_r. * It is zero if d_ttyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r * is defined. */ #define HAS_TTYNAME_R /**/ #define TTYNAME_R_PROTO REENTRANT_PROTO_I_IBW /**/ /* HAS_WCRTOMB: * This symbol, if defined, indicates that the wcrtomb routine is * available to convert a wide character into a multi-byte character. */ #define HAS_WCRTOMB /**/ /* I_MACH_CTHREADS: * This symbol, if defined, indicates to the C program that it should * include <mach/cthreads.h>. */ /*#define I_MACH_CTHREADS / **/ /* I_PTHREAD: * This symbol, if defined, indicates to the C program that it should * include <pthread.h>. */ #define I_PTHREAD /**/ /* USE_ITHREADS: * This symbol, if defined, indicates that Perl should be built to * use the interpreter-based threading implementation. */ /* USE_5005THREADS: * This symbol, if defined, indicates that Perl should be built to * use the 5.005-based threading implementation. * Only valid up to 5.8.x. */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. */ /* USE_REENTRANT_API: * This symbol, if defined, indicates that Perl should * try to use the various _r versions of library functions. * This is extremely experimental. */ /*#define USE_5005THREADS / **/ #define USE_ITHREADS /**/ #if defined(USE_5005THREADS) && !defined(USE_ITHREADS) #define USE_THREADS /* until src is revised*/ #endif /*#define OLD_PTHREADS_API / **/ /*#define USE_REENTRANT_API / **/ /* HAS_TIME: * This symbol, if defined, indicates that the time() routine exists. */ /* Time_t: * This symbol holds the type returned by time(). It can be long, * or time_t on BSD sites (in which case <sys/types.h> should be * included). */ #define HAS_TIME /**/ #define Time_t time_t /* Time type */ /* HAS_TIMES: * This symbol, if defined, indicates that the times() routine exists. * Note that this became obsolete on some systems (SUNOS), which now * use getrusage(). It may be necessary to include <sys/times.h>. */ #define HAS_TIMES /**/ /* Fpos_t: * This symbol holds the type used to declare file positions in libc. * It can be fpos_t, long, uint, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Fpos_t fpos_t /* File position type */ /* Gid_t_f: * This symbol defines the format string used for printing a Gid_t. */ #define Gid_t_f "u" /**/ /* Gid_t_sign: * This symbol holds the signedness of a Gid_t. * 1 for unsigned, -1 for signed. */ #define Gid_t_sign 1 /* GID sign */ /* Gid_t_size: * This symbol holds the size of a Gid_t in bytes. */ #define Gid_t_size 4 /* GID size */ /* Gid_t: * This symbol holds the return type of getgid() and the type of * argument to setrgid() and related functions. Typically, * it is the type of group ids in the kernel. It can be int, ushort, * gid_t, etc... It may be necessary to include <sys/types.h> to get * any typedef'ed information. */ #define Gid_t gid_t /* Type for getgid(), etc... */ /* Off_t: * This symbol holds the type used to declare offsets in the kernel. * It can be int, long, off_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ /* LSEEKSIZE: * This symbol holds the number of bytes used by the Off_t. */ /* Off_t_size: * This symbol holds the number of bytes used by the Off_t. */ #define Off_t off_t /* <offset> type */ #define LSEEKSIZE 8 /* <offset> size */ #define Off_t_size 8 /* <offset> size */ /* Mode_t: * This symbol holds the type used to declare file modes * for systems calls. It is usually mode_t, but may be * int or unsigned short. It may be necessary to include <sys/types.h> * to get any typedef'ed information. */ #define Mode_t mode_t /* file mode parameter for system calls */ /* Pid_t: * This symbol holds the type used to declare process ids in the kernel. * It can be int, uint, pid_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Pid_t pid_t /* PID type */ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. */ #define Size_t_size 8 /**/ /* Size_t: * This symbol holds the type used to declare length parameters * for string functions. It is usually size_t, but may be * unsigned long, int, etc. It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Size_t size_t /* length parameter for string functions */ /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. */ #define Uid_t_f "u" /**/ /* Uid_t_sign: * This symbol holds the signedness of a Uid_t. * 1 for unsigned, -1 for signed. */ #define Uid_t_sign 1 /* UID sign */ /* Uid_t_size: * This symbol holds the size of a Uid_t in bytes. */ #define Uid_t_size 4 /* UID size */ /* Uid_t: * This symbol holds the type used to declare user ids in the kernel. * It can be int, ushort, uid_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Uid_t uid_t /* UID type */ #define PERL_BUILD_DATE "Sep 24 2021 16:10:58" #endif uudmap.h 0000644 00000001610 15140731057 0006211 0 ustar 00 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } regexp.h 0000644 00000107401 15140731057 0006215 0 ustar 00 /* regexp.h * * Copyright (C) 1993, 1994, 1996, 1997, 1999, 2000, 2001, 2003, * 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * Definitions etc. for regexp(3) routines. * * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], * not the System V one. */ #ifndef PLUGGABLE_RE_EXTENSION /* we don't want to include this stuff if we are inside of an external regex engine based on the core one - like re 'debug'*/ #include "utf8.h" typedef SSize_t regnode_offset; struct regnode { U8 flags; U8 type; U16 next_off; }; typedef struct regnode regnode; struct reg_substr_data; struct reg_data; struct regexp_engine; struct regexp; struct reg_substr_datum { SSize_t min_offset; /* min pos (in chars) that substr must appear */ SSize_t max_offset /* max pos (in chars) that substr must appear */; SV *substr; /* non-utf8 variant */ SV *utf8_substr; /* utf8 variant */ SSize_t end_shift; /* how many fixed chars must end the string */ }; struct reg_substr_data { U8 check_ix; /* index into data[] of check substr */ struct reg_substr_datum data[3]; /* Actual array */ }; #ifdef PERL_ANY_COW #define SV_SAVED_COPY SV *saved_copy; /* If non-NULL, SV which is COW from original */ #else #define SV_SAVED_COPY #endif /* offsets within a string of a particular /(.)/ capture */ typedef struct regexp_paren_pair { SSize_t start; SSize_t end; /* 'start_tmp' records a new opening position before the matching end * has been found, so that the old start and end values are still * valid, e.g. * "abc" =~ /(.(?{print "[$1]"}))+/ *outputs [][a][b] * This field is not part of the API. */ SSize_t start_tmp; } regexp_paren_pair; #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C) #define _invlist_union(a, b, output) _invlist_union_maybe_complement_2nd(a, b, FALSE, output) #define _invlist_intersection(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, FALSE, output) /* Subtracting b from a leaves in a everything that was there that isn't in b, * that is the intersection of a with b's complement */ #define _invlist_subtract(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, TRUE, output) #endif /* record the position of a (?{...}) within a pattern */ struct reg_code_block { STRLEN start; STRLEN end; OP *block; REGEXP *src_regex; }; /* array of reg_code_block's plus header info */ struct reg_code_blocks { int refcnt; /* we may be pointed to from a regex and from the savestack */ int count; /* how many code blocks */ struct reg_code_block *cb; /* array of reg_code_block's */ }; /* The regexp/REGEXP struct, see L<perlreapi> for further documentation on the individual fields. The struct is ordered so that the most commonly used fields are placed at the start. Any patch that adds items to this struct will need to include changes to F<sv.c> (C<Perl_re_dup()>) and F<regcomp.c> (C<pregfree()>). This involves freeing or cloning items in the regexp's data array based on the data item's type. */ typedef struct regexp { _XPV_HEAD; const struct regexp_engine* engine; /* what engine created this regexp? */ REGEXP *mother_re; /* what re is this a lightweight copy of? */ HV *paren_names; /* Optional hash of paren names */ /*---------------------------------------------------------------------- * Information about the match that the perl core uses to manage things */ U32 extflags; /* Flags used both externally and internally */ U32 nparens; /* number of capture buffers */ SSize_t minlen; /* minimum possible number of chars in string to match */ SSize_t minlenret; /* mininum possible number of chars in $& */ STRLEN gofs; /* chars left of pos that we search from */ /* substring data about strings that must appear in * the final match, used for optimisations */ struct reg_substr_data *substrs; /* private engine specific data */ void *pprivate; /* Data private to the regex engine which * created this object. */ U32 intflags; /* Engine Specific Internal flags */ /*---------------------------------------------------------------------- * Data about the last/current match. These are modified during matching */ U32 lastparen; /* highest close paren matched ($+) */ regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */ char **recurse_locinput; /* used to detect infinite recursion, XXX: move to internal */ U32 lastcloseparen; /* last close paren matched ($^N) */ /*---------------------------------------------------------------------- */ /* offset from wrapped to the start of precomp */ PERL_BITFIELD32 pre_prefix:4; /* original flags used to compile the pattern, may differ from * extflags in various ways */ PERL_BITFIELD32 compflags:9; /*---------------------------------------------------------------------- */ char *subbeg; /* saved or original string so \digit works forever. */ SV_SAVED_COPY /* If non-NULL, SV which is COW from original */ SSize_t sublen; /* Length of string pointed by subbeg */ SSize_t suboffset; /* byte offset of subbeg from logical start of str */ SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ SSize_t maxlen; /* minimum possible number of chars in string to match */ /*---------------------------------------------------------------------- */ CV *qr_anoncv; /* the anon sub wrapped round qr/(?{..})/ */ } regexp; #define RXp_PAREN_NAMES(rx) ((rx)->paren_names) /* used for high speed searches */ typedef struct re_scream_pos_data_s { char **scream_olds; /* match pos */ SSize_t *scream_pos; /* Internal iterator of scream. */ } re_scream_pos_data; /* regexp_engine structure. This is the dispatch table for regexes. * Any regex engine implementation must be able to build one of these. */ typedef struct regexp_engine { REGEXP* (*comp) (pTHX_ SV * const pattern, U32 flags); I32 (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* sv, void* data, U32 flags); char* (*intuit) (pTHX_ REGEXP * const rx, SV *sv, const char * const strbeg, char *strpos, char *strend, const U32 flags, re_scream_pos_data *data); SV* (*checkstr) (pTHX_ REGEXP * const rx); void (*rxfree) (pTHX_ REGEXP * const rx); void (*numbered_buff_FETCH) (pTHX_ REGEXP * const rx, const I32 paren, SV * const sv); void (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren, SV const * const value); I32 (*numbered_buff_LENGTH) (pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren); SV* (*named_buff) (pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags); SV* (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags); SV* (*qr_package)(pTHX_ REGEXP * const rx); #ifdef USE_ITHREADS void* (*dupe) (pTHX_ REGEXP * const rx, CLONE_PARAMS *param); #endif REGEXP* (*op_comp) (pTHX_ SV ** const patternp, int pat_count, OP *expr, const struct regexp_engine* eng, REGEXP *old_re, bool *is_bare_re, U32 orig_rx_flags, U32 pm_flags); } regexp_engine; /* These are passed to the numbered capture variable callbacks as the paren name. >= 1 is reserved for actual numbered captures, i.e. $1, $2 etc. */ #define RX_BUFF_IDX_CARET_PREMATCH -5 /* ${^PREMATCH} */ #define RX_BUFF_IDX_CARET_POSTMATCH -4 /* ${^POSTMATCH} */ #define RX_BUFF_IDX_CARET_FULLMATCH -3 /* ${^MATCH} */ #define RX_BUFF_IDX_PREMATCH -2 /* $` */ #define RX_BUFF_IDX_POSTMATCH -1 /* $' */ #define RX_BUFF_IDX_FULLMATCH 0 /* $& */ /* Flags that are passed to the named_buff and named_buff_iter callbacks above. Those routines are called from universal.c via the Tie::Hash::NamedCapture interface for %+ and %- and the re:: functions in the same file. */ /* The Tie::Hash::NamedCapture operation this is part of, if any */ #define RXapif_FETCH 0x0001 #define RXapif_STORE 0x0002 #define RXapif_DELETE 0x0004 #define RXapif_CLEAR 0x0008 #define RXapif_EXISTS 0x0010 #define RXapif_SCALAR 0x0020 #define RXapif_FIRSTKEY 0x0040 #define RXapif_NEXTKEY 0x0080 /* Whether %+ or %- is being operated on */ #define RXapif_ONE 0x0100 /* %+ */ #define RXapif_ALL 0x0200 /* %- */ /* Whether this is being called from a re:: function */ #define RXapif_REGNAME 0x0400 #define RXapif_REGNAMES 0x0800 #define RXapif_REGNAMES_COUNT 0x1000 /* =head1 REGEXP Functions =for apidoc Am|REGEXP *|SvRX|SV *sv Convenience macro to get the REGEXP from a SV. This is approximately equivalent to the following snippet: if (SvMAGICAL(sv)) mg_get(sv); if (SvROK(sv)) sv = MUTABLE_SV(SvRV(sv)); if (SvTYPE(sv) == SVt_REGEXP) return (REGEXP*) sv; C<NULL> will be returned if a REGEXP* is not found. =for apidoc Am|bool|SvRXOK|SV* sv Returns a boolean indicating whether the SV (or the one it references) is a REGEXP. If you want to do something with the REGEXP* later use SvRX instead and check for NULL. =cut */ #define SvRX(sv) (Perl_get_re_arg(aTHX_ sv)) #define SvRXOK(sv) cBOOL(Perl_get_re_arg(aTHX_ sv)) /* Flags stored in regexp->extflags * These are used by code external to the regexp engine * * Note that the flags whose names start with RXf_PMf_ are defined in * op_reg_common.h, being copied from the parallel flags of op_pmflags * * NOTE: if you modify any RXf flags you should run regen.pl or * regen/regcomp.pl so that regnodes.h is updated with the changes. * */ #include "op_reg_common.h" #define RXf_PMf_STD_PMMOD (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_EXTENDED_MORE|RXf_PMf_NOCAPTURE) #define CASE_STD_PMMOD_FLAGS_PARSE_SET(pmfl, x_count) \ case IGNORE_PAT_MOD: *(pmfl) |= RXf_PMf_FOLD; break; \ case MULTILINE_PAT_MOD: *(pmfl) |= RXf_PMf_MULTILINE; break; \ case SINGLE_PAT_MOD: *(pmfl) |= RXf_PMf_SINGLELINE; break; \ case XTENDED_PAT_MOD: if (x_count == 0) { \ *(pmfl) |= RXf_PMf_EXTENDED; \ *(pmfl) &= ~RXf_PMf_EXTENDED_MORE; \ } \ else { \ *(pmfl) |= RXf_PMf_EXTENDED \ |RXf_PMf_EXTENDED_MORE; \ } \ (x_count)++; break; \ case NOCAPTURE_PAT_MOD: *(pmfl) |= RXf_PMf_NOCAPTURE; break; /* Note, includes charset ones, assumes 0 is the default for them */ #define STD_PMMOD_FLAGS_CLEAR(pmfl) \ *(pmfl) &= ~(RXf_PMf_FOLD|RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_EXTENDED|RXf_PMf_EXTENDED_MORE|RXf_PMf_CHARSET|RXf_PMf_NOCAPTURE) /* chars and strings used as regex pattern modifiers * Singular is a 'c'har, plural is a "string" * * NOTE, KEEPCOPY was originally 'k', but was changed to 'p' for preserve * for compatibility reasons with Regexp::Common which highjacked (?k:...) * for its own uses. So 'k' is out as well. */ #define DEFAULT_PAT_MOD '^' /* Short for all the default modifiers */ #define EXEC_PAT_MOD 'e' #define KEEPCOPY_PAT_MOD 'p' #define NOCAPTURE_PAT_MOD 'n' #define ONCE_PAT_MOD 'o' #define GLOBAL_PAT_MOD 'g' #define CONTINUE_PAT_MOD 'c' #define MULTILINE_PAT_MOD 'm' #define SINGLE_PAT_MOD 's' #define IGNORE_PAT_MOD 'i' #define XTENDED_PAT_MOD 'x' #define NONDESTRUCT_PAT_MOD 'r' #define LOCALE_PAT_MOD 'l' #define UNICODE_PAT_MOD 'u' #define DEPENDS_PAT_MOD 'd' #define ASCII_RESTRICT_PAT_MOD 'a' #define ONCE_PAT_MODS "o" #define KEEPCOPY_PAT_MODS "p" #define NOCAPTURE_PAT_MODS "n" #define EXEC_PAT_MODS "e" #define LOOP_PAT_MODS "gc" #define NONDESTRUCT_PAT_MODS "r" #define LOCALE_PAT_MODS "l" #define UNICODE_PAT_MODS "u" #define DEPENDS_PAT_MODS "d" #define ASCII_RESTRICT_PAT_MODS "a" #define ASCII_MORE_RESTRICT_PAT_MODS "aa" /* This string is expected by regcomp.c to be ordered so that the first * character is the flag in bit RXf_PMf_STD_PMMOD_SHIFT of extflags; the next * character is bit +1, etc. */ #define STD_PAT_MODS "msixxn" #define CHARSET_PAT_MODS ASCII_RESTRICT_PAT_MODS DEPENDS_PAT_MODS LOCALE_PAT_MODS UNICODE_PAT_MODS /* This string is expected by XS_re_regexp_pattern() in universal.c to be ordered * so that the first character is the flag in bit RXf_PMf_STD_PMMOD_SHIFT of * extflags; the next character is in bit +1, etc. */ #define INT_PAT_MODS STD_PAT_MODS KEEPCOPY_PAT_MODS #define EXT_PAT_MODS ONCE_PAT_MODS KEEPCOPY_PAT_MODS NOCAPTURE_PAT_MODS #define QR_PAT_MODS STD_PAT_MODS EXT_PAT_MODS CHARSET_PAT_MODS #define M_PAT_MODS QR_PAT_MODS LOOP_PAT_MODS #define S_PAT_MODS M_PAT_MODS EXEC_PAT_MODS NONDESTRUCT_PAT_MODS /* * NOTE: if you modify any RXf flags you should run regen.pl or * regen/regcomp.pl so that regnodes.h is updated with the changes. * */ /* Set in Perl_pmruntime for a split. Will be used by regex engines to check whether they should set RXf_SKIPWHITE */ #define RXf_SPLIT RXf_PMf_SPLIT /* Currently the regex flags occupy a single 32-bit word. Not all bits are * currently used. The lower bits are shared with their corresponding PMf flag * bits, up to but not including _RXf_PMf_SHIFT_NEXT. The unused bits * immediately follow; finally the used RXf-only (unshared) bits, so that the * highest bit in the word is used. This gathers all the unused bits as a pool * in the middle, like so: 11111111111111110000001111111111 * where the '1's represent used bits, and the '0's unused. This design allows * us to allocate off one end of the pool if we need to add a shared bit, and * off the other end if we need a non-shared bit, without disturbing the other * bits. This maximizes the likelihood of being able to change things without * breaking binary compatibility. * * To add shared bits, do so in op_reg_common.h. This should change * _RXf_PMf_SHIFT_NEXT so that things won't compile. Then come to regexp.h and * op.h and adjust the constant adders in the definitions of RXf_BASE_SHIFT and * Pmf_BASE_SHIFT down by the number of shared bits you added. That's it. * Things should be binary compatible. But if either of these gets to having * to subtract rather than add, leave at 0 and instead adjust all the entries * that are in terms of it. But if the first one of those is already * RXf_BASE_SHIFT+0, there are no bits left, and a redesign is in order. * * To remove unshared bits, just delete its entry. If you're where breaking * binary compatibility is ok to do, you might want to adjust things to move * the newly opened space so that it gets absorbed into the common pool. * * To add unshared bits, first use up any gaps in the middle. Otherwise, * allocate off the low end until you get to RXf_BASE_SHIFT+0. If that isn't * enough, move RXf_BASE_SHIFT down (if possible) and add the new bit at the * other end instead; this preserves binary compatibility. * * For the regexp bits, PL_reg_extflags_name[] in regnodes.h has a comment * giving which bits are used/unused */ #define RXf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT + 2) /* What we have seen */ #define RXf_NO_INPLACE_SUBST (1U<<(RXf_BASE_SHIFT+2)) #define RXf_EVAL_SEEN (1U<<(RXf_BASE_SHIFT+3)) /* Special */ #define RXf_UNBOUNDED_QUANTIFIER_SEEN (1U<<(RXf_BASE_SHIFT+4)) #define RXf_CHECK_ALL (1U<<(RXf_BASE_SHIFT+5)) /* UTF8 related */ #define RXf_MATCH_UTF8 (1U<<(RXf_BASE_SHIFT+6)) /* $1 etc are utf8 */ /* Intuit related */ #define RXf_USE_INTUIT_NOML (1U<<(RXf_BASE_SHIFT+7)) #define RXf_USE_INTUIT_ML (1U<<(RXf_BASE_SHIFT+8)) #define RXf_INTUIT_TAIL (1U<<(RXf_BASE_SHIFT+9)) #define RXf_USE_INTUIT (RXf_USE_INTUIT_NOML|RXf_USE_INTUIT_ML) /* Do we have some sort of anchor? */ #define RXf_IS_ANCHORED (1U<<(RXf_BASE_SHIFT+10)) /* Copy and tainted info */ #define RXf_COPY_DONE (1U<<(RXf_BASE_SHIFT+11)) /* post-execution: $1 et al are tainted */ #define RXf_TAINTED_SEEN (1U<<(RXf_BASE_SHIFT+12)) /* this pattern was tainted during compilation */ #define RXf_TAINTED (1U<<(RXf_BASE_SHIFT+13)) /* Flags indicating special patterns */ #define RXf_START_ONLY (1U<<(RXf_BASE_SHIFT+14)) /* Pattern is /^/ */ #define RXf_SKIPWHITE (1U<<(RXf_BASE_SHIFT+15)) /* Pattern is for a */ /* split " " */ #define RXf_WHITE (1U<<(RXf_BASE_SHIFT+16)) /* Pattern is /\s+/ */ #define RXf_NULL (1U<<(RXf_BASE_SHIFT+17)) /* Pattern is // */ /* See comments at the beginning of these defines about adding bits. The * highest bit position should be used, so that if RXf_BASE_SHIFT gets * increased, the #error below will be triggered so that you will be reminded * to adjust things at the other end to keep the bit positions unchanged */ #if RXf_BASE_SHIFT+17 > 31 # error Too many RXf_PMf bits used. See comments at beginning of these for what to do #endif /* * NOTE: if you modify any RXf flags you should run regen.pl or * regen/regcomp.pl so that regnodes.h is updated with the changes. * */ #ifdef NO_TAINT_SUPPORT # define RX_ISTAINTED(rx_sv) 0 # define RXp_ISTAINTED(prog) 0 # define RX_TAINT_on(rx_sv) NOOP # define RXp_MATCH_TAINTED(prog) 0 # define RX_MATCH_TAINTED(rx_sv) 0 # define RXp_MATCH_TAINTED_on(prog) NOOP # define RX_MATCH_TAINTED_on(rx_sv) NOOP # define RXp_MATCH_TAINTED_off(prog) NOOP # define RX_MATCH_TAINTED_off(rx_sv) NOOP #else # define RX_ISTAINTED(rx_sv) (RX_EXTFLAGS(rx_sv) & RXf_TAINTED) # define RXp_ISTAINTED(prog) (RXp_EXTFLAGS(prog) & RXf_TAINTED) # define RX_TAINT_on(rx_sv) (RX_EXTFLAGS(rx_sv) |= RXf_TAINTED) # define RXp_MATCH_TAINTED(prog) (RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN) # define RX_MATCH_TAINTED(rx_sv) (RX_EXTFLAGS(rx_sv) & RXf_TAINTED_SEEN) # define RXp_MATCH_TAINTED_on(prog) (RXp_EXTFLAGS(prog) |= RXf_TAINTED_SEEN) # define RX_MATCH_TAINTED_on(rx_sv) (RX_EXTFLAGS(rx_sv) |= RXf_TAINTED_SEEN) # define RXp_MATCH_TAINTED_off(prog) (RXp_EXTFLAGS(prog) &= ~RXf_TAINTED_SEEN) # define RX_MATCH_TAINTED_off(rx_sv) (RX_EXTFLAGS(rx_sv) &= ~RXf_TAINTED_SEEN) #endif #define RXp_HAS_CUTGROUP(prog) ((prog)->intflags & PREGf_CUTGROUP_SEEN) #define RX_MATCH_TAINTED_set(rx_sv, t) ((t) \ ? RX_MATCH_TAINTED_on(rx_sv) \ : RX_MATCH_TAINTED_off(rx_sv)) #define RXp_MATCH_COPIED(prog) (RXp_EXTFLAGS(prog) & RXf_COPY_DONE) #define RX_MATCH_COPIED(rx_sv) (RX_EXTFLAGS(rx_sv) & RXf_COPY_DONE) #define RXp_MATCH_COPIED_on(prog) (RXp_EXTFLAGS(prog) |= RXf_COPY_DONE) #define RX_MATCH_COPIED_on(rx_sv) (RX_EXTFLAGS(rx_sv) |= RXf_COPY_DONE) #define RXp_MATCH_COPIED_off(prog) (RXp_EXTFLAGS(prog) &= ~RXf_COPY_DONE) #define RX_MATCH_COPIED_off(rx_sv) (RX_EXTFLAGS(rx_sv) &= ~RXf_COPY_DONE) #define RX_MATCH_COPIED_set(rx_sv,t) ((t) \ ? RX_MATCH_COPIED_on(rx_sv) \ : RX_MATCH_COPIED_off(rx_sv)) #define RXp_EXTFLAGS(rx) ((rx)->extflags) #define RXp_COMPFLAGS(rx) ((rx)->compflags) /* For source compatibility. We used to store these explicitly. */ #define RX_PRECOMP(rx_sv) (RX_WRAPPED(rx_sv) \ + ReANY(rx_sv)->pre_prefix) #define RX_PRECOMP_const(rx_sv) (RX_WRAPPED_const(rx_sv) \ + ReANY(rx_sv)->pre_prefix) /* FIXME? Are we hardcoding too much here and constraining plugin extension writers? Specifically, the value 1 assumes that the wrapped version always has exactly one character at the end, a ')'. Will that always be true? */ #define RX_PRELEN(rx_sv) (RX_WRAPLEN(rx_sv) \ - ReANY(rx_sv)->pre_prefix - 1) #define RX_WRAPPED(rx_sv) SvPVX(rx_sv) #define RX_WRAPPED_const(rx_sv) SvPVX_const(rx_sv) #define RX_WRAPLEN(rx_sv) SvCUR(rx_sv) #define RX_CHECK_SUBSTR(rx_sv) (ReANY(rx_sv)->check_substr) #define RX_REFCNT(rx_sv) SvREFCNT(rx_sv) #define RX_EXTFLAGS(rx_sv) RXp_EXTFLAGS(ReANY(rx_sv)) #define RX_COMPFLAGS(rx_sv) RXp_COMPFLAGS(ReANY(rx_sv)) #define RXp_ENGINE(prog) ((prog)->engine) #define RX_ENGINE(rx_sv) (RXp_ENGINE(ReANY(rx_sv))) #define RXp_SUBBEG(prog) (prog->subbeg) #define RX_SUBBEG(rx_sv) (RXp_SUBBEG(ReANY(rx_sv))) #define RXp_SUBOFFSET(prog) (prog->suboffset) #define RX_SUBOFFSET(rx_sv) (RXp_SUBOFFSET(ReANY(rx_sv))) #define RX_SUBCOFFSET(rx_sv) (ReANY(rx_sv)->subcoffset) #define RXp_OFFS(prog) (prog->offs) #define RX_OFFS(rx_sv) (RXp_OFFS(ReANY(rx_sv))) #define RXp_NPARENS(prog) (prog->nparens) #define RX_NPARENS(rx_sv) (RXp_NPARENS(ReANY(rx_sv))) #define RX_SUBLEN(rx_sv) (ReANY(rx_sv)->sublen) #define RXp_MINLEN(prog) (prog->minlen) #define RX_MINLEN(rx_sv) (RXp_MINLEN(ReANY(rx_sv))) #define RXp_MINLENRET(prog) (prog->minlenret) #define RX_MINLENRET(rx_sv) (RXp_MINLENRET(ReANY(rx_sv))) #define RXp_GOFS(prog) (prog->gofs) #define RX_GOFS(rx_sv) (RXp_GOFS(ReANY(rx_sv))) #define RX_LASTPAREN(rx_sv) (ReANY(rx_sv)->lastparen) #define RX_LASTCLOSEPAREN(rx_sv) (ReANY(rx_sv)->lastcloseparen) #define RXp_SAVED_COPY(prog) (prog->saved_copy) #define RX_SAVED_COPY(rx_sv) (RXp_SAVED_COPY(ReANY(rx_sv))) /* last match was zero-length */ #define RXp_ZERO_LEN(prog) \ (RXp_OFFS(prog)[0].start + (SSize_t)RXp_GOFS(prog) \ == RXp_OFFS(prog)[0].end) #define RX_ZERO_LEN(rx_sv) (RXp_ZERO_LEN(ReANY(rx_sv))) #endif /* PLUGGABLE_RE_EXTENSION */ /* Stuff that needs to be included in the pluggable extension goes below here */ #ifdef PERL_ANY_COW #define RXp_MATCH_COPY_FREE(prog) \ STMT_START {if (RXp_SAVED_COPY(prog)) { \ SV_CHECK_THINKFIRST_COW_DROP(RXp_SAVED_COPY(prog)); \ } \ if (RXp_MATCH_COPIED(prog)) { \ Safefree(RXp_SUBBEG(prog)); \ RXp_MATCH_COPIED_off(prog); \ }} STMT_END #else #define RXp_MATCH_COPY_FREE(prog) \ STMT_START {if (RXp_MATCH_COPIED(prog)) { \ Safefree(RXp_SUBBEG(prog)); \ RXp_MATCH_COPIED_off(prog); \ }} STMT_END #endif #define RX_MATCH_COPY_FREE(rx_sv) RXp_MATCH_COPY_FREE(ReANY(rx_sv)) #define RXp_MATCH_UTF8(prog) (RXp_EXTFLAGS(prog) & RXf_MATCH_UTF8) #define RX_MATCH_UTF8(rx_sv) (RX_EXTFLAGS(rx_sv) & RXf_MATCH_UTF8) #define RXp_MATCH_UTF8_on(prog) (RXp_EXTFLAGS(prog) |= RXf_MATCH_UTF8) #define RX_MATCH_UTF8_on(rx_sv) (RXp_MATCH_UTF8_on(ReANY(rx_sv))) #define RXp_MATCH_UTF8_off(prog) (RXp_EXTFLAGS(prog) &= ~RXf_MATCH_UTF8) #define RX_MATCH_UTF8_off(rx_sv) (RXp_MATCH_UTF8_off(ReANY(rx_sv)) #define RXp_MATCH_UTF8_set(prog, t) ((t) \ ? RXp_MATCH_UTF8_on(prog) \ : RXp_MATCH_UTF8_off(prog)) #define RX_MATCH_UTF8_set(rx_sv, t) (RXp_MATCH_UTF8_set(ReANY(rx_sv), t)) /* Whether the pattern stored at RX_WRAPPED is in UTF-8 */ #define RX_UTF8(rx_sv) SvUTF8(rx_sv) /* bits in flags arg of Perl_regexec_flags() */ #define REXEC_COPY_STR 0x01 /* Need to copy the string for captures. */ #define REXEC_CHECKED 0x02 /* re_intuit_start() already called. */ #define REXEC_SCREAM 0x04 /* currently unused. */ #define REXEC_IGNOREPOS 0x08 /* use stringarg, not pos(), for \G match */ #define REXEC_NOT_FIRST 0x10 /* This is another iteration of //g: no need to copy string again */ /* under REXEC_COPY_STR, it's ok for the engine (modulo PL_sawamperand etc) to skip copying: ... */ #define REXEC_COPY_SKIP_PRE 0x20 /* ...the $` part of the string, or */ #define REXEC_COPY_SKIP_POST 0x40 /* ...the $' part of the string */ #define REXEC_FAIL_ON_UNDERFLOW 0x80 /* fail the match if $& would start before the start pos (so s/.\G// would fail on second iteration */ #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define ReREFCNT_inc(re) \ ({ \ /* This is here to generate a casting warning if incorrect. */ \ REGEXP *const _rerefcnt_inc = (re); \ assert(SvTYPE(_rerefcnt_inc) == SVt_REGEXP); \ SvREFCNT_inc(_rerefcnt_inc); \ _rerefcnt_inc; \ }) # define ReREFCNT_dec(re) \ ({ \ /* This is here to generate a casting warning if incorrect. */ \ REGEXP *const _rerefcnt_dec = (re); \ SvREFCNT_dec(_rerefcnt_dec); \ }) #else # define ReREFCNT_dec(re) SvREFCNT_dec(re) # define ReREFCNT_inc(re) ((REGEXP *) SvREFCNT_inc(re)) #endif #define ReANY(re) Perl_ReANY((const REGEXP *)(re)) /* FIXME for plugins. */ #define FBMcf_TAIL_DOLLAR 1 #define FBMcf_TAIL_DOLLARM 2 #define FBMcf_TAIL_Z 4 #define FBMcf_TAIL_z 8 #define FBMcf_TAIL (FBMcf_TAIL_DOLLAR|FBMcf_TAIL_DOLLARM|FBMcf_TAIL_Z|FBMcf_TAIL_z) #define FBMrf_MULTILINE 1 struct regmatch_state; struct regmatch_slab; /* like regmatch_info_aux, but contains extra fields only needed if the * pattern contains (?{}). If used, is snuck into the second slot in the * regmatch_state stack at the start of execution */ typedef struct { regexp *rex; PMOP *curpm; /* saved PL_curpm */ #ifdef PERL_ANY_COW SV *saved_copy; /* saved saved_copy field from rex */ #endif char *subbeg; /* saved subbeg field from rex */ STRLEN sublen; /* saved sublen field from rex */ STRLEN suboffset; /* saved suboffset field from rex */ STRLEN subcoffset; /* saved subcoffset field from rex */ SV *sv; /* $_ during (?{}) */ MAGIC *pos_magic; /* pos() magic attached to $_ */ SSize_t pos; /* the original value of pos() in pos_magic */ U8 pos_flags; /* flags to be restored; currently only MGf_BYTES*/ } regmatch_info_aux_eval; /* fields that logically live in regmatch_info, but which need cleaning * up on croak(), and so are instead are snuck into the first slot in * the regmatch_state stack at the start of execution */ typedef struct { regmatch_info_aux_eval *info_aux_eval; struct regmatch_state *old_regmatch_state; /* saved PL_regmatch_state */ struct regmatch_slab *old_regmatch_slab; /* saved PL_regmatch_slab */ char *poscache; /* S-L cache of fail positions of WHILEMs */ } regmatch_info_aux; /* some basic information about the current match that is created by * Perl_regexec_flags and then passed to regtry(), regmatch() etc. * It is allocated as a local var on the stack, so nothing should be * stored in it that needs preserving or clearing up on croak(). * For that, see the aux_info and aux_info_eval members of the * regmatch_state union. */ typedef struct { REGEXP *prog; /* the regex being executed */ const char * strbeg; /* real start of string */ char *strend; /* one byte beyond last char of match string */ char *till; /* matches shorter than this fail (see minlen arg) */ SV *sv; /* the SV string currently being matched */ char *ganch; /* position of \G anchor */ char *cutpoint; /* (*COMMIT) position (if any) */ regmatch_info_aux *info_aux; /* extra fields that need cleanup */ regmatch_info_aux_eval *info_aux_eval; /* extra saved state for (?{}) */ I32 poscache_maxiter; /* how many whilems todo before S-L cache kicks in */ I32 poscache_iter; /* current countdown from _maxiter to zero */ STRLEN poscache_size; /* size of regmatch_info_aux.poscache */ bool intuit; /* re_intuit_start() is the top-level caller */ bool is_utf8_pat; /* regex is utf8 */ bool is_utf8_target; /* string being matched is utf8 */ bool warned; /* we have issued a recursion warning; no need for more */ } regmatch_info; /* structures for holding and saving the state maintained by regmatch() */ #ifndef MAX_RECURSE_EVAL_NOCHANGE_DEPTH #define MAX_RECURSE_EVAL_NOCHANGE_DEPTH 10 #endif typedef I32 CHECKPOINT; typedef struct regmatch_state { int resume_state; /* where to jump to on return */ char *locinput; /* where to backtrack in string on failure */ char *loceol; U8 *sr0; /* position of start of script run, or NULL */ union { /* the 'info_aux' and 'info_aux_eval' union members are cuckoos in * the nest. They aren't saved backtrack state; rather they * represent one or two extra chunks of data that need allocating * at the start of a match. These fields would logically live in * the regmatch_info struct, except that is allocated on the * C stack, and these fields are all things that require cleanup * after a croak(), when the stack is lost. * As a convenience, we just use the first 1 or 2 regmatch_state * slots to store this info, as we will be allocating a slab of * these anyway. Otherwise we'd have to malloc and then free them, * or allocate them on the save stack (where they will get * realloced if the save stack grows). * info_aux contains the extra fields that are always needed; * info_aux_eval contains extra fields that only needed if * the pattern contains code blocks * We split them into two separate structs to avoid increasing * the size of the union. */ regmatch_info_aux info_aux; regmatch_info_aux_eval info_aux_eval; /* this is a fake union member that matches the first element * of each member that needs to store positive backtrack * information */ struct { struct regmatch_state *prev_yes_state; } yes; /* branchlike members */ /* this is a fake union member that matches the first elements * of each member that needs to behave like a branch */ struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; U32 lastparen; U32 lastcloseparen; CHECKPOINT cp; } branchlike; struct { /* the first elements must match u.branchlike */ struct regmatch_state *prev_yes_state; U32 lastparen; U32 lastcloseparen; CHECKPOINT cp; regnode *next_branch; /* next branch node */ } branch; struct { /* the first elements must match u.branchlike */ struct regmatch_state *prev_yes_state; U32 lastparen; U32 lastcloseparen; CHECKPOINT cp; U32 accepted; /* how many accepting states left */ bool longfold;/* saw a fold with a 1->n char mapping */ U16 *jump; /* positive offsets from me */ regnode *me; /* Which node am I - needed for jump tries*/ U8 *firstpos;/* pos in string of first trie match */ U32 firstchars;/* len in chars of firstpos from start */ U16 nextword;/* next word to try */ U16 topword; /* longest accepted word */ } trie; /* special types - these members are used to store state for special regops like eval, if/then, lookaround and the markpoint state */ struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; struct regmatch_state *prev_curlyx; struct regmatch_state *prev_eval; REGEXP *prev_rex; CHECKPOINT cp; /* remember current savestack indexes */ CHECKPOINT lastcp; U32 close_paren; /* which close bracket is our end (+1) */ regnode *B; /* the node following us */ char *prev_recurse_locinput; } eval; struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; I32 wanted; I32 logical; /* saved copy of 'logical' var */ U8 count; /* number of beginning positions */ char *start; char *end; regnode *me; /* the IFMATCH/SUSPEND/UNLESSM node */ } ifmatch; /* and SUSPEND/UNLESSM */ struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; struct regmatch_state *prev_mark; SV* mark_name; char *mark_loc; } mark; struct { int val; } keeper; /* quantifiers - these members are used for storing state for the regops used to implement quantifiers */ struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; struct regmatch_state *prev_curlyx; /* previous cur_curlyx */ regnode *me; /* the CURLYX node */ regnode *B; /* the B node in /A*B/ */ CHECKPOINT cp; /* remember current savestack index */ bool minmod; int parenfloor;/* how far back to strip paren data */ /* these two are modified by WHILEM */ int count; /* how many instances of A we've matched */ char *lastloc;/* where previous A matched (0-len detect) */ } curlyx; struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; struct regmatch_state *save_curlyx; CHECKPOINT cp; /* remember current savestack indexes */ CHECKPOINT lastcp; char *save_lastloc; /* previous curlyx.lastloc */ I32 cache_offset; I32 cache_mask; } whilem; struct { /* this first element must match u.yes */ struct regmatch_state *prev_yes_state; int c1, c2; /* case fold search */ CHECKPOINT cp; U32 lastparen; U32 lastcloseparen; I32 alen; /* length of first-matched A string */ I32 count; bool minmod; regnode *A, *B; /* the nodes corresponding to /A*B/ */ regnode *me; /* the curlym node */ U8 c1_utf8[UTF8_MAXBYTES+1]; /* */ U8 c2_utf8[UTF8_MAXBYTES+1]; } curlym; struct { U32 paren; CHECKPOINT cp; U32 lastparen; U32 lastcloseparen; int c1, c2; /* case fold search */ char *maxpos; /* highest possible point in string to match */ char *oldloc; /* the previous locinput */ int count; int min, max; /* {m,n} */ regnode *A, *B; /* the nodes corresponding to /A*B/ */ U8 c1_utf8[UTF8_MAXBYTES+1]; /* */ U8 c2_utf8[UTF8_MAXBYTES+1]; } curly; /* and CURLYN/PLUS/STAR */ } u; } regmatch_state; /* how many regmatch_state structs to allocate as a single slab. * We do it in 4K blocks for efficiency. The "3" is 2 for the next/prev * pointers, plus 1 for any mythical malloc overhead. */ #define PERL_REGMATCH_SLAB_SLOTS \ ((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state)) typedef struct regmatch_slab { regmatch_state states[PERL_REGMATCH_SLAB_SLOTS]; struct regmatch_slab *prev, *next; } regmatch_slab; /* * ex: set ts=8 sts=4 sw=4 et: */ inline.h 0000644 00000221366 15140731057 0006210 0 ustar 00 /* inline.h * * Copyright (C) 2012 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * This file contains tables and code adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this * copyright notice: Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * This file is a home for static inline functions that cannot go in other * header files, because they depend on proto.h (included after most other * headers) or struct definitions. * * Each section names the header file that the functions "belong" to. */ /* ------------------------------- av.h ------------------------------- */ PERL_STATIC_INLINE SSize_t Perl_av_top_index(pTHX_ AV *av) { PERL_ARGS_ASSERT_AV_TOP_INDEX; assert(SvTYPE(av) == SVt_PVAV); return AvFILL(av); } /* ------------------------------- cv.h ------------------------------- */ PERL_STATIC_INLINE GV * Perl_CvGV(pTHX_ CV *sv) { PERL_ARGS_ASSERT_CVGV; return CvNAMED(sv) ? Perl_cvgv_from_hek(aTHX_ sv) : ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_gv; } PERL_STATIC_INLINE I32 * Perl_CvDEPTH(const CV * const sv) { PERL_ARGS_ASSERT_CVDEPTH; assert(SvTYPE(sv) == SVt_PVCV || SvTYPE(sv) == SVt_PVFM); return &((XPVCV*)SvANY(sv))->xcv_depth; } /* CvPROTO returns the prototype as stored, which is not necessarily what the interpreter should be using. Specifically, the interpreter assumes that spaces have been stripped, which has been the case if the prototype was added by toke.c, but is generally not the case if it was added elsewhere. Since we can't enforce the spacelessness at assignment time, this routine provides a temporary copy at parse time with spaces removed. I<orig> is the start of the original buffer, I<len> is the length of the prototype and will be updated when this returns. */ #ifdef PERL_CORE PERL_STATIC_INLINE char * S_strip_spaces(pTHX_ const char * orig, STRLEN * const len) { SV * tmpsv; char * tmps; tmpsv = newSVpvn_flags(orig, *len, SVs_TEMP); tmps = SvPVX(tmpsv); while ((*len)--) { if (!isSPACE(*orig)) *tmps++ = *orig; orig++; } *tmps = '\0'; *len = tmps - SvPVX(tmpsv); return SvPVX(tmpsv); } #endif /* ------------------------------- mg.h ------------------------------- */ #if defined(PERL_CORE) || defined(PERL_EXT) /* assumes get-magic and stringification have already occurred */ PERL_STATIC_INLINE STRLEN S_MgBYTEPOS(pTHX_ MAGIC *mg, SV *sv, const char *s, STRLEN len) { assert(mg->mg_type == PERL_MAGIC_regex_global); assert(mg->mg_len != -1); if (mg->mg_flags & MGf_BYTES || !DO_UTF8(sv)) return (STRLEN)mg->mg_len; else { const STRLEN pos = (STRLEN)mg->mg_len; /* Without this check, we may read past the end of the buffer: */ if (pos > sv_or_pv_len_utf8(sv, s, len)) return len+1; return sv_or_pv_pos_u2b(sv, s, pos, NULL); } } #endif /* ------------------------------- pad.h ------------------------------ */ #if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) PERL_STATIC_INLINE bool S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq) { PERL_ARGS_ASSERT_PADNAMEIN_SCOPE; /* is seq within the range _LOW to _HIGH ? * This is complicated by the fact that PL_cop_seqmax * may have wrapped around at some point */ if (COP_SEQ_RANGE_LOW(pn) == PERL_PADSEQ_INTRO) return FALSE; /* not yet introduced */ if (COP_SEQ_RANGE_HIGH(pn) == PERL_PADSEQ_INTRO) { /* in compiling scope */ if ( (seq > COP_SEQ_RANGE_LOW(pn)) ? (seq - COP_SEQ_RANGE_LOW(pn) < (U32_MAX >> 1)) : (COP_SEQ_RANGE_LOW(pn) - seq > (U32_MAX >> 1)) ) return TRUE; } else if ( (COP_SEQ_RANGE_LOW(pn) > COP_SEQ_RANGE_HIGH(pn)) ? ( seq > COP_SEQ_RANGE_LOW(pn) || seq <= COP_SEQ_RANGE_HIGH(pn)) : ( seq > COP_SEQ_RANGE_LOW(pn) && seq <= COP_SEQ_RANGE_HIGH(pn)) ) return TRUE; return FALSE; } #endif /* ------------------------------- pp.h ------------------------------- */ PERL_STATIC_INLINE I32 Perl_TOPMARK(pTHX) { DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, "MARK top %p %" IVdf "\n", PL_markstack_ptr, (IV)*PL_markstack_ptr))); return *PL_markstack_ptr; } PERL_STATIC_INLINE I32 Perl_POPMARK(pTHX) { DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, "MARK pop %p %" IVdf "\n", (PL_markstack_ptr-1), (IV)*(PL_markstack_ptr-1)))); assert((PL_markstack_ptr > PL_markstack) || !"MARK underflow"); return *PL_markstack_ptr--; } /* ----------------------------- regexp.h ----------------------------- */ PERL_STATIC_INLINE struct regexp * Perl_ReANY(const REGEXP * const re) { XPV* const p = (XPV*)SvANY(re); PERL_ARGS_ASSERT_REANY; assert(isREGEXP(re)); return SvTYPE(re) == SVt_PVLV ? p->xpv_len_u.xpvlenu_rx : (struct regexp *)p; } /* ------------------------------- sv.h ------------------------------- */ PERL_STATIC_INLINE bool Perl_SvTRUE(pTHX_ SV *sv) { if (!LIKELY(sv)) return FALSE; SvGETMAGIC(sv); return SvTRUE_nomg_NN(sv); } PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc(SV *sv) { if (LIKELY(sv != NULL)) SvREFCNT(sv)++; return sv; } PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc_NN(SV *sv) { PERL_ARGS_ASSERT_SVREFCNT_INC_NN; SvREFCNT(sv)++; return sv; } PERL_STATIC_INLINE void Perl_SvREFCNT_inc_void(SV *sv) { if (LIKELY(sv != NULL)) SvREFCNT(sv)++; } PERL_STATIC_INLINE void Perl_SvREFCNT_dec(pTHX_ SV *sv) { if (LIKELY(sv != NULL)) { U32 rc = SvREFCNT(sv); if (LIKELY(rc > 1)) SvREFCNT(sv) = rc - 1; else Perl_sv_free2(aTHX_ sv, rc); } } PERL_STATIC_INLINE void Perl_SvREFCNT_dec_NN(pTHX_ SV *sv) { U32 rc = SvREFCNT(sv); PERL_ARGS_ASSERT_SVREFCNT_DEC_NN; if (LIKELY(rc > 1)) SvREFCNT(sv) = rc - 1; else Perl_sv_free2(aTHX_ sv, rc); } PERL_STATIC_INLINE void Perl_SvAMAGIC_on(SV *sv) { PERL_ARGS_ASSERT_SVAMAGIC_ON; assert(SvROK(sv)); if (SvOBJECT(SvRV(sv))) HvAMAGIC_on(SvSTASH(SvRV(sv))); } PERL_STATIC_INLINE void Perl_SvAMAGIC_off(SV *sv) { PERL_ARGS_ASSERT_SVAMAGIC_OFF; if (SvROK(sv) && SvOBJECT(SvRV(sv))) HvAMAGIC_off(SvSTASH(SvRV(sv))); } PERL_STATIC_INLINE U32 Perl_SvPADSTALE_on(SV *sv) { assert(!(SvFLAGS(sv) & SVs_PADTMP)); return SvFLAGS(sv) |= SVs_PADSTALE; } PERL_STATIC_INLINE U32 Perl_SvPADSTALE_off(SV *sv) { assert(!(SvFLAGS(sv) & SVs_PADTMP)); return SvFLAGS(sv) &= ~SVs_PADSTALE; } #if defined(PERL_CORE) || defined (PERL_EXT) PERL_STATIC_INLINE STRLEN S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp) { PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B; if (SvGAMAGIC(sv)) { U8 *hopped = utf8_hop((U8 *)pv, pos); if (lenp) *lenp = (STRLEN)(utf8_hop(hopped, *lenp) - hopped); return (STRLEN)(hopped - (U8 *)pv); } return sv_pos_u2b_flags(sv,pos,lenp,SV_CONST_RETURN); } #endif /* ------------------------------- utf8.h ------------------------------- */ /* =head1 Unicode Support */ PERL_STATIC_INLINE void Perl_append_utf8_from_native_byte(const U8 byte, U8** dest) { /* Takes an input 'byte' (Latin1 or EBCDIC) and appends it to the UTF-8 * encoded string at '*dest', updating '*dest' to include it */ PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE; if (NATIVE_BYTE_IS_INVARIANT(byte)) *((*dest)++) = byte; else { *((*dest)++) = UTF8_EIGHT_BIT_HI(byte); *((*dest)++) = UTF8_EIGHT_BIT_LO(byte); } } /* =for apidoc valid_utf8_to_uvchr Like C<L<perlapi/utf8_to_uvchr_buf>>, but should only be called when it is known that the next character in the input UTF-8 string C<s> is well-formed (I<e.g.>, it passes C<L<perlapi/isUTF8_CHAR>>. Surrogates, non-character code points, and non-Unicode code points are allowed. =cut */ PERL_STATIC_INLINE UV Perl_valid_utf8_to_uvchr(const U8 *s, STRLEN *retlen) { const UV expectlen = UTF8SKIP(s); const U8* send = s + expectlen; UV uv = *s; PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR; if (retlen) { *retlen = expectlen; } /* An invariant is trivially returned */ if (expectlen == 1) { return uv; } /* Remove the leading bits that indicate the number of bytes, leaving just * the bits that are part of the value */ uv = NATIVE_UTF8_TO_I8(uv) & UTF_START_MASK(expectlen); /* Now, loop through the remaining bytes, accumulating each into the * working total as we go. (I khw tried unrolling the loop for up to 4 * bytes, but there was no performance improvement) */ for (++s; s < send; s++) { uv = UTF8_ACCUMULATE(uv, *s); } return UNI_TO_NATIVE(uv); } /* =for apidoc is_utf8_invariant_string Returns TRUE if the first C<len> bytes of the string C<s> are the same regardless of the UTF-8 encoding of the string (or UTF-EBCDIC encoding on EBCDIC machines); otherwise it returns FALSE. That is, it returns TRUE if they are UTF-8 invariant. On ASCII-ish machines, all the ASCII characters and only the ASCII characters fit this definition. On EBCDIC machines, the ASCII-range characters are invariant, but so also are the C1 controls. If C<len> is 0, it will be calculated using C<strlen(s)>, (which means if you use this option, that C<s> can't have embedded C<NUL> characters and has to have a terminating C<NUL> byte). See also C<L</is_utf8_string>>, C<L</is_utf8_string_flags>>, C<L</is_utf8_string_loc>>, C<L</is_utf8_string_loc_flags>>, C<L</is_utf8_string_loclen>>, C<L</is_utf8_string_loclen_flags>>, C<L</is_utf8_fixed_width_buf_flags>>, C<L</is_utf8_fixed_width_buf_loc_flags>>, C<L</is_utf8_fixed_width_buf_loclen_flags>>, C<L</is_strict_utf8_string>>, C<L</is_strict_utf8_string_loc>>, C<L</is_strict_utf8_string_loclen>>, C<L</is_c9strict_utf8_string>>, C<L</is_c9strict_utf8_string_loc>>, and C<L</is_c9strict_utf8_string_loclen>>. =cut */ #define is_utf8_invariant_string(s, len) \ is_utf8_invariant_string_loc(s, len, NULL) /* =for apidoc is_utf8_invariant_string_loc Like C<L</is_utf8_invariant_string>> but upon failure, stores the location of the first UTF-8 variant character in the C<ep> pointer; if all characters are UTF-8 invariant, this function does not change the contents of C<*ep>. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) { const U8* send; const U8* x = s; PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC; if (len == 0) { len = strlen((const char *)s); } send = s + len; /* This looks like 0x010101... */ # define PERL_COUNT_MULTIPLIER (~ (UINTMAX_C(0)) / 0xFF) /* This looks like 0x808080... */ # define PERL_VARIANTS_WORD_MASK (PERL_COUNT_MULTIPLIER * 0x80) # define PERL_WORDSIZE sizeof(PERL_UINTMAX_T) # define PERL_WORD_BOUNDARY_MASK (PERL_WORDSIZE - 1) /* Evaluates to 0 if 'x' is at a word boundary; otherwise evaluates to 1, by * or'ing together the lowest bits of 'x'. Hopefully the final term gets * optimized out completely on a 32-bit system, and its mask gets optimized out * on a 64-bit system */ # define PERL_IS_SUBWORD_ADDR(x) (1 & ( PTR2nat(x) \ | ( PTR2nat(x) >> 1) \ | ( ( (PTR2nat(x) \ & PERL_WORD_BOUNDARY_MASK) >> 2)))) #ifndef EBCDIC /* Do the word-at-a-time iff there is at least one usable full word. That * means that after advancing to a word boundary, there still is at least a * full word left. The number of bytes needed to advance is 'wordsize - * offset' unless offset is 0. */ if ((STRLEN) (send - x) >= PERL_WORDSIZE /* This term is wordsize if subword; 0 if not */ + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(x) /* 'offset' */ - (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK)) { /* Process per-byte until reach word boundary. XXX This loop could be * eliminated if we knew that this platform had fast unaligned reads */ while (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK) { if (! UTF8_IS_INVARIANT(*x)) { if (ep) { *ep = x; } return FALSE; } x++; } /* Here, we know we have at least one full word to process. Process * per-word as long as we have at least a full word left */ do { if ((* (PERL_UINTMAX_T *) x) & PERL_VARIANTS_WORD_MASK) { /* Found a variant. Just return if caller doesn't want its * exact position */ if (! ep) { return FALSE; } # if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 \ || BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 *ep = x + variant_byte_number(* (PERL_UINTMAX_T *) x); assert(*ep >= s && *ep < send); return FALSE; # else /* If weird byte order, drop into next loop to do byte-at-a-time checks. */ break; # endif } x += PERL_WORDSIZE; } while (x + PERL_WORDSIZE <= send); } #endif /* End of ! EBCDIC */ /* Process per-byte */ while (x < send) { if (! UTF8_IS_INVARIANT(*x)) { if (ep) { *ep = x; } return FALSE; } x++; } return TRUE; } #ifndef EBCDIC PERL_STATIC_INLINE unsigned int Perl_variant_byte_number(PERL_UINTMAX_T word) { /* This returns the position in a word (0..7) of the first variant byte in * it. This is a helper function. Note that there are no branches */ assert(word); /* Get just the msb bits of each byte */ word &= PERL_VARIANTS_WORD_MASK; # if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* Bytes are stored like * Byte8 ... Byte2 Byte1 * 63..56...15...8 7...0 * * Isolate the lsb; * https://stackoverflow.com/questions/757059/position-of-least-significant-bit-that-is-set * * The word will look like this, with a rightmost set bit in position 's': * ('x's are don't cares) * s * x..x100..0 * x..xx10..0 Right shift (rightmost 0 is shifted off) * x..xx01..1 Subtract 1, turns all the trailing zeros into 1's and * the 1 just to their left into a 0; the remainder is * untouched * 0..0011..1 The xor with the original, x..xx10..0, clears that * remainder, sets the bottom to all 1 * 0..0100..0 Add 1 to clear the word except for the bit in 's' * * Another method is to do 'word &= -word'; but it generates a compiler * message on some platforms about taking the negative of an unsigned */ word >>= 1; word = 1 + (word ^ (word - 1)); # elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 /* Bytes are stored like * Byte1 Byte2 ... Byte8 * 63..56 55..47 ... 7...0 * * Isolate the msb; http://codeforces.com/blog/entry/10330 * * Only the most significant set bit matters. Or'ing word with its right * shift of 1 makes that bit and the next one to its right both 1. Then * right shifting by 2 makes for 4 1-bits in a row. ... We end with the * msb and all to the right being 1. */ word |= word >> 1; word |= word >> 2; word |= word >> 4; word |= word >> 8; word |= word >> 16; word |= word >> 32; /* This should get optimized out on 32-bit systems. */ /* Then subtracting the right shift by 1 clears all but the left-most of * the 1 bits, which is our desired result */ word -= (word >> 1); # else # error Unexpected byte order # endif /* Here 'word' has a single bit set: the msb of the first byte in which it * is set. Calculate that position in the word. We can use this * specialized solution: https://stackoverflow.com/a/32339674/1626653, * assumes an 8-bit byte. (On a 32-bit machine, the larger numbers should * just get shifted off at compile time) */ word = (word >> 7) * ((UINTMAX_C( 7) << 56) | (UINTMAX_C(15) << 48) | (UINTMAX_C(23) << 40) | (UINTMAX_C(31) << 32) | (39 << 24) | (47 << 16) | (55 << 8) | (63 << 0)); word >>= PERL_WORDSIZE * 7; /* >> by either 56 or 24 */ /* Here, word contains the position 7..63 of that bit. Convert to 0..7 */ word = ((word + 1) >> 3) - 1; # if BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 /* And invert the result */ word = CHARBITS - word - 1; # endif return (unsigned int) word; } #endif #if defined(PERL_CORE) || defined(PERL_EXT) /* =for apidoc variant_under_utf8_count This function looks at the sequence of bytes between C<s> and C<e>, which are assumed to be encoded in ASCII/Latin1, and returns how many of them would change should the string be translated into UTF-8. Due to the nature of UTF-8, each of these would occupy two bytes instead of the single one in the input string. Thus, this function returns the precise number of bytes the string would expand by when translated to UTF-8. Unlike most of the other functions that have C<utf8> in their name, the input to this function is NOT a UTF-8-encoded string. The function name is slightly I<odd> to emphasize this. This function is internal to Perl because khw thinks that any XS code that would want this is probably operating too close to the internals. Presenting a valid use case could change that. See also C<L<perlapi/is_utf8_invariant_string>> and C<L<perlapi/is_utf8_invariant_string_loc>>, =cut */ PERL_STATIC_INLINE Size_t S_variant_under_utf8_count(const U8* const s, const U8* const e) { const U8* x = s; Size_t count = 0; PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT; # ifndef EBCDIC /* Test if the string is long enough to use word-at-a-time. (Logic is the * same as for is_utf8_invariant_string()) */ if ((STRLEN) (e - x) >= PERL_WORDSIZE + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(x) - (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK)) { /* Process per-byte until reach word boundary. XXX This loop could be * eliminated if we knew that this platform had fast unaligned reads */ while (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK) { count += ! UTF8_IS_INVARIANT(*x++); } /* Process per-word as long as we have at least a full word left */ do { /* Commit 03c1e4ab1d6ee9062fb3f94b0ba31db6698724b1 contains an explanation of how this works */ PERL_UINTMAX_T increment = ((((* (PERL_UINTMAX_T *) x) & PERL_VARIANTS_WORD_MASK) >> 7) * PERL_COUNT_MULTIPLIER) >> ((PERL_WORDSIZE - 1) * CHARBITS); count += (Size_t) increment; x += PERL_WORDSIZE; } while (x + PERL_WORDSIZE <= e); } # endif /* Process per-byte */ while (x < e) { if (! UTF8_IS_INVARIANT(*x)) { count++; } x++; } return count; } #endif #ifndef PERL_IN_REGEXEC_C /* Keep these around for that file */ # undef PERL_WORDSIZE # undef PERL_COUNT_MULTIPLIER # undef PERL_WORD_BOUNDARY_MASK # undef PERL_VARIANTS_WORD_MASK #endif /* =for apidoc is_utf8_string Returns TRUE if the first C<len> bytes of string C<s> form a valid Perl-extended-UTF-8 string; returns FALSE otherwise. If C<len> is 0, it will be calculated using C<strlen(s)> (which means if you use this option, that C<s> can't have embedded C<NUL> characters and has to have a terminating C<NUL> byte). Note that all characters being ASCII constitute 'a valid UTF-8 string'. This function considers Perl's extended UTF-8 to be valid. That means that code points above Unicode, surrogates, and non-character code points are considered valid by this function. Use C<L</is_strict_utf8_string>>, C<L</is_c9strict_utf8_string>>, or C<L</is_utf8_string_flags>> to restrict what code points are considered valid. See also C<L</is_utf8_invariant_string>>, C<L</is_utf8_invariant_string_loc>>, C<L</is_utf8_string_loc>>, C<L</is_utf8_string_loclen>>, C<L</is_utf8_fixed_width_buf_flags>>, C<L</is_utf8_fixed_width_buf_loc_flags>>, C<L</is_utf8_fixed_width_buf_loclen_flags>>, =cut */ #define is_utf8_string(s, len) is_utf8_string_loclen(s, len, NULL, NULL) #if defined(PERL_CORE) || defined (PERL_EXT) /* =for apidoc is_utf8_non_invariant_string Returns TRUE if L<perlapi/is_utf8_invariant_string> returns FALSE for the first C<len> bytes of the string C<s>, but they are, nonetheless, legal Perl-extended UTF-8; otherwise returns FALSE. A TRUE return means that at least one code point represented by the sequence either is a wide character not representable as a single byte, or the representation differs depending on whether the sequence is encoded in UTF-8 or not. See also C<L<perlapi/is_utf8_invariant_string>>, C<L<perlapi/is_utf8_string>> =cut This is commonly used to determine if a SV's UTF-8 flag should be turned on. It generally needn't be if its string is entirely UTF-8 invariant, and it shouldn't be if it otherwise contains invalid UTF-8. It is an internal function because khw thinks that XS code shouldn't be working at this low a level. A valid use case could change that. */ PERL_STATIC_INLINE bool Perl_is_utf8_non_invariant_string(const U8* const s, STRLEN len) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING; if (is_utf8_invariant_string_loc(s, len, &first_variant)) { return FALSE; } return is_utf8_string(first_variant, len - (first_variant - s)); } #endif /* =for apidoc is_strict_utf8_string Returns TRUE if the first C<len> bytes of string C<s> form a valid UTF-8-encoded string that is fully interchangeable by any application using Unicode rules; otherwise it returns FALSE. If C<len> is 0, it will be calculated using C<strlen(s)> (which means if you use this option, that C<s> can't have embedded C<NUL> characters and has to have a terminating C<NUL> byte). Note that all characters being ASCII constitute 'a valid UTF-8 string'. This function returns FALSE for strings containing any code points above the Unicode max of 0x10FFFF, surrogate code points, or non-character code points. See also C<L</is_utf8_invariant_string>>, C<L</is_utf8_invariant_string_loc>>, C<L</is_utf8_string>>, C<L</is_utf8_string_flags>>, C<L</is_utf8_string_loc>>, C<L</is_utf8_string_loc_flags>>, C<L</is_utf8_string_loclen>>, C<L</is_utf8_string_loclen_flags>>, C<L</is_utf8_fixed_width_buf_flags>>, C<L</is_utf8_fixed_width_buf_loc_flags>>, C<L</is_utf8_fixed_width_buf_loclen_flags>>, C<L</is_strict_utf8_string_loc>>, C<L</is_strict_utf8_string_loclen>>, C<L</is_c9strict_utf8_string>>, C<L</is_c9strict_utf8_string_loc>>, and C<L</is_c9strict_utf8_string_loclen>>. =cut */ #define is_strict_utf8_string(s, len) is_strict_utf8_string_loclen(s, len, NULL, NULL) /* =for apidoc is_c9strict_utf8_string Returns TRUE if the first C<len> bytes of string C<s> form a valid UTF-8-encoded string that conforms to L<Unicode Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html>; otherwise it returns FALSE. If C<len> is 0, it will be calculated using C<strlen(s)> (which means if you use this option, that C<s> can't have embedded C<NUL> characters and has to have a terminating C<NUL> byte). Note that all characters being ASCII constitute 'a valid UTF-8 string'. This function returns FALSE for strings containing any code points above the Unicode max of 0x10FFFF or surrogate code points, but accepts non-character code points per L<Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html>. See also C<L</is_utf8_invariant_string>>, C<L</is_utf8_invariant_string_loc>>, C<L</is_utf8_string>>, C<L</is_utf8_string_flags>>, C<L</is_utf8_string_loc>>, C<L</is_utf8_string_loc_flags>>, C<L</is_utf8_string_loclen>>, C<L</is_utf8_string_loclen_flags>>, C<L</is_utf8_fixed_width_buf_flags>>, C<L</is_utf8_fixed_width_buf_loc_flags>>, C<L</is_utf8_fixed_width_buf_loclen_flags>>, C<L</is_strict_utf8_string>>, C<L</is_strict_utf8_string_loc>>, C<L</is_strict_utf8_string_loclen>>, C<L</is_c9strict_utf8_string_loc>>, and C<L</is_c9strict_utf8_string_loclen>>. =cut */ #define is_c9strict_utf8_string(s, len) is_c9strict_utf8_string_loclen(s, len, NULL, 0) /* =for apidoc is_utf8_string_flags Returns TRUE if the first C<len> bytes of string C<s> form a valid UTF-8 string, subject to the restrictions imposed by C<flags>; returns FALSE otherwise. If C<len> is 0, it will be calculated using C<strlen(s)> (which means if you use this option, that C<s> can't have embedded C<NUL> characters and has to have a terminating C<NUL> byte). Note that all characters being ASCII constitute 'a valid UTF-8 string'. If C<flags> is 0, this gives the same results as C<L</is_utf8_string>>; if C<flags> is C<UTF8_DISALLOW_ILLEGAL_INTERCHANGE>, this gives the same results as C<L</is_strict_utf8_string>>; and if C<flags> is C<UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE>, this gives the same results as C<L</is_c9strict_utf8_string>>. Otherwise C<flags> may be any combination of the C<UTF8_DISALLOW_I<foo>> flags understood by C<L</utf8n_to_uvchr>>, with the same meanings. See also C<L</is_utf8_invariant_string>>, C<L</is_utf8_invariant_string_loc>>, C<L</is_utf8_string>>, C<L</is_utf8_string_loc>>, C<L</is_utf8_string_loc_flags>>, C<L</is_utf8_string_loclen>>, C<L</is_utf8_string_loclen_flags>>, C<L</is_utf8_fixed_width_buf_flags>>, C<L</is_utf8_fixed_width_buf_loc_flags>>, C<L</is_utf8_fixed_width_buf_loclen_flags>>, C<L</is_strict_utf8_string>>, C<L</is_strict_utf8_string_loc>>, C<L</is_strict_utf8_string_loclen>>, C<L</is_c9strict_utf8_string>>, C<L</is_c9strict_utf8_string_loc>>, and C<L</is_c9strict_utf8_string_loclen>>. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS; assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE |UTF8_DISALLOW_PERL_EXTENDED))); if (len == 0) { len = strlen((const char *)s); } if (flags == 0) { return is_utf8_string(s, len); } if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED) == UTF8_DISALLOW_ILLEGAL_INTERCHANGE) { return is_strict_utf8_string(s, len); } if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED) == UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE) { return is_c9strict_utf8_string(s, len); } if (! is_utf8_invariant_string_loc(s, len, &first_variant)) { const U8* const send = s + len; const U8* x = first_variant; while (x < send) { STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags); if (UNLIKELY(! cur_len)) { return FALSE; } x += cur_len; } } return TRUE; } /* =for apidoc is_utf8_string_loc Like C<L</is_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer. See also C<L</is_utf8_string_loclen>>. =cut */ #define is_utf8_string_loc(s, len, ep) is_utf8_string_loclen(s, len, ep, 0) /* =for apidoc is_utf8_string_loclen Like C<L</is_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer, and the number of UTF-8 encoded characters in the C<el> pointer. See also C<L</is_utf8_string_loc>>. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN; if (len == 0) { len = strlen((const char *) s); } if (is_utf8_invariant_string_loc(s, len, &first_variant)) { if (el) *el = len; if (ep) { *ep = s + len; } return TRUE; } { const U8* const send = s + len; const U8* x = first_variant; STRLEN outlen = first_variant - s; while (x < send) { const STRLEN cur_len = isUTF8_CHAR(x, send); if (UNLIKELY(! cur_len)) { break; } x += cur_len; outlen++; } if (el) *el = outlen; if (ep) { *ep = x; } return (x == send); } } /* =for apidoc isUTF8_CHAR Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8, as extended by Perl, that represents some code point; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. Any bytes remaining before C<e>, but beyond the ones needed to form the first code point in C<s>, are not examined. The code point can be any that will fit in an IV on this machine, using Perl's extension to official UTF-8 to represent those higher than the Unicode maximum of 0x10FFFF. That means that this macro is used to efficiently decide if the next few bytes in C<s> is legal UTF-8 for a single character. Use C<L</isSTRICT_UTF8_CHAR>> to restrict the acceptable code points to those defined by Unicode to be fully interchangeable across applications; C<L</isC9_STRICT_UTF8_CHAR>> to use the L<Unicode Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html> definition of allowable code points; and C<L</isUTF8_CHAR_flags>> for a more customized definition. Use C<L</is_utf8_string>>, C<L</is_utf8_string_loc>>, and C<L</is_utf8_string_loclen>> to check entire strings. Note also that a UTF-8 "invariant" character (i.e. ASCII on non-EBCDIC machines) is a valid UTF-8 character. =cut This uses an adaptation of the table and algorithm given in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of PL_extended_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t Perl_isUTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; PERL_ARGS_ASSERT_ISUTF8_CHAR; /* This dfa is fast. If it accepts the input, it was for a well-formed, * code point, which can be returned immediately. Otherwise, it is either * malformed, or for the start byte FF which the dfa doesn't handle (except * on 32-bit ASCII platforms where it trivially is an error). Call a * helper function for the other platforms. */ while (s < e && LIKELY(state != 1)) { state = PL_extended_utf8_dfa_tab[256 + state + PL_extended_utf8_dfa_tab[*s]]; if (state != 0) { s++; continue; } return s - s0 + 1; } #if defined(UV_IS_QUAD) || defined(EBCDIC) if (NATIVE_UTF8_TO_I8(*s0) == 0xFF && e - s0 >= UTF8_MAXBYTES) { return is_utf8_char_helper(s0, e, 0); } #endif return 0; } /* =for apidoc isSTRICT_UTF8_CHAR Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8 that represents some Unicode code point completely acceptable for open interchange between all applications; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. Any bytes remaining before C<e>, but beyond the ones needed to form the first code point in C<s>, are not examined. The largest acceptable code point is the Unicode maximum 0x10FFFF, and must not be a surrogate nor a non-character code point. Thus this excludes any code point from Perl's extended UTF-8. This is used to efficiently decide if the next few bytes in C<s> is legal Unicode-acceptable UTF-8 for a single character. Use C<L</isC9_STRICT_UTF8_CHAR>> to use the L<Unicode Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html> definition of allowable code points; C<L</isUTF8_CHAR>> to check for Perl's extended UTF-8; and C<L</isUTF8_CHAR_flags>> for a more customized definition. Use C<L</is_strict_utf8_string>>, C<L</is_strict_utf8_string_loc>>, and C<L</is_strict_utf8_string_loclen>> to check entire strings. =cut This uses an adaptation of the tables and algorithm given in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of strict_extended_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t Perl_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; PERL_ARGS_ASSERT_ISSTRICT_UTF8_CHAR; while (s < e && LIKELY(state != 1)) { state = PL_strict_utf8_dfa_tab[256 + state + PL_strict_utf8_dfa_tab[*s]]; if (state != 0) { s++; continue; } return s - s0 + 1; } #ifndef EBCDIC /* The dfa above drops out for certain Hanguls; handle them specially */ if (is_HANGUL_ED_utf8_safe(s0, e)) { return 3; } #endif return 0; } /* =for apidoc isC9_STRICT_UTF8_CHAR Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8 that represents some Unicode non-surrogate code point; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. Any bytes remaining before C<e>, but beyond the ones needed to form the first code point in C<s>, are not examined. The largest acceptable code point is the Unicode maximum 0x10FFFF. This differs from C<L</isSTRICT_UTF8_CHAR>> only in that it accepts non-character code points. This corresponds to L<Unicode Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html>. which said that non-character code points are merely discouraged rather than completely forbidden in open interchange. See L<perlunicode/Noncharacter code points>. Use C<L</isUTF8_CHAR>> to check for Perl's extended UTF-8; and C<L</isUTF8_CHAR_flags>> for a more customized definition. Use C<L</is_c9strict_utf8_string>>, C<L</is_c9strict_utf8_string_loc>>, and C<L</is_c9strict_utf8_string_loclen>> to check entire strings. =cut This uses an adaptation of the tables and algorithm given in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides comprehensive documentation of the original version. A copyright notice for the original version is given at the beginning of this file. The Perl adapation is documented at the definition of PL_c9_utf8_dfa_tab[]. */ PERL_STATIC_INLINE Size_t Perl_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) { const U8 * s = s0; UV state = 0; PERL_ARGS_ASSERT_ISC9_STRICT_UTF8_CHAR; while (s < e && LIKELY(state != 1)) { state = PL_c9_utf8_dfa_tab[256 + state + PL_c9_utf8_dfa_tab[*s]]; if (state != 0) { s++; continue; } return s - s0 + 1; } return 0; } /* =for apidoc is_strict_utf8_string_loc Like C<L</is_strict_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer. See also C<L</is_strict_utf8_string_loclen>>. =cut */ #define is_strict_utf8_string_loc(s, len, ep) \ is_strict_utf8_string_loclen(s, len, ep, 0) /* =for apidoc is_strict_utf8_string_loclen Like C<L</is_strict_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer, and the number of UTF-8 encoded characters in the C<el> pointer. See also C<L</is_strict_utf8_string_loc>>. =cut */ PERL_STATIC_INLINE bool Perl_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN; if (len == 0) { len = strlen((const char *) s); } if (is_utf8_invariant_string_loc(s, len, &first_variant)) { if (el) *el = len; if (ep) { *ep = s + len; } return TRUE; } { const U8* const send = s + len; const U8* x = first_variant; STRLEN outlen = first_variant - s; while (x < send) { const STRLEN cur_len = isSTRICT_UTF8_CHAR(x, send); if (UNLIKELY(! cur_len)) { break; } x += cur_len; outlen++; } if (el) *el = outlen; if (ep) { *ep = x; } return (x == send); } } /* =for apidoc is_c9strict_utf8_string_loc Like C<L</is_c9strict_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer. See also C<L</is_c9strict_utf8_string_loclen>>. =cut */ #define is_c9strict_utf8_string_loc(s, len, ep) \ is_c9strict_utf8_string_loclen(s, len, ep, 0) /* =for apidoc is_c9strict_utf8_string_loclen Like C<L</is_c9strict_utf8_string>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer, and the number of UTF-8 encoded characters in the C<el> pointer. See also C<L</is_c9strict_utf8_string_loc>>. =cut */ PERL_STATIC_INLINE bool Perl_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN; if (len == 0) { len = strlen((const char *) s); } if (is_utf8_invariant_string_loc(s, len, &first_variant)) { if (el) *el = len; if (ep) { *ep = s + len; } return TRUE; } { const U8* const send = s + len; const U8* x = first_variant; STRLEN outlen = first_variant - s; while (x < send) { const STRLEN cur_len = isC9_STRICT_UTF8_CHAR(x, send); if (UNLIKELY(! cur_len)) { break; } x += cur_len; outlen++; } if (el) *el = outlen; if (ep) { *ep = x; } return (x == send); } } /* =for apidoc is_utf8_string_loc_flags Like C<L</is_utf8_string_flags>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer. See also C<L</is_utf8_string_loclen_flags>>. =cut */ #define is_utf8_string_loc_flags(s, len, ep, flags) \ is_utf8_string_loclen_flags(s, len, ep, 0, flags) /* The above 3 actual functions could have been moved into the more general one * just below, and made #defines that call it with the right 'flags'. They are * currently kept separate to increase their chances of getting inlined */ /* =for apidoc is_utf8_string_loclen_flags Like C<L</is_utf8_string_flags>> but stores the location of the failure (in the case of "utf8ness failure") or the location C<s>+C<len> (in the case of "utf8ness success") in the C<ep> pointer, and the number of UTF-8 encoded characters in the C<el> pointer. See also C<L</is_utf8_string_loc_flags>>. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags) { const U8 * first_variant; PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS; assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE |UTF8_DISALLOW_PERL_EXTENDED))); if (len == 0) { len = strlen((const char *) s); } if (flags == 0) { return is_utf8_string_loclen(s, len, ep, el); } if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED) == UTF8_DISALLOW_ILLEGAL_INTERCHANGE) { return is_strict_utf8_string_loclen(s, len, ep, el); } if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED) == UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE) { return is_c9strict_utf8_string_loclen(s, len, ep, el); } if (is_utf8_invariant_string_loc(s, len, &first_variant)) { if (el) *el = len; if (ep) { *ep = s + len; } return TRUE; } { const U8* send = s + len; const U8* x = first_variant; STRLEN outlen = first_variant - s; while (x < send) { const STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags); if (UNLIKELY(! cur_len)) { break; } x += cur_len; outlen++; } if (el) *el = outlen; if (ep) { *ep = x; } return (x == send); } } /* =for apidoc utf8_distance Returns the number of UTF-8 characters between the UTF-8 pointers C<a> and C<b>. WARNING: use only if you *know* that the pointers point inside the same UTF-8 buffer. =cut */ PERL_STATIC_INLINE IV Perl_utf8_distance(pTHX_ const U8 *a, const U8 *b) { PERL_ARGS_ASSERT_UTF8_DISTANCE; return (a < b) ? -1 * (IV) utf8_length(a, b) : (IV) utf8_length(b, a); } /* =for apidoc utf8_hop Return the UTF-8 pointer C<s> displaced by C<off> characters, either forward or backward. WARNING: do not use the following unless you *know* C<off> is within the UTF-8 data pointed to by C<s> *and* that on entry C<s> is aligned on the first byte of character or just after the last byte of a character. =cut */ PERL_STATIC_INLINE U8 * Perl_utf8_hop(const U8 *s, SSize_t off) { PERL_ARGS_ASSERT_UTF8_HOP; /* Note: cannot use UTF8_IS_...() too eagerly here since e.g * the bitops (especially ~) can create illegal UTF-8. * In other words: in Perl UTF-8 is not just for Unicode. */ if (off >= 0) { while (off--) s += UTF8SKIP(s); } else { while (off++) { s--; while (UTF8_IS_CONTINUATION(*s)) s--; } } GCC_DIAG_IGNORE(-Wcast-qual) return (U8 *)s; GCC_DIAG_RESTORE } /* =for apidoc utf8_hop_forward Return the UTF-8 pointer C<s> displaced by up to C<off> characters, forward. C<off> must be non-negative. C<s> must be before or equal to C<end>. When moving forward it will not move beyond C<end>. Will not exceed this limit even if the string is not valid "UTF-8". =cut */ PERL_STATIC_INLINE U8 * Perl_utf8_hop_forward(const U8 *s, SSize_t off, const U8 *end) { PERL_ARGS_ASSERT_UTF8_HOP_FORWARD; /* Note: cannot use UTF8_IS_...() too eagerly here since e.g * the bitops (especially ~) can create illegal UTF-8. * In other words: in Perl UTF-8 is not just for Unicode. */ assert(s <= end); assert(off >= 0); while (off--) { STRLEN skip = UTF8SKIP(s); if ((STRLEN)(end - s) <= skip) { GCC_DIAG_IGNORE(-Wcast-qual) return (U8 *)end; GCC_DIAG_RESTORE } s += skip; } GCC_DIAG_IGNORE(-Wcast-qual) return (U8 *)s; GCC_DIAG_RESTORE } /* =for apidoc utf8_hop_back Return the UTF-8 pointer C<s> displaced by up to C<off> characters, backward. C<off> must be non-positive. C<s> must be after or equal to C<start>. When moving backward it will not move before C<start>. Will not exceed this limit even if the string is not valid "UTF-8". =cut */ PERL_STATIC_INLINE U8 * Perl_utf8_hop_back(const U8 *s, SSize_t off, const U8 *start) { PERL_ARGS_ASSERT_UTF8_HOP_BACK; /* Note: cannot use UTF8_IS_...() too eagerly here since e.g * the bitops (especially ~) can create illegal UTF-8. * In other words: in Perl UTF-8 is not just for Unicode. */ assert(start <= s); assert(off <= 0); while (off++ && s > start) { do { s--; } while (UTF8_IS_CONTINUATION(*s) && s > start); } GCC_DIAG_IGNORE(-Wcast-qual) return (U8 *)s; GCC_DIAG_RESTORE } /* =for apidoc utf8_hop_safe Return the UTF-8 pointer C<s> displaced by up to C<off> characters, either forward or backward. When moving backward it will not move before C<start>. When moving forward it will not move beyond C<end>. Will not exceed those limits even if the string is not valid "UTF-8". =cut */ PERL_STATIC_INLINE U8 * Perl_utf8_hop_safe(const U8 *s, SSize_t off, const U8 *start, const U8 *end) { PERL_ARGS_ASSERT_UTF8_HOP_SAFE; /* Note: cannot use UTF8_IS_...() too eagerly here since e.g * the bitops (especially ~) can create illegal UTF-8. * In other words: in Perl UTF-8 is not just for Unicode. */ assert(start <= s && s <= end); if (off >= 0) { return utf8_hop_forward(s, off, end); } else { return utf8_hop_back(s, off, start); } } /* =for apidoc is_utf8_valid_partial_char Returns 0 if the sequence of bytes starting at C<s> and looking no further than S<C<e - 1>> is the UTF-8 encoding, as extended by Perl, for one or more code points. Otherwise, it returns 1 if there exists at least one non-empty sequence of bytes that when appended to sequence C<s>, starting at position C<e> causes the entire sequence to be the well-formed UTF-8 of some code point; otherwise returns 0. In other words this returns TRUE if C<s> points to a partial UTF-8-encoded code point. This is useful when a fixed-length buffer is being tested for being well-formed UTF-8, but the final few bytes in it don't comprise a full character; that is, it is split somewhere in the middle of the final code point's UTF-8 representation. (Presumably when the buffer is refreshed with the next chunk of data, the new first bytes will complete the partial code point.) This function is used to verify that the final bytes in the current buffer are in fact the legal beginning of some code point, so that if they aren't, the failure can be signalled without having to wait for the next read. =cut */ #define is_utf8_valid_partial_char(s, e) \ is_utf8_valid_partial_char_flags(s, e, 0) /* =for apidoc is_utf8_valid_partial_char_flags Like C<L</is_utf8_valid_partial_char>>, it returns a boolean giving whether or not the input is a valid UTF-8 encoded partial character, but it takes an extra parameter, C<flags>, which can further restrict which code points are considered valid. If C<flags> is 0, this behaves identically to C<L</is_utf8_valid_partial_char>>. Otherwise C<flags> can be any combination of the C<UTF8_DISALLOW_I<foo>> flags accepted by C<L</utf8n_to_uvchr>>. If there is any sequence of bytes that can complete the input partial character in such a way that a non-prohibited character is formed, the function returns TRUE; otherwise FALSE. Non character code points cannot be determined based on partial character input. But many of the other possible excluded types can be determined from just the first one or two bytes. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) { PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS; assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE |UTF8_DISALLOW_PERL_EXTENDED))); if (s >= e || s + UTF8SKIP(s) <= e) { return FALSE; } return cBOOL(is_utf8_char_helper(s, e, flags)); } /* =for apidoc is_utf8_fixed_width_buf_flags Returns TRUE if the fixed-width buffer starting at C<s> with length C<len> is entirely valid UTF-8, subject to the restrictions given by C<flags>; otherwise it returns FALSE. If C<flags> is 0, any well-formed UTF-8, as extended by Perl, is accepted without restriction. If the final few bytes of the buffer do not form a complete code point, this will return TRUE anyway, provided that C<L</is_utf8_valid_partial_char_flags>> returns TRUE for them. If C<flags> in non-zero, it can be any combination of the C<UTF8_DISALLOW_I<foo>> flags accepted by C<L</utf8n_to_uvchr>>, and with the same meanings. This function differs from C<L</is_utf8_string_flags>> only in that the latter returns FALSE if the final few bytes of the string don't form a complete code point. =cut */ #define is_utf8_fixed_width_buf_flags(s, len, flags) \ is_utf8_fixed_width_buf_loclen_flags(s, len, 0, 0, flags) /* =for apidoc is_utf8_fixed_width_buf_loc_flags Like C<L</is_utf8_fixed_width_buf_flags>> but stores the location of the failure in the C<ep> pointer. If the function returns TRUE, C<*ep> will point to the beginning of any partial character at the end of the buffer; if there is no partial character C<*ep> will contain C<s>+C<len>. See also C<L</is_utf8_fixed_width_buf_loclen_flags>>. =cut */ #define is_utf8_fixed_width_buf_loc_flags(s, len, loc, flags) \ is_utf8_fixed_width_buf_loclen_flags(s, len, loc, 0, flags) /* =for apidoc is_utf8_fixed_width_buf_loclen_flags Like C<L</is_utf8_fixed_width_buf_loc_flags>> but stores the number of complete, valid characters found in the C<el> pointer. =cut */ PERL_STATIC_INLINE bool Perl_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags) { const U8 * maybe_partial; PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS; if (! ep) { ep = &maybe_partial; } /* If it's entirely valid, return that; otherwise see if the only error is * that the final few bytes are for a partial character */ return is_utf8_string_loclen_flags(s, len, ep, el, flags) || is_utf8_valid_partial_char_flags(*ep, s + len, flags); } PERL_STATIC_INLINE UV Perl_utf8n_to_uvchr_msgs(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs) { /* This is the inlined portion of utf8n_to_uvchr_msgs. It handles the * simple cases, and, if necessary calls a helper function to deal with the * more complex ones. Almost all well-formed non-problematic code points * are considered simple, so that it's unlikely that the helper function * will need to be called. * * This is an adaptation of the tables and algorithm given in * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which provides * comprehensive documentation of the original version. A copyright notice * for the original version is given at the beginning of this file. The * Perl adapation is documented at the definition of PL_strict_utf8_dfa_tab[]. */ const U8 * const s0 = s; const U8 * send = s0 + curlen; UV uv = 0; /* The 0 silences some stupid compilers */ UV state = 0; PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_MSGS; /* This dfa is fast. If it accepts the input, it was for a well-formed, * non-problematic code point, which can be returned immediately. * Otherwise we call a helper function to figure out the more complicated * cases. */ while (s < send && LIKELY(state != 1)) { UV type = PL_strict_utf8_dfa_tab[*s]; uv = (state == 0) ? ((0xff >> type) & NATIVE_UTF8_TO_I8(*s)) : UTF8_ACCUMULATE(uv, *s); state = PL_strict_utf8_dfa_tab[256 + state + type]; if (state != 0) { s++; continue; } if (retlen) { *retlen = s - s0 + 1; } if (errors) { *errors = 0; } if (msgs) { *msgs = NULL; } return UNI_TO_NATIVE(uv); } /* Here is potentially problematic. Use the full mechanism */ return _utf8n_to_uvchr_msgs_helper(s0, curlen, retlen, flags, errors, msgs); } PERL_STATIC_INLINE UV Perl_utf8_to_uvchr_buf_helper(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) { PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF_HELPER; assert(s < send); if (! ckWARN_d(WARN_UTF8)) { /* EMPTY is not really allowed, and asserts on debugging builds. But * on non-debugging we have to deal with it, and this causes it to * return the REPLACEMENT CHARACTER, as the documentation indicates */ return utf8n_to_uvchr(s, send - s, retlen, (UTF8_ALLOW_ANY | UTF8_ALLOW_EMPTY)); } else { UV ret = utf8n_to_uvchr(s, send - s, retlen, 0); if (retlen && ret == 0 && *s != '\0') { *retlen = (STRLEN) -1; } return ret; } } /* ------------------------------- perl.h ----------------------------- */ /* =head1 Miscellaneous Functions =for apidoc is_safe_syscall Test that the given C<pv> (with length C<len>) doesn't contain any internal C<NUL> characters. If it does, set C<errno> to C<ENOENT>, optionally warn using the C<syscalls> category, and return FALSE. Return TRUE if the name is safe. C<what> and C<op_name> are used in any warning. Used by the C<IS_SAFE_SYSCALL()> macro. =cut */ PERL_STATIC_INLINE bool Perl_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) { /* While the Windows CE API provides only UCS-16 (or UTF-16) APIs * perl itself uses xce*() functions which accept 8-bit strings. */ PERL_ARGS_ASSERT_IS_SAFE_SYSCALL; if (len > 1) { char *null_at; if (UNLIKELY((null_at = (char *)memchr(pv, 0, len-1)) != NULL)) { SETERRNO(ENOENT, LIB_INVARG); Perl_ck_warner(aTHX_ packWARN(WARN_SYSCALLS), "Invalid \\0 character in %s for %s: %s\\0%s", what, op_name, pv, null_at+1); return FALSE; } } return TRUE; } /* Return true if the supplied filename has a newline character immediately before the first (hopefully only) NUL. My original look at this incorrectly used the len from SvPV(), but that's incorrect, since we allow for a NUL in pv[len-1]. So instead, strlen() and work from there. This allow for the user reading a filename, forgetting to chomp it, then calling: open my $foo, "$file\0"; */ #ifdef PERL_CORE PERL_STATIC_INLINE bool S_should_warn_nl(const char *pv) { STRLEN len; PERL_ARGS_ASSERT_SHOULD_WARN_NL; len = strlen(pv); return len > 0 && pv[len-1] == '\n'; } #endif #if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) PERL_STATIC_INLINE bool S_lossless_NV_to_IV(const NV nv, IV *ivp) { /* This function determines if the input NV 'nv' may be converted without * loss of data to an IV. If not, it returns FALSE taking no other action. * But if it is possible, it does the conversion, returning TRUE, and * storing the converted result in '*ivp' */ PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV; # if defined(Perl_isnan) if (UNLIKELY(Perl_isnan(nv))) { return FALSE; } # endif if (UNLIKELY(nv < IV_MIN) || UNLIKELY(nv > IV_MAX)) { return FALSE; } if ((IV) nv != nv) { return FALSE; } *ivp = (IV) nv; return TRUE; } #endif /* ------------------ regcomp.c, toke.c ------------ */ #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) /* - regcurly - a little FSA that accepts {\d+,?\d*} Pulled from reg.c. */ PERL_STATIC_INLINE bool S_regcurly(const char *s) { PERL_ARGS_ASSERT_REGCURLY; if (*s++ != '{') return FALSE; if (!isDIGIT(*s)) return FALSE; while (isDIGIT(*s)) s++; if (*s == ',') { s++; while (isDIGIT(*s)) s++; } return *s == '}'; } #endif /* ------------------ pp.c, regcomp.c, toke.c, universal.c ------------ */ #if defined(PERL_IN_PP_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) #define MAX_CHARSET_NAME_LENGTH 2 PERL_STATIC_INLINE const char * S_get_regex_charset_name(const U32 flags, STRLEN* const lenp) { PERL_ARGS_ASSERT_GET_REGEX_CHARSET_NAME; /* Returns a string that corresponds to the name of the regex character set * given by 'flags', and *lenp is set the length of that string, which * cannot exceed MAX_CHARSET_NAME_LENGTH characters */ *lenp = 1; switch (get_regex_charset(flags)) { case REGEX_DEPENDS_CHARSET: return DEPENDS_PAT_MODS; case REGEX_LOCALE_CHARSET: return LOCALE_PAT_MODS; case REGEX_UNICODE_CHARSET: return UNICODE_PAT_MODS; case REGEX_ASCII_RESTRICTED_CHARSET: return ASCII_RESTRICT_PAT_MODS; case REGEX_ASCII_MORE_RESTRICTED_CHARSET: *lenp = 2; return ASCII_MORE_RESTRICT_PAT_MODS; } /* The NOT_REACHED; hides an assert() which has a rather complex * definition in perl.h. */ NOT_REACHED; /* NOTREACHED */ return "?"; /* Unknown */ } #endif /* Return false if any get magic is on the SV other than taint magic. */ PERL_STATIC_INLINE bool Perl_sv_only_taint_gmagic(SV *sv) { MAGIC *mg = SvMAGIC(sv); PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC; while (mg) { if (mg->mg_type != PERL_MAGIC_taint && !(mg->mg_flags & MGf_GSKIP) && mg->mg_virtual->svt_get) { return FALSE; } mg = mg->mg_moremagic; } return TRUE; } /* ------------------ cop.h ------------------------------------------- */ /* implement GIMME_V() macro */ PERL_STATIC_INLINE U8 Perl_gimme_V(pTHX) { I32 cxix; U8 gimme = (PL_op->op_flags & OPf_WANT); if (gimme) return gimme; cxix = PL_curstackinfo->si_cxsubix; if (cxix < 0) return G_VOID; assert(cxstack[cxix].blk_gimme & G_WANT); return (cxstack[cxix].blk_gimme & G_WANT); } /* Enter a block. Push a new base context and return its address. */ PERL_STATIC_INLINE PERL_CONTEXT * Perl_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix) { PERL_CONTEXT * cx; PERL_ARGS_ASSERT_CX_PUSHBLOCK; CXINC; cx = CX_CUR(); cx->cx_type = type; cx->blk_gimme = gimme; cx->blk_oldsaveix = saveix; cx->blk_oldsp = (I32)(sp - PL_stack_base); cx->blk_oldcop = PL_curcop; cx->blk_oldmarksp = (I32)(PL_markstack_ptr - PL_markstack); cx->blk_oldscopesp = PL_scopestack_ix; cx->blk_oldpm = PL_curpm; cx->blk_old_tmpsfloor = PL_tmps_floor; PL_tmps_floor = PL_tmps_ix; CX_DEBUG(cx, "PUSH"); return cx; } /* Exit a block (RETURN and LAST). */ PERL_STATIC_INLINE void Perl_cx_popblock(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPBLOCK; CX_DEBUG(cx, "POP"); /* these 3 are common to cx_popblock and cx_topblock */ PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp; PL_scopestack_ix = cx->blk_oldscopesp; PL_curpm = cx->blk_oldpm; /* LEAVE_SCOPE() should have made this true. /(?{})/ cheats * and leaves a CX entry lying around for repeated use, so * skip for multicall */ \ assert( (CxTYPE(cx) == CXt_SUB && CxMULTICALL(cx)) || PL_savestack_ix == cx->blk_oldsaveix); PL_curcop = cx->blk_oldcop; PL_tmps_floor = cx->blk_old_tmpsfloor; } /* Continue a block elsewhere (e.g. NEXT, REDO, GOTO). * Whereas cx_popblock() restores the state to the point just before * cx_pushblock() was called, cx_topblock() restores it to the point just * *after* cx_pushblock() was called. */ PERL_STATIC_INLINE void Perl_cx_topblock(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_TOPBLOCK; CX_DEBUG(cx, "TOP"); /* these 3 are common to cx_popblock and cx_topblock */ PL_markstack_ptr = PL_markstack + cx->blk_oldmarksp; PL_scopestack_ix = cx->blk_oldscopesp; PL_curpm = cx->blk_oldpm; PL_stack_sp = PL_stack_base + cx->blk_oldsp; } PERL_STATIC_INLINE void Perl_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs) { U8 phlags = CX_PUSHSUB_GET_LVALUE_MASK(Perl_was_lvalue_sub); PERL_ARGS_ASSERT_CX_PUSHSUB; PERL_DTRACE_PROBE_ENTRY(cv); cx->blk_sub.old_cxsubix = PL_curstackinfo->si_cxsubix; PL_curstackinfo->si_cxsubix = cx - PL_curstackinfo->si_cxstack; cx->blk_sub.cv = cv; cx->blk_sub.olddepth = CvDEPTH(cv); cx->blk_sub.prevcomppad = PL_comppad; cx->cx_type |= (hasargs) ? CXp_HASARGS : 0; cx->blk_sub.retop = retop; SvREFCNT_inc_simple_void_NN(cv); cx->blk_u16 = PL_op->op_private & (phlags|OPpDEREF); } /* subsets of cx_popsub() */ PERL_STATIC_INLINE void Perl_cx_popsub_common(pTHX_ PERL_CONTEXT *cx) { CV *cv; PERL_ARGS_ASSERT_CX_POPSUB_COMMON; assert(CxTYPE(cx) == CXt_SUB); PL_comppad = cx->blk_sub.prevcomppad; PL_curpad = LIKELY(PL_comppad) ? AvARRAY(PL_comppad) : NULL; cv = cx->blk_sub.cv; CvDEPTH(cv) = cx->blk_sub.olddepth; cx->blk_sub.cv = NULL; SvREFCNT_dec(cv); PL_curstackinfo->si_cxsubix = cx->blk_sub.old_cxsubix; } /* handle the @_ part of leaving a sub */ PERL_STATIC_INLINE void Perl_cx_popsub_args(pTHX_ PERL_CONTEXT *cx) { AV *av; PERL_ARGS_ASSERT_CX_POPSUB_ARGS; assert(CxTYPE(cx) == CXt_SUB); assert(AvARRAY(MUTABLE_AV( PadlistARRAY(CvPADLIST(cx->blk_sub.cv))[ CvDEPTH(cx->blk_sub.cv)])) == PL_curpad); CX_POP_SAVEARRAY(cx); av = MUTABLE_AV(PAD_SVl(0)); if (UNLIKELY(AvREAL(av))) /* abandon @_ if it got reified */ clear_defarray(av, 0); else { CLEAR_ARGARRAY(av); } } PERL_STATIC_INLINE void Perl_cx_popsub(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPSUB; assert(CxTYPE(cx) == CXt_SUB); PERL_DTRACE_PROBE_RETURN(cx->blk_sub.cv); if (CxHASARGS(cx)) cx_popsub_args(cx); cx_popsub_common(cx); } PERL_STATIC_INLINE void Perl_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv) { PERL_ARGS_ASSERT_CX_PUSHFORMAT; cx->blk_format.old_cxsubix = PL_curstackinfo->si_cxsubix; PL_curstackinfo->si_cxsubix= cx - PL_curstackinfo->si_cxstack; cx->blk_format.cv = cv; cx->blk_format.retop = retop; cx->blk_format.gv = gv; cx->blk_format.dfoutgv = PL_defoutgv; cx->blk_format.prevcomppad = PL_comppad; cx->blk_u16 = 0; SvREFCNT_inc_simple_void_NN(cv); CvDEPTH(cv)++; SvREFCNT_inc_void(cx->blk_format.dfoutgv); } PERL_STATIC_INLINE void Perl_cx_popformat(pTHX_ PERL_CONTEXT *cx) { CV *cv; GV *dfout; PERL_ARGS_ASSERT_CX_POPFORMAT; assert(CxTYPE(cx) == CXt_FORMAT); dfout = cx->blk_format.dfoutgv; setdefout(dfout); cx->blk_format.dfoutgv = NULL; SvREFCNT_dec_NN(dfout); PL_comppad = cx->blk_format.prevcomppad; PL_curpad = LIKELY(PL_comppad) ? AvARRAY(PL_comppad) : NULL; cv = cx->blk_format.cv; cx->blk_format.cv = NULL; --CvDEPTH(cv); SvREFCNT_dec_NN(cv); PL_curstackinfo->si_cxsubix = cx->blk_format.old_cxsubix; } PERL_STATIC_INLINE void Perl_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv) { PERL_ARGS_ASSERT_CX_PUSHEVAL; cx->blk_eval.old_cxsubix = PL_curstackinfo->si_cxsubix; PL_curstackinfo->si_cxsubix= cx - PL_curstackinfo->si_cxstack; cx->blk_eval.retop = retop; cx->blk_eval.old_namesv = namesv; cx->blk_eval.old_eval_root = PL_eval_root; cx->blk_eval.cur_text = PL_parser ? PL_parser->linestr : NULL; cx->blk_eval.cv = NULL; /* later set by doeval_compile() */ cx->blk_eval.cur_top_env = PL_top_env; assert(!(PL_in_eval & ~ 0x3F)); assert(!(PL_op->op_type & ~0x1FF)); cx->blk_u16 = (PL_in_eval & 0x3F) | ((U16)PL_op->op_type << 7); } PERL_STATIC_INLINE void Perl_cx_popeval(pTHX_ PERL_CONTEXT *cx) { SV *sv; PERL_ARGS_ASSERT_CX_POPEVAL; assert(CxTYPE(cx) == CXt_EVAL); PL_in_eval = CxOLD_IN_EVAL(cx); assert(!(PL_in_eval & 0xc0)); PL_eval_root = cx->blk_eval.old_eval_root; sv = cx->blk_eval.cur_text; if (sv && CxEVAL_TXT_REFCNTED(cx)) { cx->blk_eval.cur_text = NULL; SvREFCNT_dec_NN(sv); } sv = cx->blk_eval.old_namesv; if (sv) { cx->blk_eval.old_namesv = NULL; SvREFCNT_dec_NN(sv); } PL_curstackinfo->si_cxsubix = cx->blk_eval.old_cxsubix; } /* push a plain loop, i.e. * { block } * while (cond) { block } * for (init;cond;continue) { block } * This loop can be last/redo'ed etc. */ PERL_STATIC_INLINE void Perl_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_PUSHLOOP_PLAIN; cx->blk_loop.my_op = cLOOP; } /* push a true for loop, i.e. * for var (list) { block } */ PERL_STATIC_INLINE void Perl_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV* itersave) { PERL_ARGS_ASSERT_CX_PUSHLOOP_FOR; /* this one line is common with cx_pushloop_plain */ cx->blk_loop.my_op = cLOOP; cx->blk_loop.itervar_u.svp = (SV**)itervarp; cx->blk_loop.itersave = itersave; #ifdef USE_ITHREADS cx->blk_loop.oldcomppad = PL_comppad; #endif } /* pop all loop types, including plain */ PERL_STATIC_INLINE void Perl_cx_poploop(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPLOOP; assert(CxTYPE_is_LOOP(cx)); if ( CxTYPE(cx) == CXt_LOOP_ARY || CxTYPE(cx) == CXt_LOOP_LAZYSV) { /* Free ary or cur. This assumes that state_u.ary.ary * aligns with state_u.lazysv.cur. See cx_dup() */ SV *sv = cx->blk_loop.state_u.lazysv.cur; cx->blk_loop.state_u.lazysv.cur = NULL; SvREFCNT_dec_NN(sv); if (CxTYPE(cx) == CXt_LOOP_LAZYSV) { sv = cx->blk_loop.state_u.lazysv.end; cx->blk_loop.state_u.lazysv.end = NULL; SvREFCNT_dec_NN(sv); } } if (cx->cx_type & (CXp_FOR_PAD|CXp_FOR_GV)) { SV *cursv; SV **svp = (cx)->blk_loop.itervar_u.svp; if ((cx->cx_type & CXp_FOR_GV)) svp = &GvSV((GV*)svp); cursv = *svp; *svp = cx->blk_loop.itersave; cx->blk_loop.itersave = NULL; SvREFCNT_dec(cursv); } } PERL_STATIC_INLINE void Perl_cx_pushwhen(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_PUSHWHEN; cx->blk_givwhen.leave_op = cLOGOP->op_other; } PERL_STATIC_INLINE void Perl_cx_popwhen(pTHX_ PERL_CONTEXT *cx) { PERL_ARGS_ASSERT_CX_POPWHEN; assert(CxTYPE(cx) == CXt_WHEN); PERL_UNUSED_ARG(cx); PERL_UNUSED_CONTEXT; /* currently NOOP */ } PERL_STATIC_INLINE void Perl_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv) { PERL_ARGS_ASSERT_CX_PUSHGIVEN; cx->blk_givwhen.leave_op = cLOGOP->op_other; cx->blk_givwhen.defsv_save = orig_defsv; } PERL_STATIC_INLINE void Perl_cx_popgiven(pTHX_ PERL_CONTEXT *cx) { SV *sv; PERL_ARGS_ASSERT_CX_POPGIVEN; assert(CxTYPE(cx) == CXt_GIVEN); sv = GvSV(PL_defgv); GvSV(PL_defgv) = cx->blk_givwhen.defsv_save; cx->blk_givwhen.defsv_save = NULL; SvREFCNT_dec(sv); } /* ------------------ util.h ------------------------------------------- */ /* =head1 Miscellaneous Functions =for apidoc foldEQ Returns true if the leading C<len> bytes of the strings C<s1> and C<s2> are the same case-insensitively; false otherwise. Uppercase and lowercase ASCII range bytes match themselves and their opposite case counterparts. Non-cased and non-ASCII range bytes match only themselves. =cut */ PERL_STATIC_INLINE I32 Perl_foldEQ(const char *s1, const char *s2, I32 len) { const U8 *a = (const U8 *)s1; const U8 *b = (const U8 *)s2; PERL_ARGS_ASSERT_FOLDEQ; assert(len >= 0); while (len--) { if (*a != *b && *a != PL_fold[*b]) return 0; a++,b++; } return 1; } PERL_STATIC_INLINE I32 Perl_foldEQ_latin1(const char *s1, const char *s2, I32 len) { /* Compare non-UTF-8 using Unicode (Latin1) semantics. Works on all folds * representable without UTF-8, except for LATIN_SMALL_LETTER_SHARP_S, and * does not check for this. Nor does it check that the strings each have * at least 'len' characters. */ const U8 *a = (const U8 *)s1; const U8 *b = (const U8 *)s2; PERL_ARGS_ASSERT_FOLDEQ_LATIN1; assert(len >= 0); while (len--) { if (*a != *b && *a != PL_fold_latin1[*b]) { return 0; } a++, b++; } return 1; } /* =for apidoc foldEQ_locale Returns true if the leading C<len> bytes of the strings C<s1> and C<s2> are the same case-insensitively in the current locale; false otherwise. =cut */ PERL_STATIC_INLINE I32 Perl_foldEQ_locale(const char *s1, const char *s2, I32 len) { dVAR; const U8 *a = (const U8 *)s1; const U8 *b = (const U8 *)s2; PERL_ARGS_ASSERT_FOLDEQ_LOCALE; assert(len >= 0); while (len--) { if (*a != *b && *a != PL_fold_locale[*b]) return 0; a++,b++; } return 1; } /* =for apidoc my_strnlen The C library C<strnlen> if available, or a Perl implementation of it. C<my_strnlen()> computes the length of the string, up to C<maxlen> characters. It will never attempt to address more than C<maxlen> characters, making it suitable for use with strings that are not guaranteed to be NUL-terminated. =cut Description stolen from http://man.openbsd.org/strnlen.3, implementation stolen from PostgreSQL. */ #ifndef HAS_STRNLEN PERL_STATIC_INLINE Size_t Perl_my_strnlen(const char *str, Size_t maxlen) { const char *end = (char *) memchr(str, '\0', maxlen); PERL_ARGS_ASSERT_MY_STRNLEN; if (end == NULL) return maxlen; return end - str; } #endif #if ! defined (HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) PERL_STATIC_INLINE void * S_my_memrchr(const char * s, const char c, const STRLEN len) { /* memrchr(), since many platforms lack it */ const char * t = s + len - 1; PERL_ARGS_ASSERT_MY_MEMRCHR; while (t >= s) { if (*t == c) { return (void *) t; } t--; } return NULL; } #endif PERL_STATIC_INLINE char * Perl_mortal_getenv(const char * str) { /* This implements a (mostly) thread-safe, sequential-call-safe getenv(). * * It's (mostly) thread-safe because it uses a mutex to prevent * simultaneous access from other threads that use the same mutex, and * makes a copy of the result before releasing that mutex. All of the Perl * core uses that mutex, but, like all mutexes, everything has to cooperate * for it to completely work. It is possible for code from, say XS, to not * use this mutex, defeating the safety. * * On some platforms, getenv() is not sequential-call-safe, because * subsequent calls destroy the static storage inside the C library * returned by an earlier call. The result must be copied or completely * acted upon before a subsequent getenv call. Those calls could come from * another thread. Again, making a copy while controlling the mutex * prevents these problems.. * * To prevent leaks, the copy is made by creating a new SV containing it, * mortalizing the SV, and returning the SV's string (the copy). Thus this * is a drop-in replacement for getenv(). * * A complication is that this can be called during phases where the * mortalization process isn't available. These are in interpreter * destruction or early in construction. khw believes that at these times * there shouldn't be anything else going on, so plain getenv is safe AS * LONG AS the caller acts on the return before calling it again. */ char * ret; dTHX; PERL_ARGS_ASSERT_MORTAL_GETENV; /* Can't mortalize without stacks. khw believes that no other threads * should be running, so no need to lock things, and this may be during a * phase when locking isn't even available */ if (UNLIKELY(PL_scopestack_ix == 0)) { return getenv(str); } ENV_LOCK; ret = getenv(str); if (ret != NULL) { ret = SvPVX(sv_2mortal(newSVpv(ret, 0))); } ENV_UNLOCK; return ret; } /* * ex: set ts=8 sts=4 sw=4 et: */ perlsdio.h 0000644 00000001017 15140731057 0006540 0 ustar 00 /* perlsdio.h * * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* Shouldn't be possible to get here, but if we did ... */ #ifdef PERLIO_IS_STDIO # error "stdio is no longer supported as the default base layer -- use perlio." #endif /* PERLIO_IS_STDIO */ /* * ex: set ts=8 sts=4 sw=4 et: */ perly.h 0000644 00000011121 15140731057 0006047 0 ustar 00 /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen_perly.pl from perly.y. Any changes made here will be lost! */ #define PERL_BISON_VERSION 30003 #ifdef PERL_CORE /* A Bison parser, made by GNU Bison 3.3.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* Undocumented macros, especially those whose name start with YY_, are private implementation details. Do not rely on them. */ /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { GRAMPROG = 258, GRAMEXPR = 259, GRAMBLOCK = 260, GRAMBARESTMT = 261, GRAMFULLSTMT = 262, GRAMSTMTSEQ = 263, GRAMSUBSIGNATURE = 264, BAREWORD = 265, METHOD = 266, FUNCMETH = 267, THING = 268, PMFUNC = 269, PRIVATEREF = 270, QWLIST = 271, FUNC0OP = 272, FUNC0SUB = 273, UNIOPSUB = 274, LSTOPSUB = 275, PLUGEXPR = 276, PLUGSTMT = 277, LABEL = 278, FORMAT = 279, SUB = 280, SIGSUB = 281, ANONSUB = 282, ANON_SIGSUB = 283, PACKAGE = 284, USE = 285, WHILE = 286, UNTIL = 287, IF = 288, UNLESS = 289, ELSE = 290, ELSIF = 291, CONTINUE = 292, FOR = 293, GIVEN = 294, WHEN = 295, DEFAULT = 296, LOOPEX = 297, DOTDOT = 298, YADAYADA = 299, FUNC0 = 300, FUNC1 = 301, FUNC = 302, UNIOP = 303, LSTOP = 304, MULOP = 305, ADDOP = 306, DOLSHARP = 307, DO = 308, HASHBRACK = 309, NOAMP = 310, LOCAL = 311, MY = 312, REQUIRE = 313, COLONATTR = 314, FORMLBRACK = 315, FORMRBRACK = 316, SUBLEXSTART = 317, SUBLEXEND = 318, PREC_LOW = 319, OROP = 320, DOROP = 321, ANDOP = 322, NOTOP = 323, ASSIGNOP = 324, OROR = 325, DORDOR = 326, ANDAND = 327, BITOROP = 328, BITANDOP = 329, CHEQOP = 330, NCEQOP = 331, CHRELOP = 332, NCRELOP = 333, SHIFTOP = 334, MATCHOP = 335, UMINUS = 336, REFGEN = 337, POWOP = 338, PREINC = 339, PREDEC = 340, POSTINC = 341, POSTDEC = 342, POSTJOIN = 343, ARROW = 344 }; #endif /* Value type. */ #ifdef PERL_IN_TOKE_C static bool S_is_opval_token(int type) { switch (type) { case BAREWORD: case FUNC0OP: case FUNC0SUB: case FUNCMETH: case LABEL: case LSTOPSUB: case METHOD: case PLUGEXPR: case PLUGSTMT: case PMFUNC: case PRIVATEREF: case QWLIST: case THING: case UNIOPSUB: return 1; } return 0; } #endif /* PERL_IN_TOKE_C */ #endif /* PERL_CORE */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { I32 ival; /* __DEFAULT__ (marker for regen_perly.pl; must always be 1st union member) */ char *pval; OP *opval; GV *gvval; }; typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (void); /* Generated from: * e5b801fdebce5c77dd8e644fc5a489cbea6af33db180e771dd9d669b12bbe0cf perly.y * 0947213b55d0ed11693554bea04987e886cf285f5c14cf9075fa1e7acc3f4061 regen_perly.pl * ex: set ro: */ perlvars.h 0000644 00000031206 15140731057 0006560 0 ustar 00 /* perlvars.h * * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, * by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* =head1 Global Variables These variables are global to an entire process. They are shared between all interpreters and all threads in a process. Any variables not documented here may be changed or removed without notice, so don't use them! If you feel you really do need to use an unlisted variable, first send email to L<perl5-porters@perl.org|mailto:perl5-porters@perl.org>. It may be that someone there will point out a way to accomplish what you need without using an internal variable. But if not, you should get a go-ahead to document and then use the variable. =cut */ /* Don't forget to re-run regen/embed.pl to propagate changes! */ /* This file describes the "global" variables used by perl * This used to be in perl.h directly but we want to abstract out into * distinct files which are per-thread, per-interpreter or really global, * and how they're initialized. * * The 'G' prefix is only needed for vars that need appropriate #defines * generated in embed*.h. Such symbols are also used to generate * the appropriate export list for win32. */ /* global state */ #if defined(USE_ITHREADS) PERLVAR(G, op_mutex, perl_mutex) /* Mutex for op refcounting */ #endif PERLVARI(G, curinterp, PerlInterpreter *, NULL) /* currently running interpreter * (initial parent interpreter under * useithreads) */ #if defined(USE_ITHREADS) PERLVAR(G, thr_key, perl_key) /* key to retrieve per-thread struct */ #endif /* XXX does anyone even use this? */ PERLVARI(G, do_undump, bool, FALSE) /* -u or dump seen? */ #ifndef PERL_USE_SAFE_PUTENV PERLVARI(G, use_safe_putenv, bool, TRUE) #endif #if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS) PERLVARI(G, sig_handlers_initted, int, 0) #endif #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS PERLVARA(G, sig_ignoring, SIG_SIZE, int) /* which signals we are ignoring */ #endif #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS PERLVARA(G, sig_defaulting, SIG_SIZE, int) #endif /* XXX signals are process-wide anyway, so we * ignore the implications of this for threading */ #ifndef HAS_SIGACTION PERLVARI(G, sig_trapped, int, 0) #endif #ifndef PERL_MICRO /* If Perl has to ignore SIGPFE, this is its saved state. * See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */ PERLVAR(G, sigfpe_saved, Sighandler_t) /* these ptrs to functions are to avoid linkage problems; see * perl-5.8.0-2193-g5c1546dc48 */ PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler) PERLVARI(G, csighandler1p, Sighandler1_t, Perl_csighandler1) PERLVARI(G, csighandler3p, Sighandler3_t, Perl_csighandler3) #endif /* This is constant on most architectures, a global on OS/2 */ #ifdef OS2 PERLVARI(G, sh_path, char *, SH_PATH) /* full path of shell */ #endif #ifdef USE_PERLIO # if defined(USE_ITHREADS) PERLVAR(G, perlio_mutex, perl_mutex) /* Mutex for perlio fd refcounts */ # endif PERLVARI(G, perlio_fd_refcnt, int *, 0) /* Pointer to array of fd refcounts. */ PERLVARI(G, perlio_fd_refcnt_size, int, 0) /* Size of the array */ PERLVARI(G, perlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */ #endif #ifdef HAS_MMAP PERLVARI(G, mmap_page_size, IV, 0) #endif #if defined(USE_ITHREADS) PERLVAR(G, hints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */ PERLVAR(G, env_mutex, perl_mutex) /* Mutex for accessing ENV */ # if ! defined(USE_THREAD_SAFE_LOCALE) || defined(TS_W32_BROKEN_LOCALECONV) PERLVAR(G, locale_mutex, perl_mutex) /* Mutex for setlocale() changing */ # endif # ifndef USE_THREAD_SAFE_LOCALE PERLVAR(G, lc_numeric_mutex, perl_mutex) /* Mutex for switching LC_NUMERIC */ # endif #endif #ifdef USE_POSIX_2008_LOCALE PERLVAR(G, C_locale_obj, locale_t) #endif PERLVARI(G, watch_pvx, char *, NULL) /* =for apidoc AmnU|Perl_check_t *|PL_check Array, indexed by opcode, of functions that will be called for the "check" phase of optree building during compilation of Perl code. For most (but not all) types of op, once the op has been initially built and populated with child ops it will be filtered through the check function referenced by the appropriate element of this array. The new op is passed in as the sole argument to the check function, and the check function returns the completed op. The check function may (as the name suggests) check the op for validity and signal errors. It may also initialise or modify parts of the ops, or perform more radical surgery such as adding or removing child ops, or even throw the op away and return a different op in its place. This array of function pointers is a convenient place to hook into the compilation process. An XS module can put its own custom check function in place of any of the standard ones, to influence the compilation of a particular type of op. However, a custom check function must never fully replace a standard check function (or even a custom check function from another module). A module modifying checking must instead B<wrap> the preexisting check function. A custom check function must be selective about when to apply its custom behaviour. In the usual case where it decides not to do anything special with an op, it must chain the preexisting op function. Check functions are thus linked in a chain, with the core's base checker at the end. For thread safety, modules should not write directly to this array. Instead, use the function L</wrap_op_checker>. =for apidoc Amn|enum perl_phase|PL_phase A value that indicates the current Perl interpreter's phase. Possible values include C<PERL_PHASE_CONSTRUCT>, C<PERL_PHASE_START>, C<PERL_PHASE_CHECK>, C<PERL_PHASE_INIT>, C<PERL_PHASE_RUN>, C<PERL_PHASE_END>, and C<PERL_PHASE_DESTRUCT>. For example, the following determines whether the interpreter is in global destruction: if (PL_phase == PERL_PHASE_DESTRUCT) { // we are in global destruction } C<PL_phase> was introduced in Perl 5.14; in prior perls you can use C<PL_dirty> (boolean) to determine whether the interpreter is in global destruction. (Use of C<PL_dirty> is discouraged since 5.14.) =cut */ #if defined(USE_ITHREADS) PERLVAR(G, check_mutex, perl_mutex) /* Mutex for PL_check */ #endif #ifdef PERL_GLOBAL_STRUCT PERLVAR(G, ppaddr, Perl_ppaddr_t *) /* or opcode.h */ PERLVAR(G, check, Perl_check_t *) /* or opcode.h */ PERLVARA(G, fold_locale, 256, unsigned char) /* or perl.h */ #endif #ifdef PERL_NEED_APPCTX PERLVAR(G, appctx, void*) /* the application context */ #endif #if defined(HAS_TIMES) && defined(PERL_NEED_TIMESBASE) PERLVAR(G, timesbase, struct tms) #endif /* allocate a unique index to every module that calls MY_CXT_INIT */ #ifdef PERL_IMPLICIT_CONTEXT # ifdef USE_ITHREADS PERLVAR(G, my_ctx_mutex, perl_mutex) # endif PERLVARI(G, my_cxt_index, int, 0) #endif /* this is currently set without MUTEX protection, so keep it a type which * can be set atomically (ie not a bit field) */ PERLVARI(G, veto_cleanup, int, FALSE) /* exit without cleanup */ /* =for apidoc AmnUx|Perl_keyword_plugin_t|PL_keyword_plugin Function pointer, pointing at a function used to handle extended keywords. The function should be declared as int keyword_plugin_function(pTHX_ char *keyword_ptr, STRLEN keyword_len, OP **op_ptr) The function is called from the tokeniser, whenever a possible keyword is seen. C<keyword_ptr> points at the word in the parser's input buffer, and C<keyword_len> gives its length; it is not null-terminated. The function is expected to examine the word, and possibly other state such as L<%^H|perlvar/%^H>, to decide whether it wants to handle it as an extended keyword. If it does not, the function should return C<KEYWORD_PLUGIN_DECLINE>, and the normal parser process will continue. If the function wants to handle the keyword, it first must parse anything following the keyword that is part of the syntax introduced by the keyword. See L</Lexer interface> for details. When a keyword is being handled, the plugin function must build a tree of C<OP> structures, representing the code that was parsed. The root of the tree must be stored in C<*op_ptr>. The function then returns a constant indicating the syntactic role of the construct that it has parsed: C<KEYWORD_PLUGIN_STMT> if it is a complete statement, or C<KEYWORD_PLUGIN_EXPR> if it is an expression. Note that a statement construct cannot be used inside an expression (except via C<do BLOCK> and similar), and an expression is not a complete statement (it requires at least a terminating semicolon). When a keyword is handled, the plugin function may also have (compile-time) side effects. It may modify C<%^H>, define functions, and so on. Typically, if side effects are the main purpose of a handler, it does not wish to generate any ops to be included in the normal compilation. In this case it is still required to supply an op tree, but it suffices to generate a single null op. That's how the C<*PL_keyword_plugin> function needs to behave overall. Conventionally, however, one does not completely replace the existing handler function. Instead, take a copy of C<PL_keyword_plugin> before assigning your own function pointer to it. Your handler function should look for keywords that it is interested in and handle those. Where it is not interested, it should call the saved plugin function, passing on the arguments it received. Thus C<PL_keyword_plugin> actually points at a chain of handler functions, all of which have an opportunity to handle keywords, and only the last function in the chain (built into the Perl core) will normally return C<KEYWORD_PLUGIN_DECLINE>. For thread safety, modules should not set this variable directly. Instead, use the function L</wrap_keyword_plugin>. =cut */ #if defined(USE_ITHREADS) PERLVAR(G, keyword_plugin_mutex, perl_mutex) /* Mutex for PL_keyword_plugin */ #endif PERLVARI(G, keyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard) PERLVARI(G, op_sequence, HV *, NULL) /* dump.c */ PERLVARI(G, op_seq, UV, 0) /* dump.c */ #ifdef USE_ITHREADS PERLVAR(G, dollarzero_mutex, perl_mutex) /* Modifying $0 */ #endif /* Restricted hashes placeholder value. In theory, the contents are never used, only the address. In practice, &PL_sv_placeholder is returned by some APIs, and the calling code is checking SvOK(). */ PERLVAR(G, sv_placeholder, SV) #if defined(MYMALLOC) && defined(USE_ITHREADS) PERLVAR(G, malloc_mutex, perl_mutex) /* Mutex for malloc */ #endif PERLVARI(G, hash_seed_set, bool, FALSE) /* perl.c */ PERLVARA(G, hash_seed, PERL_HASH_SEED_BYTES, unsigned char) /* perl.c and hv.h */ #if defined(PERL_HASH_STATE_BYTES) PERLVARA(G, hash_state, PERL_HASH_STATE_BYTES, unsigned char) /* perl.c and hv.h */ #endif #if defined(PERL_USE_SINGLE_CHAR_HASH_CACHE) PERLVARA(G, hash_chars, (1+256) * sizeof(U32), unsigned char) /* perl.c and hv.h */ #endif /* The path separator can vary depending on whether we're running under DCL or * a Unix shell. */ #ifdef __VMS PERLVAR(G, perllib_sep, char) #endif /* Definitions of user-defined \p{} properties, as the subs that define them * are only called once */ PERLVARI(G, user_def_props, HV *, NULL) #if defined(USE_ITHREADS) PERLVAR(G, user_def_props_aTHX, PerlInterpreter *) /* aTHX that user_def_props was defined in */ PERLVAR(G, user_prop_mutex, perl_mutex) /* Mutex for manipulating PL_user_defined_properties */ #endif /* these record the best way to perform certain IO operations while * atomically setting FD_CLOEXEC. On the first call, a probe is done * and the result recorded for use by subsequent calls. * In theory these variables aren't thread-safe, but the worst that can * happen is that two treads will both do an initial probe */ PERLVARI(G, strategy_dup, int, 0) /* doio.c */ PERLVARI(G, strategy_dup2, int, 0) /* doio.c */ PERLVARI(G, strategy_open, int, 0) /* doio.c */ PERLVARI(G, strategy_open3, int, 0) /* doio.c */ PERLVARI(G, strategy_mkstemp, int, 0) /* doio.c */ PERLVARI(G, strategy_socket, int, 0) /* doio.c */ PERLVARI(G, strategy_accept, int, 0) /* doio.c */ PERLVARI(G, strategy_pipe, int, 0) /* doio.c */ PERLVARI(G, strategy_socketpair, int, 0) /* doio.c */ #ifdef PERL_IMPLICIT_CONTEXT # ifdef PERL_GLOBAL_STRUCT_PRIVATE /* per-module array of pointers to MY_CXT_KEY constants. * It simulates each module having a static my_cxt_index var on builds * which don't allow static vars */ PERLVARI(G, my_cxt_keys, const char **, NULL) PERLVARI(G, my_cxt_keys_size, int, 0) /* size of PL_my_cxt_keys */ # endif #endif regcharclass.h 0000644 00000507504 15140731057 0007374 0 ustar 00 /* -*- buffer-read-only: t -*- * * regcharclass.h * * Copyright (C) 2007, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/regcharclass.pl. * Any changes made here will be lost! * WARNING: These macros are for internal Perl core use only, and may be * changed or removed without notice. */ #ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */ #define PERL_REGCHARCLASS_H_ #if 'A' == 65 /* ASCII/Latin1 */ /* LNBREAK: Line Break: \R "\x0D\x0A" # CRLF - Network (Windows) line ending \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_LNBREAK_safe(s,e,is_utf8) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( is_utf8 ) ? \ ( ( 0xC2 == ((const U8*)s)[0] ) ? \ ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\ : ( 0x85 == ((const U8*)s)[0] ) ) \ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( is_utf8 ) ? \ ( ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ : ( 0x85 == ((const U8*)s)[0] ) ) \ : ((e)-(s) > 0) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) ? 1 \ : ( !( is_utf8 ) ) ? \ ( 0x85 == ((const U8*)s)[0] ) \ : 0 ) \ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_utf8_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xC2 == ((const U8*)s)[0] ) ? \ ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) \ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) || 0x85 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) || 0x85 == ((const U8*)s)[0] )\ : 0 ) /* HORIZWS: Horizontal Whitespace: \h \H \p{HorizSpace} */ /*** GENERATED CODE ***/ #define is_HORIZWS_high(s) \ ( ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xE2 == ((const U8*)s)[0] ) ? \ ( ( 0x80 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_HORIZWS_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) /* VERTWS: Vertical Whitespace: \v \V \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_VERTWS_high(s) \ ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_VERTWS_cp_high(cp) \ ( 0x2028 == cp || 0x2029 == cp ) /* XDIGIT: Hexadecimal digits \p{XDigit} */ /*** GENERATED CODE ***/ #define is_XDIGIT_high(s) \ ( ( 0xEF == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x90, 0x99 ) || inRANGE(((const U8*)s)[2], 0xA1, 0xA6 ) ) ? 3 : 0 )\ : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x81, 0x86 ) ) ) ? 3 : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_XDIGIT_cp_high(cp) \ ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) /* XPERLSPACE: \p{XPerlSpace} \p{XPerlSpace} */ /*** GENERATED CODE ***/ #define is_XPERLSPACE_high(s) \ ( ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xE2 == ((const U8*)s)[0] ) ? \ ( ( 0x80 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_XPERLSPACE_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x2028 == cp || ( 0x2028 < cp && \ ( 0x2029 == cp || ( 0x2029 < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) /* NONCHAR: Non character code points \p{_Perl_Nchar} */ /*** GENERATED CODE ***/ #define is_NONCHAR_utf8_safe(s,e) \ ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xEF == ((const U8*)s)[0] ) ?\ ( ( 0xB7 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x90, 0xAF ) ) ? 3 : 0 ) \ : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ) ? 3 : 0 )\ : ( 0xF0 == ((const U8*)s)[0] ) ? \ ( ( ( ( ((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 )\ : ( inRANGE(((const U8*)s)[0], 0xF1, 0xF3 ) ) ? \ ( ( ( ( ( ((const U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 )\ : ( ( ( ( 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 ) /* SURROGATE: Surrogate code points \p{_Perl_Surrogate} */ /*** GENERATED CODE ***/ #define is_SURROGATE_utf8_safe(s,e) \ ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0xA0, 0xBF ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 ) /* QUOTEMETA: Meta-characters that \Q should quote \p{_Perl_Quotemeta} */ /*** GENERATED CODE ***/ #define is_QUOTEMETA_high(s) \ ( ( 0xCD == ((const U8*)s)[0] ) ? \ ( ( 0x8F == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xD8 == ((const U8*)s)[0] ) ? \ ( ( 0x9C == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x9F, 0xA0 ) ) ? 3 : 0 ) \ : ( 0x9A == ((const U8*)s)[1] ) ? \ ( ( 0x80 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( 0x9E == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0xB4, 0xB5 ) ) ? 3 : 0 ) \ : ( ( 0xA0 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x8B, 0x8E ) ) ) ? 3 : 0 )\ : ( 0xE2 == ((const U8*)s)[0] ) ? \ ( ( 0x80 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0xBE ) ) ? 3 : 0 ) \ : ( 0x81 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x81, 0x93 ) || inRANGE(((const U8*)s)[2], 0x95, 0xAF ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x90, 0xBF ) ) ? 3 : 0 ) \ : ( 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 ) ) ?\ 3 \ : ( 0x91 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0x9F ) ) ? 3 : 0 ) \ : ( 0x9D == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0xB5 ) ) ? 3 : 0 ) \ : ( ( 0x9E == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x94, 0xBF ) ) ) ? 3 : 0 )\ : ( 0xE3 == ((const U8*)s)[0] ) ? \ ( ( 0x80 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0x83 ) || inRANGE(((const U8*)s)[2], 0x88, 0xA0 ) || 0xB0 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x85 == ((const U8*)s)[1] ) && ( 0xA4 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xEF == ((const U8*)s)[0] ) ? \ ( ( 0xB4 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ? 3 : 0 ) \ : ( 0xB8 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8F ) ) ? 3 : 0 ) \ : ( 0xB9 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x85, 0x86 ) ) ? 3 : 0 ) \ : ( 0xBB == ((const U8*)s)[1] ) ? \ ( ( 0xBF == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( 0xBE == ((const U8*)s)[1] ) ? \ ( ( 0xA0 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xB0, 0xB8 ) ) ) ? 3 : 0 )\ : ( 0xF0 == ((const U8*)s)[0] ) ? \ ( ( 0x9B == ((const U8*)s)[1] ) ? \ ( ( ( 0xB2 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0xA0, 0xA3 ) ) ) ? 4 : 0 )\ : ( ( ( 0x9D == ((const U8*)s)[1] ) && ( 0x85 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xB3, 0xBA ) ) ) ? 4 : 0 )\ : ( ( 0xF3 == ((const U8*)s)[0] ) && ( 0xA0 == ((const U8*)s)[1] ) ) ? 4 : 0 ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ ( ( 0x61 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x68 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x69 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x6A == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x73 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ : ( 0x74 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ ( ( 0xCD == ((const U8*)s)[2] ) ? \ ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( 0x81 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( 0xCC == ((const U8*)s)[2] ) ? \ ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x89 == ((const U8*)s)[1] ) ? \ ( ( 0xCD == ((const U8*)s)[2] ) ? \ ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xD5 == ((const U8*)s)[0] ) ? \ ( ( 0xA5 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB4 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? \ ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ ( ((e)-(s) > 3) ? \ ( ( 0x61 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x68 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x69 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x6A == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x73 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ : ( 0x74 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ ( ( 0xCD == ((const U8*)s)[2] ) ? \ ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( 0x81 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( 0xCC == ((const U8*)s)[2] ) ? \ ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x89 == ((const U8*)s)[1] ) ? \ ( ( 0xCD == ((const U8*)s)[2] ) ? \ ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xD5 == ((const U8*)s)[0] ) ? \ ( ( 0xA5 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB4 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( 0x61 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x68 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x69 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x6A == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x73 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ : ( 0x74 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0xBC == ((const U8*)s)[1] ) ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] || 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( ( 0x73 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x61 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x68 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x69 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x6A == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x73 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ : ( 0x74 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((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 : 4 )\ : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB9 == ((const U8*)s)[1] ) ? \ ( ( 0xCC == ((const U8*)s)[2] ) ? \ ( ( 0x88 == ((const U8*)s)[3] ) ? \ ( ( 0xCC == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( 0x81 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( 0xCC == ((const U8*)s)[2] ) ? \ ( ( 0x88 == ((const U8*)s)[3] ) ? \ ( ( 0xCC == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : ( 0x93 == ((const U8*)s)[3] ) ? \ ( ( 0xCC == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 4 )\ : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ : 0 ) \ : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 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 : 4 )\ : 0 ) \ : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xD5 == ((const U8*)s)[0] ) ? \ ( ( 0xA5 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB4 == ((const U8*)s)[1] ) ? \ ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? \ ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) \ : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( ( ((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 : 2 )\ : ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ : ((e)-(s) > 1) ? \ ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ : 0 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('u', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( ( 0x66 == ((const U8*)s)[1] ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((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 )\ : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCC == ((const U8*)s)[2] ) ) && ( 0x88 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( ( ( ( ( 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 )\ : 0 ) \ : ( ( ( ((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 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('l', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ ( ( ( ( ( ((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 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('u', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ ( ((e)-(s) > 3) ? \ ( ( 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\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? 2 \ : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0xB9 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( 0x81 == ((const U8*)s)[1] || 0x8E == ((const U8*)s)[1] ) ? 2 \ : ( 0x85 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0x89 == ((const U8*)s)[1] ) ? \ ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xD5 == ((const U8*)s)[0] ) ? \ ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? \ ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( 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\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ : ( 0xD5 == ((const U8*)s)[0] ) ? \ ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? \ ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ : 0 ) \ : ((e)-(s) > 1) ? \ ( ( 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\ : ( 0x66 == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ : ( 0xCF == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ : ( ( 0xD5 == ((const U8*)s)[0] ) && ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ) ? 2 : 0 )\ : ((e)-(s) > 0) ? \ ( 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] )\ : 0 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('l', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( ( ( ((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\ : ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( ( ( ((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 ) )\ : 0 ) /* FOLDS_TO_MULTI: characters that fold to multi-char strings \p{_Perl_Folds_To_Multi_Char} */ /*** GENERATED CODE ***/ #define is_FOLDS_TO_MULTI_utf8(s) \ ( ( 0xC3 == ((const U8*)s)[0] ) ? \ ( ( 0x9F == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \ ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( 0x89 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \ : ( 0xD6 == ((const U8*)s)[0] ) ? \ ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( 0xBA == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0xBD == ((const U8*)s)[1] ) ? \ ( ( ( ((const U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \ : ( 0xBE == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( ( 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 )\ : ( ( ( 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 ) /* PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale \p{_Perl_Problematic_Locale_Folds} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \ 2 \ : ( 0xC4 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0xC7 == ((const U8*)s)[0] ) ? \ ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCC == ((const U8*)s)[0] ) ? \ ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xE2 == ((const U8*)s)[0] ) ? \ ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\ : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x307 == cp || ( 0x307 < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale \p{_Perl_Problematic_Locale_Foldeds_Start} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \ 2 \ : ( 0xC4 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \ : ( 0xC5 == ((const U8*)s)[0] ) ? \ ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0xC7 == ((const U8*)s)[0] ) ? \ ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ : ( 0xE1 == ((const U8*)s)[0] ) ? \ ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xE2 == ((const U8*)s)[0] ) ? \ ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\ : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x2BC == cp || ( 0x2BC < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PATWS: pattern white space \p{_Perl_PatWS} */ /*** GENERATED CODE ***/ #define is_PATWS_safe(s,e,is_utf8) \ ( ( LIKELY((e) > (s)) ) ? \ ( ( inRANGE(((const U8*)s)[0], 0x09, 0x0D ) || 0x20 == ((const U8*)s)[0] ) ? 1\ : (! is_utf8 ) ? \ ( 0x85 == ((const U8*)s)[0] ) \ : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ ( ( 0xC2 == ((const U8*)s)[0] ) ? \ ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( ( ( 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 )\ : 0 ) \ : 0 ) /*** GENERATED CODE ***/ #define is_PATWS_cp(cp) \ ( inRANGE(cp, 0x09, 0x0D) || ( 0x0D < cp && \ ( 0x20 == cp || ( 0x20 < cp && \ ( 0x85 == cp || ( 0x85 < cp && \ ( 0x200E == cp || ( 0x200E < cp && \ ( 0x200F == cp || ( 0x200F < cp && \ ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) /* HANGUL_ED: Hangul syllables whose first character is \xED 0xD000 - 0xD7FF */ /*** GENERATED CODE ***/ #define is_HANGUL_ED_utf8_safe(s,e) \ ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x80, 0x9F ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 ) #endif /* ASCII/Latin1 */ #if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* LNBREAK: Line Break: \R "\x0D\x0A" # CRLF - Network (Windows) line ending \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_LNBREAK_safe(s,e,is_utf8) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_utf8_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /* HORIZWS: Horizontal Whitespace: \h \H \p{HorizSpace} */ /*** GENERATED CODE ***/ #define is_HORIZWS_high(s) \ ( ( 0xBC == ((const U8*)s)[0] ) ? \ ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_HORIZWS_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) /* VERTWS: Vertical Whitespace: \v \V \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_VERTWS_high(s) \ ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_VERTWS_cp_high(cp) \ ( 0x2028 == cp || 0x2029 == cp ) /* XDIGIT: Hexadecimal digits \p{XDigit} */ /*** GENERATED CODE ***/ #define is_XDIGIT_high(s) \ ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\ ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ? 4 : 0 )\ : ( ( inRANGE(((const U8*)s)[2], 0x68, 0x69 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 ) /*** GENERATED CODE ***/ #define is_XDIGIT_cp_high(cp) \ ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) /* XPERLSPACE: \p{XPerlSpace} \p{XPerlSpace} */ /*** GENERATED CODE ***/ #define is_XPERLSPACE_high(s) \ ( ( 0xBC == ((const U8*)s)[0] ) ? \ ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_XPERLSPACE_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x2028 == cp || ( 0x2028 < cp && \ ( 0x2029 == cp || ( 0x2029 < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) /* NONCHAR: Non character code points \p{_Perl_Nchar} */ /*** GENERATED CODE ***/ #define is_NONCHAR_utf8_safe(s,e) \ ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ ( ( 0x73 == ((const U8*)s)[1] ) ? \ ( ( 0x55 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ? 4 : 0 )\ : ( 0x56 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\ ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( ( ( ( ( ((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 )\ : ( ( ( ( ( 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 ) /* SURROGATE: Surrogate code points \p{_Perl_Surrogate} */ /*** GENERATED CODE ***/ #define is_SURROGATE_utf8_safe(s,e) \ ( ( ( ( ( ( ((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 ) /* QUOTEMETA: Meta-characters that \Q should quote \p{_Perl_Quotemeta} */ /*** GENERATED CODE ***/ #define is_QUOTEMETA_high(s) \ ( ( 0xB1 == ((const U8*)s)[0] ) ? \ ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB8 == ((const U8*)s)[0] ) ? \ ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBB == ((const U8*)s)[0] ) ? \ ( ( 0x51 == ((const U8*)s)[1] ) ? \ ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBC == ((const U8*)s)[0] ) ? \ ( ( 0x63 == ((const U8*)s)[1] ) ? \ ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x71 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x64 ) ) ) ? 3 : 0 )\ : ( 0xBE == ((const U8*)s)[0] ) ? \ ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 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 ) ) ?\ ( ( 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 )\ : ( 0x42 == ((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, 0x72 ) ) ? 3 : 0 )\ : ( 0x43 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x44 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\ : ( ( 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 )\ : ( 0xCB == ((const U8*)s)[0] ) ? \ ( ( 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 ) ) ?\ ( ( 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 )\ : ( 0x6A == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x64 ) ) ? 3 : 0 )\ : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\ : ( 0xCC == ((const U8*)s)[0] ) ? \ ( ( ( 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 )\ : ( 0xCD == ((const U8*)s)[0] ) ? \ ( ( ( 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 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xDD == ((const U8*)s)[0] ) ? \ ( ( 0x73 == ((const U8*)s)[1] ) ? \ ( ( 0x4A == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ? 4 : 0 ) \ : ( 0x57 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ : ( 0x59 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \ : ( 0x66 == ((const U8*)s)[2] ) ? \ ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( 0x71 == ((const U8*)s)[2] ) ? \ ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xDF == ((const U8*)s)[0] ) ? \ ( ( 0x56 == ((const U8*)s)[1] ) ? \ ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\ : ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x62, 0x69 ) ) ) ? 4 : 0 )\ : ( ( ( ( ( 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 ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ ( ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8F == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((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 : 4 )\ : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x68 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x49 == ((const U8*)s)[3] ) ? \ ( ( 0xAF == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x49 == ((const U8*)s)[3] ) ? \ ( ( 0xAF == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : ( 0x62 == ((const U8*)s)[3] ) ? \ ( ( 0xAF == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\ : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ : 0 ) \ : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 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 : 4 )\ : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB8 == ((const U8*)s)[0] ) ? \ ( ( 0x52 == ((const U8*)s)[1] ) ? \ ( ( 0x46 == ((const U8*)s)[2] ) ? \ ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : ( 0x63 == ((const U8*)s)[2] ) ? \ ( ( ( ( 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 )\ : ( ( ( ( 0x72 == ((const U8*)s)[2] ) && ( 0xB8 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8F == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0xB1 == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( 0xB1 == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \ ( ((e)-(s) > 3) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8F == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ ( ( 0xB1 == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( 0xB1 == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xAB == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\ : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( ( ((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 : 2 )\ : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : ((e)-(s) > 1) ? \ ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : 0 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('u', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x58 == ((const U8*)s)[1] || 0x66 == ((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 )\ : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( ( ( ( ( 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 )\ : 0 ) \ : ( ( ( ((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 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('l', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ ( ( ( ( ( ((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 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('u', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ ( ((e)-(s) > 3) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0x68 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xB8 == ((const U8*)s)[0] ) ? \ ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ : ( ( 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 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 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 )\ : ( 0xB5 == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ : ( 0xB8 == ((const U8*)s)[0] ) ? \ ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ : ( ( 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 )\ : 0 ) \ : ((e)-(s) > 1) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAB == ((const U8*)s)[0] ) ? \ ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 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 )\ : ( ( 0xB5 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ : ((e)-(s) > 0) ? \ ( ( ( ((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 )\ : 0 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('l', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( ( ( ((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\ : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( ( ( ((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 ) )\ : 0 ) /* FOLDS_TO_MULTI: characters that fold to multi-char strings \p{_Perl_Folds_To_Multi_Char} */ /*** GENERATED CODE ***/ #define is_FOLDS_TO_MULTI_utf8(s) \ ( ( 0x8A == ((const U8*)s)[0] ) ? \ ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB8 == ((const U8*)s)[0] ) ? \ ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( 0x63 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x69 == ((const U8*)s)[1] ) ? \ ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x65 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x70 == ((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 )\ : ( 0x71 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x72 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( ( 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 )\ : ( ( ( ( 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 ) /* PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale \p{_Perl_Problematic_Locale_Folds} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ ( ( ( ((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\ : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\ ( ( 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 )\ : ( 0x8D == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8F == ((const U8*)s)[0] ) ? \ ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x9C == ((const U8*)s)[0] ) ? \ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xAF == ((const U8*)s)[0] ) ? \ ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ? \ ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x307 == cp || ( 0x307 < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale \p{_Perl_Problematic_Locale_Foldeds_Start} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ ( ( ( ((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\ : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\ ( ( 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 )\ : ( 0x8D == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8F == ((const U8*)s)[0] ) ? \ ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x9C == ((const U8*)s)[0] ) ? \ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xAB == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\ ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x2BC == cp || ( 0x2BC < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PATWS: pattern white space \p{_Perl_PatWS} */ /*** GENERATED CODE ***/ #define is_PATWS_safe(s,e,is_utf8) \ ( ( LIKELY((e) > (s)) ) ? \ ( ( 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\ : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \ : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_PATWS_cp(cp) \ ( 0x05 == cp || ( 0x05 < cp && \ ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \ ( 0x15 == cp || ( 0x15 < cp && \ ( 0x25 == cp || ( 0x25 < cp && \ ( 0x40 == cp || ( 0x40 < cp && \ ( 0x200E == cp || ( 0x200E < cp && \ ( 0x200F == cp || ( 0x200F < cp && \ ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) #endif /* EBCDIC 1047 */ #if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* LNBREAK: Line Break: \R "\x0D\x0A" # CRLF - Network (Windows) line ending \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_LNBREAK_safe(s,e,is_utf8) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_utf8_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /*** GENERATED CODE ***/ #define is_LNBREAK_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ : ( 0x0D == ((const U8*)s)[0] ) ? \ ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ : 0 ) /* HORIZWS: Horizontal Whitespace: \h \H \p{HorizSpace} */ /*** GENERATED CODE ***/ #define is_HORIZWS_high(s) \ ( ( 0xBD == ((const U8*)s)[0] ) ? \ ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_HORIZWS_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) /* VERTWS: Vertical Whitespace: \v \V \p{VertSpace} */ /*** GENERATED CODE ***/ #define is_VERTWS_high(s) \ ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_VERTWS_cp_high(cp) \ ( 0x2028 == cp || 0x2029 == cp ) /* XDIGIT: Hexadecimal digits \p{XDigit} */ /*** GENERATED CODE ***/ #define is_XDIGIT_high(s) \ ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\ ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ? 4 : 0 )\ : ( ( inRANGE(((const U8*)s)[2], 0x67, 0x68 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 ) /*** GENERATED CODE ***/ #define is_XDIGIT_cp_high(cp) \ ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) /* XPERLSPACE: \p{XPerlSpace} \p{XPerlSpace} */ /*** GENERATED CODE ***/ #define is_XPERLSPACE_high(s) \ ( ( 0xBD == ((const U8*)s)[0] ) ? \ ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_XPERLSPACE_cp_high(cp) \ ( 0x1680 == cp || ( 0x1680 < cp && \ ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ ( 0x2028 == cp || ( 0x2028 < cp && \ ( 0x2029 == cp || ( 0x2029 < cp && \ ( 0x202F == cp || ( 0x202F < cp && \ ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) /* NONCHAR: Non character code points \p{_Perl_Nchar} */ /*** GENERATED CODE ***/ #define is_NONCHAR_utf8_safe(s,e) \ ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ ( ( 0x72 == ((const U8*)s)[1] ) ? \ ( ( 0x55 == ((const U8*)s)[2] ) ? \ ( ( 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 )\ : ( 0x56 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\ ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( ( ( ( ( ((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 )\ : ( ( ( ( ( 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 ) /* SURROGATE: Surrogate code points \p{_Perl_Surrogate} */ /*** GENERATED CODE ***/ #define is_SURROGATE_utf8_safe(s,e) \ ( ( ( ( ( ( ((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 ) /* QUOTEMETA: Meta-characters that \Q should quote \p{_Perl_Quotemeta} */ /*** GENERATED CODE ***/ #define is_QUOTEMETA_high_part0(s) \ ( ( 0x51 == ((const U8*)s)[1] ) ? \ ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) /*** GENERATED CODE ***/ #define is_QUOTEMETA_high_part1(s) \ ( ( 0xBD == ((const U8*)s)[0] ) ? \ ( ( 0x62 == ((const U8*)s)[1] ) ? \ ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x63 ) ) ) ? 3 : 0 )\ : ( 0xBE == ((const U8*)s)[0] ) ? \ ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( 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 ) ) ?\ ( ( 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 )\ : ( 0x42 == ((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, 0x71 ) ) ? 3 : 0 )\ : ( 0x43 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x44 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\ : ( ( 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 )\ : ( 0xCB == ((const U8*)s)[0] ) ? \ ( ( 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 ) ) ?\ ( ( 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 )\ : ( 0x69 == ((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, 0x63 ) ) ? 3 : 0 )\ : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\ : ( 0xCC == ((const U8*)s)[0] ) ? \ ( ( ( 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 )\ : ( 0xCD == ((const U8*)s)[0] ) ? \ ( ( ( 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 )\ : ( 0xCE == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xDD == ((const U8*)s)[0] ) ? \ ( ( 0x72 == ((const U8*)s)[1] ) ? \ ( ( 0x4A == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ? 4 : 0 ) \ : ( 0x57 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ : ( 0x59 == ((const U8*)s)[2] ) ? \ ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \ : ( 0x65 == ((const U8*)s)[2] ) ? \ ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( 0x70 == ((const U8*)s)[2] ) ? \ ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 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 )\ : 0 ) \ : ( 0xDF == ((const U8*)s)[0] ) ? \ ( ( 0x56 == ((const U8*)s)[1] ) ? \ ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\ : ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ) ? 4 : 0 )\ : ( ( ( ( ( 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 ) /*** GENERATED CODE ***/ #define is_QUOTEMETA_high(s) \ ( ( 0xAF == ((const U8*)s)[0] ) ? \ ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB7 == ((const U8*)s)[0] ) ? \ ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBC == ((const U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('u', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ ( ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((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 : 4 )\ : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x67 == ((const U8*)s)[1] ) ? \ ( ( 0xAD == ((const U8*)s)[2] ) ? \ ( ( 0x49 == ((const U8*)s)[3] ) ? \ ( ( 0xAD == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAD == ((const U8*)s)[2] ) ? \ ( ( 0x49 == ((const U8*)s)[3] ) ? \ ( ( 0xAD == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : ( 0x5F == ((const U8*)s)[3] ) ? \ ( ( 0xAD == ((const U8*)s)[4] ) ? \ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\ : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ : 0 ) \ : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 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 : 4 )\ : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB7 == ((const U8*)s)[0] ) ? \ ( ( 0x52 == ((const U8*)s)[1] ) ? \ ( ( 0x46 == ((const U8*)s)[2] ) ? \ ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : ( 0x62 == ((const U8*)s)[2] ) ? \ ( ( ( ( 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 )\ : ( ( ( ( 0x71 == ((const U8*)s)[2] ) && ( 0xB7 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAD == ((const U8*)s)[2] ) ? \ ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : ( ( ( ( 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 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \ ( ((e)-(s) > 3) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( 0xAD == ((const U8*)s)[2] ) ? \ ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( 0xAF == ((const U8*)s)[2] ) ? \ ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? \ ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( 0x88 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x89 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x91 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA2 == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ : ( 0xA3 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( ( ( 0xAA == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ((e)-(s) > 1) ? \ ( ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x81 == ((const U8*)s)[0] ) ? \ ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\ : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) ) /* MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character ®charclass_multi_char_folds::multi_char_folds('l', 'a') */ /*** GENERATED CODE ***/ #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ ( ((e)-(s) > 2) ? \ ( ( ( ((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 : 2 )\ : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : ((e)-(s) > 1) ? \ ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ : 0 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('u', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ ( ((e)-(s) > 5) ? \ ( ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( 0x58 == ((const U8*)s)[1] || 0x65 == ((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 )\ : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAD == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ : ( ( ( ( ( 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 )\ : 0 ) \ : ( ( ( ((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 ) /* THREE_CHAR_FOLD: A three-character multi-char fold ®charclass_multi_char_folds::multi_char_folds('l', '3') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ ( ( ( ( ( ((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 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('u', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ ( ((e)-(s) > 3) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0x67 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ : ( 0x46 == ((const U8*)s)[1] ) ? \ ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : ( 0x4A == ((const U8*)s)[1] ) ? \ ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ : 0 ) \ : ( 0xB7 == ((const U8*)s)[0] ) ? \ ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ : ( ( 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 )\ : 0 ) \ : ((e)-(s) > 2) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ : ( 0xB4 == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ : ( 0xB7 == ((const U8*)s)[0] ) ? \ ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ : ( ( 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 )\ : 0 ) \ : ((e)-(s) > 1) ? \ ( ( ( ( ((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\ : ( 0x86 == ((const U8*)s)[0] ) ? \ ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ : ( 0xAA == ((const U8*)s)[0] ) ? \ ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB3 == ((const U8*)s)[0] ) ? \ ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ : ( ( 0xB4 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ : ((e)-(s) > 0) ? \ ( ( ( ((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 )\ : 0 ) /* THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds ®charclass_multi_char_folds::multi_char_folds('l', 'h') */ /*** GENERATED CODE ***/ #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ ( ((e)-(s) > 1) ? \ ( ( ( ( ((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\ : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ : 0 ) \ : ((e)-(s) > 0) ? \ ( ( ( ((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 ) )\ : 0 ) /* FOLDS_TO_MULTI: characters that fold to multi-char strings \p{_Perl_Folds_To_Multi_Char} */ /*** GENERATED CODE ***/ #define is_FOLDS_TO_MULTI_utf8(s) \ ( ( 0x80 == ((const U8*)s)[0] ) ? \ ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8D == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xB7 == ((const U8*)s)[0] ) ? \ ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( 0x62 == ((const U8*)s)[1] ) ? \ ( ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x68 == ((const U8*)s)[1] ) ? \ ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x64 == ((const U8*)s)[2] ) ? 3 : 0 )\ : ( 0x6A == ((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 )\ : ( 0x70 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( 0x71 == ((const U8*)s)[1] ) ? \ ( ( 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 )\ : ( ( 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 )\ : ( ( ( ( 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 ) /* PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale \p{_Perl_Problematic_Locale_Folds} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ ( ( ( ((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\ : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\ ( ( 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 )\ : ( 0x8C == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ : ( 0x8D == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x9B == ((const U8*)s)[0] ) ? \ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xAD == ((const U8*)s)[0] ) ? \ ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ? \ ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x307 == cp || ( 0x307 < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale \p{_Perl_Problematic_Locale_Foldeds_Start} */ /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ ( ( ( ((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\ : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\ ( ( 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 )\ : ( 0x8C == ((const U8*)s)[0] ) ? \ ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ : ( 0x8D == ((const U8*)s)[0] ) ? \ ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x8E == ((const U8*)s)[0] ) ? \ ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0x9B == ((const U8*)s)[0] ) ? \ ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xAA == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\ ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ : ( 0xBF == ((const U8*)s)[0] ) ? \ ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ : ( 0xCA == ((const U8*)s)[0] ) ? \ ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) /*** GENERATED CODE ***/ #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ ( cp <= 0xFF || ( 0xFF < cp && \ ( 0x130 == cp || ( 0x130 < cp && \ ( 0x131 == cp || ( 0x131 < cp && \ ( 0x149 == cp || ( 0x149 < cp && \ ( 0x178 == cp || ( 0x178 < cp && \ ( 0x17F == cp || ( 0x17F < cp && \ ( 0x1F0 == cp || ( 0x1F0 < cp && \ ( 0x2BC == cp || ( 0x2BC < cp && \ ( 0x39C == cp || ( 0x39C < cp && \ ( 0x3BC == cp || ( 0x3BC < cp && \ ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ ( 0x1E9E == cp || ( 0x1E9E < cp && \ ( 0x212A == cp || ( 0x212A < cp && \ ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) /* PATWS: pattern white space \p{_Perl_PatWS} */ /*** GENERATED CODE ***/ #define is_PATWS_safe(s,e,is_utf8) \ ( ( LIKELY((e) > (s)) ) ? \ ( ( 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\ : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \ : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_PATWS_cp(cp) \ ( 0x05 == cp || ( 0x05 < cp && \ ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \ ( 0x15 == cp || ( 0x15 < cp && \ ( 0x25 == cp || ( 0x25 < cp && \ ( 0x40 == cp || ( 0x40 < cp && \ ( 0x200E == cp || ( 0x200E < cp && \ ( 0x200F == cp || ( 0x200F < cp && \ ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) #endif /* EBCDIC 037 */ #endif /* PERL_REGCHARCLASS_H_ */ /* Generated from: * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl * f9a393e7add8c7c2728356473ce5b52246d51295b2da0c48fb6f0aa21799e2bb regen/regcharclass.pl * b549b9989c6987563dad8f8ad6b984c8026cdc283d60ea34457959c5d4b4ade0 regen/regcharclass_multi_char_folds.pl * ex: set ro: */ parser.h 0000644 00000015521 15140731057 0006220 0 ustar 00 /* parser.h * * Copyright (c) 2006, 2007, 2009, 2010, 2011 Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * This file defines the layout of the parser object used by the parser * and lexer (perly.c, toke.c). */ #define YYEMPTY (-2) typedef struct { YYSTYPE val; /* semantic value */ short state; I32 savestack_ix; /* size of savestack at this state */ CV *compcv; /* value of PL_compcv when this value was created */ #ifdef DEBUGGING const char *name; /* token/rule name for -Dpv */ #endif } yy_stack_frame; /* Fields that need to be shared with (i.e., visible to) inner lex- ing scopes. */ typedef struct yy_lexshared { struct yy_lexshared *ls_prev; SV *ls_linestr; /* mirrors PL_parser->linestr */ char *ls_bufptr; /* mirrors PL_parser->bufptr */ char *re_eval_start; /* start of "(?{..." text */ SV *re_eval_str; /* "(?{...})" text */ } LEXSHARED; typedef struct yy_parser { /* parser state */ struct yy_parser *old_parser; /* previous value of PL_parser */ YYSTYPE yylval; /* value of lookahead symbol, set by yylex() */ int yychar; /* The lookahead symbol. */ /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; yy_stack_frame *stack; /* base of stack */ yy_stack_frame *stack_max1;/* (top-1)th element of allocated stack */ yy_stack_frame *ps; /* current stack frame */ int yylen; /* length of active reduction */ /* lexer state */ I32 lex_formbrack; /* bracket count at outer format level */ I32 lex_brackets; /* square and curly bracket count */ I32 lex_casemods; /* casemod count */ char *lex_brackstack;/* what kind of brackets to pop */ char *lex_casestack; /* what kind of case mods in effect */ U8 lex_defer; /* state after determined token */ U8 lex_dojoin; /* doing an array interpolation 1 = @{...} 2 = ->@ */ U8 expect; /* how to interpret ambiguous tokens */ bool preambled; bool sub_no_recover; /* can't recover from a sublex error */ U8 sub_error_count; /* the number of errors before sublexing */ OP *lex_inpat; /* in pattern $) and $| are special */ OP *lex_op; /* extra info to pass back on op */ SV *lex_repl; /* runtime replacement from s/// */ U16 lex_inwhat; /* what kind of quoting are we in */ OPCODE last_lop_op; /* last named list or unary operator */ I32 lex_starts; /* how many interps done on level */ SV *lex_stuff; /* runtime pattern from m// or s/// */ I32 multi_start; /* 1st line of multi-line string */ I32 multi_end; /* last line of multi-line string */ UV multi_open; /* delimiter of said string */ UV multi_close; /* delimiter of said string */ bool lex_re_reparsing; /* we're doing G_RE_REPARSING */ U8 lex_super_state;/* lexer state to save */ U16 lex_sub_inwhat; /* "lex_inwhat" to use in sublex_push */ I32 lex_allbrackets;/* (), [], {}, ?: bracket count */ OP *lex_sub_op; /* current op in y/// or pattern */ SV *lex_sub_repl; /* repl of s/// used in sublex_push */ LEXSHARED *lex_shared; SV *linestr; /* current chunk of src text */ char *bufptr; /* carries the cursor (current parsing position) from one invocation of yylex to the next */ char *oldbufptr; /* in yylex, beginning of current token */ char *oldoldbufptr; /* in yylex, beginning of previous token */ char *bufend; char *linestart; /* beginning of most recently read line */ char *last_uni; /* position of last named-unary op */ char *last_lop; /* position of last list operator */ /* copline is used to pass a specific line number to newSTATEOP. It is a one-time line number, as newSTATEOP invalidates it (sets it to NOLINE) after using it. The purpose of this is to report line num- bers in multiline constructs using the number of the first line. */ line_t copline; U16 in_my; /* we're compiling a "my"/"our" declaration */ U8 lex_state; /* next token is determined */ U8 error_count; /* how many compile errors so far, max 10 */ HV *in_my_stash; /* declared class of this "my" declaration */ PerlIO *rsfp; /* current source file pointer */ AV *rsfp_filters; /* holds chain of active source filters */ YYSTYPE nextval[5]; /* value of next token, if any */ I32 nexttype[5]; /* type of next token */ U8 nexttoke; U8 form_lex_state; /* remember lex_state when parsing fmt */ U8 lex_fakeeof; /* precedence at which to fake EOF */ U8 lex_flags; COP *saved_curcop; /* the previous PL_curcop */ char tokenbuf[256]; line_t herelines; /* number of lines in here-doc */ line_t preambling; /* line # when processing $ENV{PERL5DB} */ /* these are valid while parsing a subroutine signature */ UV sig_elems; /* number of signature elements seen so far */ UV sig_optelems; /* number of optional signature elems seen */ char sig_slurpy; /* the sigil of the slurpy var (or null) */ bool sig_seen; /* the currently parsing sub has a signature */ bool recheck_utf8_validity; PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */ PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */ PERL_BITFIELD16 saw_infix_sigil:1; /* saw & or * or % operator */ PERL_BITFIELD16 parsed_sub:1; /* last thing parsed was a sub */ } yy_parser; /* flags for lexer API */ #define LEX_STUFF_UTF8 0x00000001 #define LEX_KEEP_PREVIOUS 0x00000002 #ifdef PERL_CORE # define LEX_START_SAME_FILTER 0x00000001 # define LEX_IGNORE_UTF8_HINTS 0x00000002 # define LEX_EVALBYTES 0x00000004 # define LEX_START_COPIED 0x00000008 # define LEX_DONT_CLOSE_RSFP 0x00000010 # define LEX_START_FLAGS \ (LEX_START_SAME_FILTER|LEX_START_COPIED \ |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES|LEX_DONT_CLOSE_RSFP) #endif /* flags for parser API */ #define PARSE_OPTIONAL 0x00000001 /* values for lex_fakeeof */ enum { LEX_FAKEEOF_NEVER, /* don't fake EOF */ LEX_FAKEEOF_CLOSING, /* fake EOF at unmatched closing punctuation */ LEX_FAKEEOF_NONEXPR, /* ... and at token that can't be in expression */ LEX_FAKEEOF_LOWLOGIC, /* ... and at low-precedence logic operator */ LEX_FAKEEOF_COMMA, /* ... and at comma */ LEX_FAKEEOF_ASSIGN, /* ... and at assignment operator */ LEX_FAKEEOF_IFELSE, /* ... and at ?: operator */ LEX_FAKEEOF_RANGE, /* ... and at range operator */ LEX_FAKEEOF_LOGIC, /* ... and at logic operator */ LEX_FAKEEOF_BITWISE, /* ... and at bitwise operator */ LEX_FAKEEOF_COMPARE, /* ... and at comparison operator */ LEX_FAKEEOF_MAX }; /* * ex: set ts=8 sts=4 sw=4 et: */ time64_config.h 0000644 00000004000 15140731057 0007347 0 ustar 00 #ifndef PERL_TIME64_CONFIG_H_ # define PERL_TIME64_CONFIG_H_ /* Configuration ------------- Define as appropriate for your system. Sensible defaults provided. */ /* Debugging TIME_64_DEBUG Define if you want debugging messages */ /* #define TIME_64_DEBUG */ /* INT_64_T A numeric type to store time and others. Must be defined. */ #define INT_64_T NV /* USE_TM64 Should we use a 64 bit safe replacement for tm? This will let you go past year 2 billion but the struct will be incompatible with tm. Conversion functions will be provided. */ #define USE_TM64 /* Availability of system functions. HAS_GMTIME_R Define if your system has gmtime_r() HAS_LOCALTIME_R Define if your system has localtime_r() HAS_TIMEGM Define if your system has timegm(), a GNU extension. */ /* Set in config.h */ /* Details of non-standard tm struct elements. HAS_TM_TM_GMTOFF True if your tm struct has a "tm_gmtoff" element. A BSD extension. HAS_TM_TM_ZONE True if your tm struct has a "tm_zone" element. A BSD extension. */ /* Set in config.h */ /* USE_SYSTEM_LOCALTIME USE_SYSTEM_GMTIME Should we use the system functions if the time is inside their range? Your system localtime() is probably more accurate, but our gmtime() is fast and safe. Except on VMS, where we need the homegrown gmtime() override to shift between UTC and local for the vmsish 'time' pragma. */ #define USE_SYSTEM_LOCALTIME #ifdef VMS # define USE_SYSTEM_GMTIME #endif /* SYSTEM_LOCALTIME_MAX SYSTEM_LOCALTIME_MIN SYSTEM_GMTIME_MAX SYSTEM_GMTIME_MIN Maximum and minimum values your system's gmtime() and localtime() can handle. We will use your system functions if the time falls inside these ranges. */ #define SYSTEM_LOCALTIME_MAX CAT2(LOCALTIME_MAX,.0) #define SYSTEM_LOCALTIME_MIN CAT2(LOCALTIME_MIN,.0) #define SYSTEM_GMTIME_MAX CAT2(GMTIME_MAX,.0) #define SYSTEM_GMTIME_MIN CAT2(GMTIME_MIN,.0) #endif /* PERL_TIME64_CONFIG_H_ */ metaconfig.h 0000644 00000001264 15140731057 0007037 0 ustar 00 /* This is a placeholder file for symbols that should be exported * into config_h.SH and Porting/Glossary. See also metaconfig.SH * * First version was created from the part in handy.h * H.Merijn Brand 21 Dec 2010 (Tux) * * Mentioned variables are forced to be included into config_h.SH * as they are only included if meta finds them referenced. That * implies that noone can use them unless they are available and * they won't be available unless used. When new symbols are probed * in Configure, this is the way to force them into availability. * * Symbols should only be here temporarily. Once they are actually used, * they should be removed from here. * * HAS_WCRTOMB */ utfebcdic.h 0000644 00000200144 15140731057 0006651 0 ustar 00 /* utfebcdic.h * * Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009, * 2010, 2011 by Larry Wall, Nick Ing-Simmons, and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * Macros to implement UTF-EBCDIC as perl's internal encoding * Adapted from version 7.1 of Unicode Technical Report #16: * http://www.unicode.org/unicode/reports/tr16 * * To summarize, the way it works is: * To convert an EBCDIC code point to UTF-EBCDIC: * 1) convert to Unicode. No conversion is necesary for code points above * 255, as Unicode and EBCDIC are identical in this range. For smaller * code points, the conversion is done by lookup in the PL_e2a table (with * inverse PL_a2e) in the generated file 'ebcdic_tables.h'. The 'a' * stands for ASCII platform, meaning 0-255 Unicode. * 2) convert that to a utf8-like string called I8 ('I' stands for * intermediate) with variant characters occupying multiple bytes. This * step is similar to the utf8-creating step from Unicode, but the details * are different. This transformation is called UTF8-Mod. There is a * chart about the bit patterns in a comment later in this file. But * essentially here are the differences: * UTF8 I8 * invariant byte starts with 0 starts with 0 or 100 * continuation byte starts with 10 starts with 101 * start byte same in both: if the code point requires N bytes, * then the leading N bits are 1, followed by a 0. If * all 8 bits in the first byte are 1, the code point * will occupy 14 bytes (compared to 13 in Perl's * extended UTF-8). This is incompatible with what * tr16 implies should be the representation of code * points 2**30 and above, but allows Perl to be able * to represent all code points that fit in a 64-bit * word in either our extended UTF-EBCDIC or UTF-8. * 3) Use the algorithm in tr16 to convert each byte from step 2 into * final UTF-EBCDIC. This is done by table lookup from a table * constructed from the algorithm, reproduced in ebcdic_tables.h as * PL_utf2e, with its inverse being PL_e2utf. They are constructed so that * all EBCDIC invariants remain invariant, but no others do, and the first * byte of a variant will always have its upper bit set. But note that * the upper bit of some invariants is also 1. The table also is designed * so that lexically comparing two UTF-EBCDIC-variant characters yields * the Unicode code point order. (To get native code point order, one has * to convert the latin1-range characters to their native code point * value.) * * For example, the ordinal value of 'A' is 193 in EBCDIC, and also is 193 in * UTF-EBCDIC. Step 1) converts it to 65, Step 2 leaves it at 65, and Step 3 * converts it back to 193. As an example of how a variant character works, * take LATIN SMALL LETTER Y WITH DIAERESIS, which is typically 0xDF in * EBCDIC. Step 1 converts it to the Unicode value, 0xFF. Step 2 converts * that to two bytes = 11000111 10111111 = C7 BF, and Step 3 converts those to * 0x8B 0x73. * * If you're starting from Unicode, skip step 1. For UTF-EBCDIC to straight * EBCDIC, reverse the steps. * * The EBCDIC invariants have been chosen to be those characters whose Unicode * equivalents have ordinal numbers less than 160, that is the same characters * that are expressible in ASCII, plus the C1 controls. So there are 160 * invariants instead of the 128 in UTF-8. * * The purpose of Step 3 is to make the encoding be invariant for the chosen * characters. This messes up the convenient patterns found in step 2, so * generally, one has to undo step 3 into a temporary to use them. However, * one "shadow", or parallel table, PL_utf8skip, has been constructed that * doesn't require undoing things. It is such that for each byte, it says * how long the sequence is if that (UTF-EBCDIC) byte were to begin it * * There are actually 3 slightly different UTF-EBCDIC encodings in * ebcdic_tables.h, one for each of the code pages recognized by Perl. That * means that there are actually three different sets of tables, one for each * code page. (If Perl is compiled on platforms using another EBCDIC code * page, it may not compile, or Perl may silently mistake it for one of the * three.) * * Note that tr16 actually only specifies one version of UTF-EBCDIC, based on * the 1047 encoding, and which is supposed to be used for all code pages. * But this doesn't work. To illustrate the problem, consider the '^' character. * On a 037 code page it is the single byte 176, whereas under 1047 UTF-EBCDIC * it is the single byte 95. If Perl implemented tr16 exactly, it would mean * that changing a string containing '^' to UTF-EBCDIC would change that '^' * from 176 to 95 (and vice-versa), violating the rule that ASCII-range * characters are the same in UTF-8 or not. Much code in Perl assumes this * rule. See for example * http://grokbase.com/t/perl/mvs/025xf0yhmn/utf-ebcdic-for-posix-bc-malformed-utf-8-character * What Perl does is create a version of UTF-EBCDIC suited to each code page; * the one for the 1047 code page is identical to what's specified in tr16. * This complicates interchanging files between computers using different code * pages. Best is to convert to I8 before sending them, as the I8 * representation is the same no matter what the underlying code page is. * * Because of the way UTF-EBCDIC is constructed, the lowest 32 code points that * aren't equivalent to ASCII characters nor C1 controls form the set of * continuation bytes; the remaining 64 non-ASCII, non-control code points form * the potential start bytes, in order. (However, the first 5 of these lead to * malformed overlongs, so there really are only 59 start bytes, and the first * three of the 59 are the start bytes for the Latin1 range.) Hence the * UTF-EBCDIC for the smallest variant code point, 0x160, will have likely 0x41 * as its continuation byte, provided 0x41 isn't an ASCII or C1 equivalent. * And its start byte will be the code point that is 37 (32+5) non-ASCII, * non-control code points past it. (0 - 3F are controls, and 40 is SPACE, * leaving 41 as the first potentially available one.) In contrast, on ASCII * platforms, the first 64 (not 32) non-ASCII code points are the continuation * bytes. And the first 2 (not 5) potential start bytes form overlong * malformed sequences. * * EBCDIC characters above 0xFF are the same as Unicode in Perl's * implementation of all 3 encodings, so for those Step 1 is trivial. * * (Note that the entries for invariant characters are necessarily the same in * PL_e2a and PL_e2utf; likewise for their inverses.) * * UTF-EBCDIC strings are the same length or longer than UTF-8 representations * of the same string. The maximum code point representable as 2 bytes in * UTF-EBCDIC is 0x3FFF, instead of 0x7FFF in UTF-8. */ START_EXTERN_C #include "ebcdic_tables.h" END_EXTERN_C /* EBCDIC-happy ways of converting native code to UTF-8 */ /* Use these when ch is known to be < 256 */ #define NATIVE_TO_LATIN1(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) PL_e2a[(U8)(ch)]) #define LATIN1_TO_NATIVE(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) PL_a2e[(U8)(ch)]) /* Use these on bytes */ #define NATIVE_UTF8_TO_I8(b) (__ASSERT_(FITS_IN_8_BITS(b)) PL_e2utf[(U8)(b)]) #define I8_TO_NATIVE_UTF8(b) (__ASSERT_(FITS_IN_8_BITS(b)) PL_utf2e[(U8)(b)]) /* Transforms in wide UV chars */ #define NATIVE_TO_UNI(ch) (FITS_IN_8_BITS(ch) ? NATIVE_TO_LATIN1(ch) : (UV) (ch)) #define UNI_TO_NATIVE(ch) (FITS_IN_8_BITS(ch) ? LATIN1_TO_NATIVE(ch) : (UV) (ch)) /* How wide can a single UTF-8 encoded character become in bytes. */ /* NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8 * is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be * expressed with 5 bytes. However, Perl thinks of UTF-8 as a way to encode * non-negative integers in a binary format, even those above Unicode. 14 is * the smallest number that covers 2**64 * * WARNING: This number must be in sync with the value in * regen/charset_translations.pl. */ #define UTF8_MAXBYTES 14 /* The following table is adapted from tr16, it shows the I8 encoding of Unicode code points. Unicode U32 Bit pattern 1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte U+0000..U+007F 000000000xxxxxxx 0xxxxxxx U+0080..U+009F 00000000100xxxxx 100xxxxx U+00A0..U+03FF 000000yyyyyxxxxx 110yyyyy 101xxxxx U+0400..U+3FFF 00zzzzyyyyyxxxxx 1110zzzz 101yyyyy 101xxxxx U+4000..U+3FFFF 0wwwzzzzzyyyyyxxxxx 11110www 101zzzzz 101yyyyy 101xxxxx U+40000..U+3FFFFF 0vvwwwwwzzzzzyyyyyxxxxx 111110vv 101wwwww 101zzzzz 101yyyyy 101xxxxx U+400000..U+3FFFFFF 0uvvvvvwwwwwzzzzzyyyyyxxxxx 1111110u 101vvvvv 101wwwww 101zzzzz 101yyyyy 101xxxxx U+4000000..U+3FFFFFFF 00uuuuuvvvvvwwwwwzzzzzyyyyyxxxxx 11111110 101uuuuu 101vvvvv 101wwwww 101zzzzz 101yyyyy 101xxxxx Beyond this, Perl uses an incompatible extension, similar to the one used in regular UTF-8. There are now 14 bytes. A full 32 bits of information thus looks like this: 1st Byte 2nd-7th 8th Byte 9th Byte 10th B 11th B 12th B 13th B 14th B U+40000000..U+FFFFFFFF ttuuuuuvvvvvwwwwwzzzzzyyyyyxxxxx 11111111 10100000 101000tt 101uuuuu 101vvvvv 101wwwww 101zzzzz 101yyyyy 101xxxxx For 32-bit words, the 2nd through 7th bytes effectively function as leading zeros. Above 32 bits, these fill up, with each byte yielding 5 bits of information, so that with 13 continuation bytes, we can handle 65 bits, just above what a 64 bit word can hold The following table gives the I8: I8 Code Points 1st Byte 2nd Byte 3rd 4th 5th 6th 7th 8th 9th-14th 0x0000..0x009F 00..9F 0x00A0..0x00FF * C5..C7 A0..BF U+0100..U+03FF C8..DF A0..BF U+0400..U+3FFF * E1..EF A0..BF A0..BF U+4000..U+7FFF F0 * B0..BF A0..BF A0..BF U+8000..U+D7FF F1 A0..B5 A0..BF A0..BF U+D800..U+DFFF F1 B6..B7 A0..BF A0..BF (surrogates) U+E000..U+FFFF F1 B8..BF A0..BF A0..BF U+10000..U+3FFFF F2..F7 A0..BF A0..BF A0..BF U+40000..U+FFFFF F8 * A8..BF A0..BF A0..BF A0..BF U+100000..U+10FFFF F9 A0..A1 A0..BF A0..BF A0..BF Below are above-Unicode code points U+110000..U+1FFFFF F9 A2..BF A0..BF A0..BF A0..BF U+200000..U+3FFFFF FA..FB A0..BF A0..BF A0..BF A0..BF U+400000..U+1FFFFFF FC * A4..BF A0..BF A0..BF A0..BF A0..BF U+2000000..U+3FFFFFF FD A0..BF A0..BF A0..BF A0..BF A0..BF U+4000000..U+3FFFFFFF FE * A2..BF A0..BF A0..BF A0..BF A0..BF A0..BF U+40000000.. FF A0..BF A0..BF A0..BF A0..BF A0..BF A0..BF * A1..BF A0..BF Note the gaps before several of the byte entries above marked by '*'. These are caused by legal UTF-8 avoiding non-shortest encodings: it is technically possible to UTF-8-encode a single code point in different ways, but that is explicitly forbidden, and the shortest possible encoding should always be used (and that is what Perl does). */ /* It turns out that just this one number is sufficient to derive all the basic * macros for UTF-8 and UTF-EBCDIC. Everything follows from the fact that * there are 6 bits of real information in a UTF-8 continuation byte vs. 5 bits * in a UTF-EBCDIC one. */ #define UTF_ACCUMULATION_SHIFT 5 /* Also needed is how perl handles a start byte of 8 one bits. The decision * was made to just append the minimal number of bytes after that so that code * points up to 64 bits wide could be represented. In UTF-8, that was an extra * 5 bytes, and in UTF-EBCDIC it's 6. The result is in UTF8_MAXBYTES defined * above. This implementation has the advantage that you have everything you * need in the first byte. Other ways of extending UTF-8 have been devised, * some to arbitrarily high code points. But they require looking at the next * byte(s) when the first one is 8 one bits. */ /* These others are for efficiency or for other decisions we've made */ #define isUTF8_POSSIBLY_PROBLEMATIC(c) \ _generic_isCC(c, _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE) /* ^? is defined to be APC on EBCDIC systems. See the definition of toCTRL() * for more */ #define QUESTION_MARK_CTRL LATIN1_TO_NATIVE(0x9F) #define UNICODE_IS_PERL_EXTENDED(uv) UNLIKELY((UV) (uv) > 0x3FFFFFFF) /* Helper macros for isUTF8_CHAR_foo, so use those instead of this. These were * generated by regen/regcharclass.pl, and then moved here. Then they were * hand-edited to add some LIKELY() calls, presuming that malformations are * unlikely. The lines that generated it were then commented out. This was * done because it takes on the order of 10 minutes to generate, and is never * going to change, unless the generated code is improved, and figuring out the * LIKELYs there would be hard. * */ #if '^' == 95 /* CP 1047 */ /* UTF8_CHAR: Matches legal UTF-EBCDIC variant code points up through 0x1FFFFFF 0xA0 - 0x1FFFFF */ /*** GENERATED CODE ***/ #define is_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAC ) || ( 0xAE <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB6 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xFC ) == 0xB8 ) || ((const U8*)s)[0] == 0xBC || ( ( ((const U8*)s)[0] & 0xFE ) == 0xBE ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( ( 0xDD <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xDF ) || 0xE1 == ((const U8*)s)[0] || ( 0xEA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xEC ) ) ?\ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( ( 0x49 == ((const U8*)s)[1] || 0x4A == ((const U8*)s)[1] ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 ) /* UTF8_CHAR_STRICT: Matches legal Unicode UTF-8 variant code points, no surrrogates nor non-character code points */ /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) \ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0x73 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\ : LIKELY( ( 0x73 == ((const U8*)s)[2] ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 )\ : 0 ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) \ ( ( 0xED == ((const U8*)s)[0] ) ? \ ( ( ( ( ((const U8*)s)[1] & 0xEF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xF9 ) == 0x51 ) || ((const U8*)s)[1] == 0x63 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) || ((const U8*)s)[1] == 0x69 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x70 ) ) ?\ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : ( ((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 ) ) ?\ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : ( 0x73 == ((const U8*)s)[2] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ? 5 : 0 )\ : LIKELY( ( 0x73 == ((const U8*)s)[3] ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFE ) == 0x70 ) ) ? 5 : 0 )\ : 0 ) \ : 0 ) \ : ( 0xEE == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : ( 0x73 == ((const U8*)s)[2] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ? 5 : 0 )\ : LIKELY( ( 0x73 == ((const U8*)s)[3] ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFE ) == 0x70 ) ) ? 5 : 0 )\ : 0 ) \ : 0 ) \ : 0 ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAC ) || ( 0xAE <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB6 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xFC ) == 0xB8 ) || ((const U8*)s)[0] == 0xBC || ( ( ((const U8*)s)[0] & 0xFE ) == 0xBE ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0xDD == ((const U8*)s)[0] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x64 ) || ( 0x67 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0x73 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x54 ) || ( 0x57 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\ : ( 0x55 == ((const U8*)s)[2] ) ? \ ( LIKELY( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\ : ( 0x56 == ((const U8*)s)[2] ) ? \ ( LIKELY( ( 0x57 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\ : LIKELY( ( 0x73 == ((const U8*)s)[2] ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xDE == ((const U8*)s)[0] || 0xE1 == ((const U8*)s)[0] || 0xEB == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ? is_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) : is_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) ) /* C9_STRICT_UTF8_CHAR: Matches legal Unicode UTF-8 variant code points including non-character code points, no surrogates 0x00A0 - 0xD7FF 0xE000 - 0x10FFFF */ /*** GENERATED CODE ***/ #define is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAC ) || ( 0xAE <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB6 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\ : ( ( ( ((const U8*)s)[0] & 0xFC ) == 0xB8 ) || ((const U8*)s)[0] == 0xBC || ( ( ((const U8*)s)[0] & 0xFE ) == 0xBE ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0xDD == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x64 ) || ( 0x67 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( ( ((const U8*)s)[0] & 0xFE ) == 0xDE || 0xE1 == ((const U8*)s)[0] || ( 0xEA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xEC ) ) ?\ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( ( 0x49 == ((const U8*)s)[1] || 0x4A == ((const U8*)s)[1] ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )\ : LIKELY( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] || 0x42 == ((const U8*)s)[1] ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( ((const U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 ) #endif #if '^' == 176 /* CP 037 */ /*** GENERATED CODE ***/ #define is_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAF ) || ( 0xB1 <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB5 ) ) ?\ ( LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\ : ( ((const U8*)s)[0] == 0xB7 || ( ( ((const U8*)s)[0] & 0xFE ) == 0xB8 ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xBC ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( LIKELY( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( ( 0xDD <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xDF ) || 0xE1 == ((const U8*)s)[0] || ( 0xEA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xEC ) ) ?\ ( LIKELY( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( LIKELY( ( ( ( ( 0x49 == ((const U8*)s)[1] || 0x4A == ((const U8*)s)[1] ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && LIKELY( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && LIKELY( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 ) /* XXX Below do not have LIKELY() added */ /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) \ ( ( ( ( ((const U8*)s)[1] & 0xEF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xF9 ) == 0x51 ) || ((const U8*)s)[1] == 0x62 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x64 ) || ( ( ((const U8*)s)[1] & 0xFD ) == 0x68 ) || ((const U8*)s)[1] == 0x71 ) ?\ ( ( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( ((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 ) ) ?\ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFE ) == 0x70 ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( 0x72 == ((const U8*)s)[2] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFE ) == 0x70 ) ?\ ( ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ? 5 : 0 )\ : ( ( 0x72 == ((const U8*)s)[3] ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || 0x70 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : 0 ) \ : 0 ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) \ ( ( 0xEE == ((const U8*)s)[0] ) ? \ ( ( 0x41 == ((const U8*)s)[1] ) ? \ ( ( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( 0x42 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFE ) == 0x70 ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( 0x72 == ((const U8*)s)[2] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( ((const U8*)s)[3] & 0xFE ) == 0x70 ) ?\ ( ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ? 5 : 0 )\ : ( ( 0x72 == ((const U8*)s)[3] ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || 0x70 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ : 0 ) \ : 0 ) \ : 0 ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part2(s) \ ( ( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks_part3(s) \ ( ( 0xDD == ((const U8*)s)[0] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( ((const U8*)s)[1] & 0xFE ) == 0x62 || ( 0x66 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFE ) == 0x70 ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0x72 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x54 ) || ( 0x57 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFE ) == 0x70 ) ?\ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\ : ( 0x55 == ((const U8*)s)[2] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\ : ( 0x56 == ((const U8*)s)[2] ) ? \ ( ( ( 0x57 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\ : ( ( 0x72 == ((const U8*)s)[2] ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || 0x70 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xDE == ((const U8*)s)[0] || 0xE1 == ((const U8*)s)[0] || 0xEB == ((const U8*)s)[0] ) ?\ ( ( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( ((const U8*)s)[1] & 0xFE ) == 0x70 ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0x72 == ((const U8*)s)[1] ) ? \ ( ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( ((const U8*)s)[2] & 0xFE ) == 0x70 ) ?\ ( ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\ : ( ( 0x72 == ((const U8*)s)[2] ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || 0x70 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ : 0 ) \ : ( 0xED == ((const U8*)s)[0] ) ? is_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) : is_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) ) /*** GENERATED CODE ***/ #define is_STRICT_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAF ) || ( 0xB1 <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB5 ) ) ?\ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\ : ( ((const U8*)s)[0] == 0xB7 || ( ( ((const U8*)s)[0] & 0xFE ) == 0xB8 ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xBC ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? is_STRICT_UTF8_CHAR_utf8_no_length_checks_part2(s) : is_STRICT_UTF8_CHAR_utf8_no_length_checks_part3(s) ) /* C9_STRICT_UTF8_CHAR: Matches legal Unicode UTF-8 variant code points including non-character code points, no surrogates 0x00A0 - 0xD7FF 0xE000 - 0x10FFFF */ /*** GENERATED CODE ***/ #define is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) \ ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) ? 2 : 0 ) /*** GENERATED CODE ***/ #define is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) \ ( ( ((const U8*)s)[0] == 0xB7 || ( ( ((const U8*)s)[0] & 0xFE ) == 0xB8 ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xBC ) || ( ( ((const U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((const U8*)s)[0] & 0xFC ) == 0xCC ) ) ?\ ( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\ : ( 0xDC == ((const U8*)s)[0] ) ? \ ( ( ( ( ( 0x57 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0xDD == ((const U8*)s)[0] ) ? \ ( ( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( ((const U8*)s)[1] & 0xFE ) == 0x62 || ( 0x66 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( ( ((const U8*)s)[0] & 0xFE ) == 0xDE || 0xE1 == ((const U8*)s)[0] || ( 0xEA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xEC ) ) ?\ ( ( ( ( ( 0x41 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\ : ( 0xED == ((const U8*)s)[0] ) ? \ ( ( ( ( ( ( 0x49 == ((const U8*)s)[1] || 0x4A == ((const U8*)s)[1] ) || ( 0x51 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x59 ) || 0x5F == ((const U8*)s)[1] || ( 0x62 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[1] && ((const U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )\ : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] || 0x42 == ((const U8*)s)[1] ) ) && ( ( 0x41 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x59 ) || 0x5F == ((const U8*)s)[2] || ( 0x62 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[2] && ((const U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x59 ) || 0x5F == ((const U8*)s)[3] || ( 0x62 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[3] && ((const U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x59 ) || 0x5F == ((const U8*)s)[4] || ( 0x62 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((const U8*)s)[4] && ((const U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 ) /*** GENERATED CODE ***/ #define is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks(s) \ ( ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || ( 0x8A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xAF ) || ( 0xB1 <= ((const U8*)s)[0] && ((const U8*)s)[0] <= 0xB5 ) ) ? is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part0(s) : is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part1(s) ) #endif /* is_UTF8_CHAR_utf8_no_length_checks() in both code pages handles UTF-8 that * has this start byte (expressed in I8) as the maximum */ #define _IS_UTF8_CHAR_HIGHEST_START_BYTE 0xF9 /* * ex: set ts=8 sts=4 sw=4 et: */ perlio.h 0000644 00000022523 15140731057 0006216 0 ustar 00 /* perlio.h * * Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, * 2004, 2005, 2006, 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef PERLIO_H_ #define PERLIO_H_ /* Interface for perl to IO functions. There is a hierarchy of Configure determined #define controls: USE_STDIO - No longer available via Configure. Formerly forced PerlIO_xxx() to be #define-d onto stdio functions. Now generates compile-time error. USE_PERLIO - The primary Configure variable that enables PerlIO. PerlIO_xxx() are real functions defined in perlio.c which implement extra functionality required for utf8 support. */ #ifndef USE_PERLIO # define USE_STDIO #endif #ifdef USE_STDIO # error "stdio is no longer supported as the default base layer -- use perlio." #endif /* -------------------- End of Configure controls ---------------------------- */ /* * Although we may not want stdio to be used including <stdio.h> here * avoids issues where stdio.h has strange side effects */ #include <stdio.h> #if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64) #define ftell ftello #endif #if defined(USE_64_BIT_STDIO) && defined(HAS_FSEEKO) && !defined(USE_FSEEK64) #define fseek fseeko #endif /* BS2000 includes are sometimes a bit non standard :-( */ #if defined(POSIX_BC) && defined(O_BINARY) && !defined(O_TEXT) #undef O_BINARY #endif #ifndef PerlIO /* ----------- PerlIO implementation ---------- */ /* PerlIO not #define-d to something else - define the implementation */ typedef struct _PerlIO PerlIOl; typedef struct _PerlIO_funcs PerlIO_funcs; typedef PerlIOl *PerlIO; #define PerlIO PerlIO #define PERLIO_LAYERS 1 /* PERLIO_FUNCS_CONST is now on by default for efficiency, PERLIO_FUNCS_CONST can be removed 1 day once stable & then PerlIO vtables are permanently RO */ #ifdef PERLIO_FUNCS_CONST #define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs #define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs) #else #define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs #define PERLIO_FUNCS_CAST(funcs) (funcs) #endif PERL_CALLCONV void PerlIO_define_layer(pTHX_ PerlIO_funcs *tab); PERL_CALLCONV PerlIO_funcs *PerlIO_find_layer(pTHX_ const char *name, STRLEN len, int load); PERL_CALLCONV PerlIO *PerlIO_push(pTHX_ PerlIO *f, PERLIO_FUNCS_DECL(*tab), const char *mode, SV *arg); PERL_CALLCONV void PerlIO_pop(pTHX_ PerlIO *f); PERL_CALLCONV AV* PerlIO_get_layers(pTHX_ PerlIO *f); PERL_CALLCONV void PerlIO_clone(pTHX_ PerlInterpreter *proto, CLONE_PARAMS *param); #endif /* PerlIO */ /* ----------- End of implementation choices ---------- */ /* We now need to determine what happens if source trys to use stdio. * There are three cases based on PERLIO_NOT_STDIO which XS code * can set how it wants. */ #ifdef PERL_CORE /* Make a choice for perl core code - currently this is set to try and catch lingering raw stdio calls. This is a known issue with some non UNIX ports which still use "native" stdio features. */ # ifndef PERLIO_NOT_STDIO # define PERLIO_NOT_STDIO 1 # endif #else # ifndef PERLIO_NOT_STDIO # define PERLIO_NOT_STDIO 0 # endif #endif #ifdef PERLIO_NOT_STDIO #if PERLIO_NOT_STDIO /* * PERLIO_NOT_STDIO #define'd as 1 * Case 1: Strong denial of stdio - make all stdio calls (we can think of) errors */ #include "nostdio.h" #else /* if PERLIO_NOT_STDIO */ /* * PERLIO_NOT_STDIO #define'd as 0 * Case 2: Declares that both PerlIO and stdio can be used */ #endif /* if PERLIO_NOT_STDIO */ #else /* ifdef PERLIO_NOT_STDIO */ /* * PERLIO_NOT_STDIO not defined * Case 3: Try and fake stdio calls as PerlIO calls */ #include "fakesdio.h" #endif /* ifndef PERLIO_NOT_STDIO */ /* ----------- fill in things that have not got #define'd ---------- */ #ifndef Fpos_t #define Fpos_t Off_t #endif #ifndef EOF #define EOF (-1) #endif /* This is to catch case with no stdio */ #ifndef BUFSIZ #define BUFSIZ 1024 #endif /* The default buffer size for the perlio buffering layer */ #ifndef PERLIOBUF_DEFAULT_BUFSIZ #define PERLIOBUF_DEFAULT_BUFSIZ (BUFSIZ > 8192 ? BUFSIZ : 8192) #endif #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #define PERLIO_DUP_CLONE 1 #define PERLIO_DUP_FD 2 /* --------------------- Now prototypes for functions --------------- */ START_EXTERN_C #ifndef __attribute__format__ # ifdef HASATTRIBUTE_FORMAT # define __attribute__format__(x,y,z) __attribute__((format(x,y,z))) # else # define __attribute__format__(x,y,z) # endif #endif #ifndef PerlIO_init PERL_CALLCONV void PerlIO_init(pTHX); #endif #ifndef PerlIO_stdoutf PERL_CALLCONV int PerlIO_stdoutf(const char *, ...) __attribute__format__(__printf__, 1, 2); #endif #ifndef PerlIO_puts PERL_CALLCONV int PerlIO_puts(PerlIO *, const char *); #endif #ifndef PerlIO_open PERL_CALLCONV PerlIO *PerlIO_open(const char *, const char *); #endif #ifndef PerlIO_openn PERL_CALLCONV PerlIO *PerlIO_openn(pTHX_ const char *layers, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **arg); #endif #ifndef PerlIO_eof PERL_CALLCONV int PerlIO_eof(PerlIO *); #endif #ifndef PerlIO_error PERL_CALLCONV int PerlIO_error(PerlIO *); #endif #ifndef PerlIO_clearerr PERL_CALLCONV void PerlIO_clearerr(PerlIO *); #endif #ifndef PerlIO_getc PERL_CALLCONV int PerlIO_getc(PerlIO *); #endif #ifndef PerlIO_putc PERL_CALLCONV int PerlIO_putc(PerlIO *, int); #endif #ifndef PerlIO_ungetc PERL_CALLCONV int PerlIO_ungetc(PerlIO *, int); #endif #ifndef PerlIO_fdopen PERL_CALLCONV PerlIO *PerlIO_fdopen(int, const char *); #endif #ifndef PerlIO_importFILE PERL_CALLCONV PerlIO *PerlIO_importFILE(FILE *, const char *); #endif #ifndef PerlIO_exportFILE PERL_CALLCONV FILE *PerlIO_exportFILE(PerlIO *, const char *); #endif #ifndef PerlIO_findFILE PERL_CALLCONV FILE *PerlIO_findFILE(PerlIO *); #endif #ifndef PerlIO_releaseFILE PERL_CALLCONV void PerlIO_releaseFILE(PerlIO *, FILE *); #endif #ifndef PerlIO_read PERL_CALLCONV SSize_t PerlIO_read(PerlIO *, void *, Size_t); #endif #ifndef PerlIO_unread PERL_CALLCONV SSize_t PerlIO_unread(PerlIO *, const void *, Size_t); #endif #ifndef PerlIO_write PERL_CALLCONV SSize_t PerlIO_write(PerlIO *, const void *, Size_t); #endif #ifndef PerlIO_setlinebuf PERL_CALLCONV void PerlIO_setlinebuf(PerlIO *); #endif #ifndef PerlIO_printf PERL_CALLCONV int PerlIO_printf(PerlIO *, const char *, ...) __attribute__format__(__printf__, 2, 3); #endif #ifndef PerlIO_vprintf PERL_CALLCONV int PerlIO_vprintf(PerlIO *, const char *, va_list); #endif #ifndef PerlIO_tell PERL_CALLCONV Off_t PerlIO_tell(PerlIO *); #endif #ifndef PerlIO_seek PERL_CALLCONV int PerlIO_seek(PerlIO *, Off_t, int); #endif #ifndef PerlIO_rewind PERL_CALLCONV void PerlIO_rewind(PerlIO *); #endif #ifndef PerlIO_has_base PERL_CALLCONV int PerlIO_has_base(PerlIO *); #endif #ifndef PerlIO_has_cntptr PERL_CALLCONV int PerlIO_has_cntptr(PerlIO *); #endif #ifndef PerlIO_fast_gets PERL_CALLCONV int PerlIO_fast_gets(PerlIO *); #endif #ifndef PerlIO_canset_cnt PERL_CALLCONV int PerlIO_canset_cnt(PerlIO *); #endif #ifndef PerlIO_get_ptr PERL_CALLCONV STDCHAR *PerlIO_get_ptr(PerlIO *); #endif #ifndef PerlIO_get_cnt PERL_CALLCONV SSize_t PerlIO_get_cnt(PerlIO *); #endif #ifndef PerlIO_set_cnt PERL_CALLCONV void PerlIO_set_cnt(PerlIO *, SSize_t); #endif #ifndef PerlIO_set_ptrcnt PERL_CALLCONV void PerlIO_set_ptrcnt(PerlIO *, STDCHAR *, SSize_t); #endif #ifndef PerlIO_get_base PERL_CALLCONV STDCHAR *PerlIO_get_base(PerlIO *); #endif #ifndef PerlIO_get_bufsiz PERL_CALLCONV SSize_t PerlIO_get_bufsiz(PerlIO *); #endif #ifndef PerlIO_tmpfile PERL_CALLCONV PerlIO *PerlIO_tmpfile(void); #endif #ifndef PerlIO_tmpfile_flags PERL_CALLCONV PerlIO *PerlIO_tmpfile_flags(int flags); #endif #ifndef PerlIO_stdin PERL_CALLCONV PerlIO *PerlIO_stdin(void); #endif #ifndef PerlIO_stdout PERL_CALLCONV PerlIO *PerlIO_stdout(void); #endif #ifndef PerlIO_stderr PERL_CALLCONV PerlIO *PerlIO_stderr(void); #endif #ifndef PerlIO_getpos PERL_CALLCONV int PerlIO_getpos(PerlIO *, SV *); #endif #ifndef PerlIO_setpos PERL_CALLCONV int PerlIO_setpos(PerlIO *, SV *); #endif #ifndef PerlIO_fdupopen PERL_CALLCONV PerlIO *PerlIO_fdupopen(pTHX_ PerlIO *, CLONE_PARAMS *, int); #endif #if !defined(PerlIO_modestr) PERL_CALLCONV char *PerlIO_modestr(PerlIO *, char *buf); #endif #ifndef PerlIO_isutf8 PERL_CALLCONV int PerlIO_isutf8(PerlIO *); #endif #ifndef PerlIO_apply_layers PERL_CALLCONV int PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, const char *names); #endif #ifndef PerlIO_binmode PERL_CALLCONV int PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int omode, const char *names); #endif #ifndef PerlIO_getname PERL_CALLCONV char *PerlIO_getname(PerlIO *, char *); #endif PERL_CALLCONV void PerlIO_destruct(pTHX); PERL_CALLCONV int PerlIO_intmode2str(int rawmode, char *mode, int *writing); #ifdef PERLIO_LAYERS PERL_CALLCONV void PerlIO_cleanup(pTHX); PERL_CALLCONV void PerlIO_debug(const char *fmt, ...) __attribute__format__(__printf__, 1, 2); typedef struct PerlIO_list_s PerlIO_list_t; #endif END_EXTERN_C #endif /* PERLIO_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ gv.h 0000644 00000024727 15140731057 0005350 0 ustar 00 /* gv.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ struct gp { SV * gp_sv; /* scalar value */ struct io * gp_io; /* filehandle value */ CV * gp_cv; /* subroutine value */ U32 gp_cvgen; /* generational validity of cached gp_cv */ U32 gp_refcnt; /* how many globs point to this? */ HV * gp_hv; /* hash value */ AV * gp_av; /* array value */ CV * gp_form; /* format value */ GV * gp_egv; /* effective gv, if *glob */ PERL_BITFIELD32 gp_line:31; /* line first declared at (for -w) */ PERL_BITFIELD32 gp_flags:1; HEK * gp_file_hek; /* file first declared in (for -w) */ }; #define GvXPVGV(gv) ((XPVGV*)SvANY(gv)) #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__INTEL_COMPILER) # define GvGP(gv) \ (0+(*({GV *const _gvgp = (GV *) (gv); \ assert(SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV); \ assert(isGV_with_GP(_gvgp)); \ &((_gvgp)->sv_u.svu_gp);}))) # define GvGP_set(gv,gp) \ {GV *const _gvgp = (GV *) (gv); \ assert(SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV); \ assert(isGV_with_GP(_gvgp)); \ (_gvgp)->sv_u.svu_gp = (gp); } # define GvFLAGS(gv) \ (*({GV *const _gvflags = (GV *) (gv); \ assert(SvTYPE(_gvflags) == SVt_PVGV || SvTYPE(_gvflags) == SVt_PVLV); \ assert(isGV_with_GP(_gvflags)); \ &(GvXPVGV(_gvflags)->xpv_cur);})) # define GvSTASH(gv) \ (*({ GV * const _gvstash = (GV *) (gv); \ assert(isGV_with_GP(_gvstash)); \ assert(SvTYPE(_gvstash) == SVt_PVGV || SvTYPE(_gvstash) >= SVt_PVLV); \ &(GvXPVGV(_gvstash)->xnv_u.xgv_stash); \ })) # define GvNAME_HEK(gv) \ (*({ GV * const _gvname_hek = (GV *) (gv); \ assert(isGV_with_GP(_gvname_hek)); \ assert(SvTYPE(_gvname_hek) == SVt_PVGV || SvTYPE(_gvname_hek) >= SVt_PVLV); \ &(GvXPVGV(_gvname_hek)->xiv_u.xivu_namehek); \ })) # define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); (char *)HEK_KEY(GvNAME_HEK(gv)); }) # define GvNAMELEN_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); }) # define GvNAMEUTF8(gv) ({ assert(GvNAME_HEK(gv)); HEK_UTF8(GvNAME_HEK(gv)); }) #else # define GvGP(gv) (0+(gv)->sv_u.svu_gp) # define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp)) # define GvFLAGS(gv) (GvXPVGV(gv)->xpv_cur) # define GvSTASH(gv) (GvXPVGV(gv)->xnv_u.xgv_stash) # define GvNAME_HEK(gv) (GvXPVGV(gv)->xiv_u.xivu_namehek) # define GvNAME_get(gv) HEK_KEY(GvNAME_HEK(gv)) # define GvNAMELEN_get(gv) HEK_LEN(GvNAME_HEK(gv)) # define GvNAMEUTF8(gv) HEK_UTF8(GvNAME_HEK(gv)) #endif #define GvNAME(gv) GvNAME_get(gv) #define GvNAMELEN(gv) GvNAMELEN_get(gv) /* =head1 GV Functions =for apidoc Am|SV*|GvSV|GV* gv Return the SV from the GV. =for apidoc Am|AV*|GvAV|GV* gv Return the AV from the GV. =for apidoc Am|HV*|GvHV|GV* gv Return the HV from the GV. =for apidoc Am|CV*|GvCV|GV* gv Return the CV from the GV. =cut */ #define GvSV(gv) (GvGP(gv)->gp_sv) #ifdef PERL_DONT_CREATE_GVSV #define GvSVn(gv) (*(GvGP(gv)->gp_sv ? \ &(GvGP(gv)->gp_sv) : \ &(GvGP(gv_SVadd(gv))->gp_sv))) #else #define GvSVn(gv) GvSV(gv) #endif #define GvREFCNT(gv) (GvGP(gv)->gp_refcnt) #define GvIO(gv) \ ( \ (gv) \ && ( \ SvTYPE((const SV*)(gv)) == SVt_PVGV \ || SvTYPE((const SV*)(gv)) == SVt_PVLV \ ) \ && GvGP(gv) \ ? GvIOp(gv) \ : NULL \ ) #define GvIOp(gv) (GvGP(gv)->gp_io) #define GvIOn(gv) (GvIO(gv) ? GvIOp(gv) : GvIOp(gv_IOadd(gv))) #define GvFORM(gv) (GvGP(gv)->gp_form) #define GvAV(gv) (GvGP(gv)->gp_av) #define GvAVn(gv) (GvGP(gv)->gp_av ? \ GvGP(gv)->gp_av : \ GvGP(gv_AVadd(gv))->gp_av) #define GvHV(gv) ((GvGP(gv))->gp_hv) #define GvHVn(gv) (GvGP(gv)->gp_hv ? \ GvGP(gv)->gp_hv : \ GvGP(gv_HVadd(gv))->gp_hv) #define GvCV(gv) (0+GvGP(gv)->gp_cv) #define GvCV_set(gv,cv) (GvGP(gv)->gp_cv = (cv)) #define GvCVGEN(gv) (GvGP(gv)->gp_cvgen) #define GvCVu(gv) (GvGP(gv)->gp_cvgen ? NULL : GvGP(gv)->gp_cv) #define GvGPFLAGS(gv) (GvGP(gv)->gp_flags) #define GvLINE(gv) (GvGP(gv)->gp_line) #define GvFILE_HEK(gv) (GvGP(gv)->gp_file_hek) #define GvFILEx(gv) HEK_KEY(GvFILE_HEK(gv)) #define GvFILE(gv) (GvFILE_HEK(gv) ? GvFILEx(gv) : NULL) #define GvFILEGV(gv) (GvFILE_HEK(gv) ? gv_fetchfile(GvFILEx(gv)) : NULL) #define GvEGV(gv) (GvGP(gv)->gp_egv) #define GvEGVx(gv) (isGV_with_GP(gv) ? GvEGV(gv) : NULL) #define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv) #define GvENAMELEN(gv) GvNAMELEN(GvEGV(gv) ? GvEGV(gv) : gv) #define GvENAMEUTF8(gv) GvNAMEUTF8(GvEGV(gv) ? GvEGV(gv) : gv) #define GvENAME_HEK(gv) GvNAME_HEK(GvEGV(gv) ? GvEGV(gv) : gv) #define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv) /* GVf_INTRO is one-shot flag which indicates that the next assignment of a reference to the glob is to be localised; it distinguishes 'local *g = $ref' from '*g = $ref'. */ #define GVf_INTRO 0x01 #define GVf_MULTI 0x02 #define GVf_ASSUMECV 0x04 /* UNUSED 0x08 */ #define GVf_IMPORTED 0xF0 #define GVf_IMPORTED_SV 0x10 #define GVf_IMPORTED_AV 0x20 #define GVf_IMPORTED_HV 0x40 #define GVf_IMPORTED_CV 0x80 #define GvINTRO(gv) (GvFLAGS(gv) & GVf_INTRO) #define GvINTRO_on(gv) (GvFLAGS(gv) |= GVf_INTRO) #define GvINTRO_off(gv) (GvFLAGS(gv) &= ~GVf_INTRO) #define GvMULTI(gv) (GvFLAGS(gv) & GVf_MULTI) #define GvMULTI_on(gv) (GvFLAGS(gv) |= GVf_MULTI) #define GvMULTI_off(gv) (GvFLAGS(gv) &= ~GVf_MULTI) #define GvASSUMECV(gv) (GvFLAGS(gv) & GVf_ASSUMECV) #define GvASSUMECV_on(gv) (GvFLAGS(gv) |= GVf_ASSUMECV) #define GvASSUMECV_off(gv) (GvFLAGS(gv) &= ~GVf_ASSUMECV) #define GvIMPORTED(gv) (GvFLAGS(gv) & GVf_IMPORTED) #define GvIMPORTED_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED) #define GvIMPORTED_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED) #define GvIMPORTED_SV(gv) (GvFLAGS(gv) & GVf_IMPORTED_SV) #define GvIMPORTED_SV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_SV) #define GvIMPORTED_SV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_SV) #define GvIMPORTED_AV(gv) (GvFLAGS(gv) & GVf_IMPORTED_AV) #define GvIMPORTED_AV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_AV) #define GvIMPORTED_AV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_AV) #define GvIMPORTED_HV(gv) (GvFLAGS(gv) & GVf_IMPORTED_HV) #define GvIMPORTED_HV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_HV) #define GvIMPORTED_HV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_HV) #define GvIMPORTED_CV(gv) (GvFLAGS(gv) & GVf_IMPORTED_CV) #define GvIMPORTED_CV_on(gv) (GvFLAGS(gv) |= GVf_IMPORTED_CV) #define GvIMPORTED_CV_off(gv) (GvFLAGS(gv) &= ~GVf_IMPORTED_CV) #ifndef PERL_CORE # define GvIN_PAD(gv) 0 # define GvIN_PAD_on(gv) NOOP # define GvIN_PAD_off(gv) NOOP # define Nullgv Null(GV*) #endif #define DM_RUID 0x001 #define DM_EUID 0x002 #define DM_UID (DM_RUID|DM_EUID) #define DM_ARRAY_ISA 0x004 #define DM_RGID 0x010 #define DM_EGID 0x020 #define DM_GID (DM_RGID|DM_EGID) #define DM_DELAY 0x100 /* * symbol creation flags, for use in gv_fetchpv() and get_*v() */ #define GV_ADD 0x01 /* add, if symbol not already there For gv_name_set, adding a HEK for the first time, so don't try to free what's there. */ #define GV_ADDMULTI 0x02 /* add, pretending it has been added already; used also by gv_init_* */ #define GV_ADDWARN 0x04 /* add, but warn if symbol wasn't already there */ /* 0x08 UNUSED */ #define GV_NOINIT 0x10 /* add, but don't init symbol, if type != PVGV */ /* This is used by toke.c to avoid turing placeholder constants in the symbol table into full PVGVs with attached constant subroutines. */ #define GV_NOADD_NOINIT 0x20 /* Don't add the symbol if it's not there. Don't init it if it is there but ! PVGV */ #define GV_NOEXPAND 0x40 /* Don't expand SvOK() entries to PVGV */ #define GV_NOTQUAL 0x80 /* A plain symbol name, not qualified with a package (so skip checks for :: and ') */ #define GV_AUTOLOAD 0x100 /* gv_fetchmethod_flags() should AUTOLOAD */ #define GV_CROAK 0x200 /* gv_fetchmethod_flags() should croak */ #define GV_ADDMG 0x400 /* add if magical */ #define GV_NO_SVGMAGIC 0x800 /* Skip get-magic on an SV argument; used only by gv_fetchsv(_nomg) */ #define GV_CACHE_ONLY 0x1000 /* return stash only if found in cache; used only in flags parameter to gv_stash* family */ /* Flags for gv_fetchmeth_pvn and gv_autoload_pvn*/ #define GV_SUPER 0x1000 /* SUPER::method */ /* Flags for gv_autoload_*/ #define GV_AUTOLOAD_ISMETHOD 1 /* autoloading a method? */ /* SVf_UTF8 (more accurately the return value from SvUTF8) is also valid as a flag to various gv_* functions, so ensure it lies outside this range. */ #define GV_NOADD_MASK \ (SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL|GV_ADDMG|GV_NO_SVGMAGIC) /* The bit flags that don't cause gv_fetchpv() to add a symbol if not found (with the exception GV_ADDMG, which *might* cause the symbol to be added) */ #define gv_fullname3(sv,gv,prefix) gv_fullname4(sv,gv,prefix,TRUE) #define gv_efullname3(sv,gv,prefix) gv_efullname4(sv,gv,prefix,TRUE) #define gv_fetchmethod(stash, name) gv_fetchmethod_autoload(stash, name, TRUE) #define gv_fetchsv_nomg(n,f,t) gv_fetchsv(n,(f)|GV_NO_SVGMAGIC,t) #define gv_init(gv,stash,name,len,multi) \ gv_init_pvn(gv,stash,name,len,GV_ADDMULTI*!!(multi)) #define gv_fetchmeth(stash,name,len,level) gv_fetchmeth_pvn(stash, name, len, level, 0) #define gv_fetchmeth_autoload(stash,name,len,level) gv_fetchmeth_pvn_autoload(stash, name, len, level, 0) #define gv_fetchmethod_flags(stash,name,flags) gv_fetchmethod_pv_flags(stash, name, flags) #define gv_autoload4(stash, name, len, method) \ gv_autoload_pvn(stash, name, len, !!(method)) #define newGVgen(pack) newGVgen_flags(pack, 0) #define gv_method_changed(gv) \ ( \ assert_(isGV_with_GP(gv)) \ GvREFCNT(gv) > 1 \ ? (void)++PL_sub_generation \ : mro_method_changed_in(GvSTASH(gv)) \ ) #define gv_AVadd(gv) gv_add_by_type((gv), SVt_PVAV) #define gv_HVadd(gv) gv_add_by_type((gv), SVt_PVHV) #define gv_IOadd(gv) gv_add_by_type((gv), SVt_PVIO) #define gv_SVadd(gv) gv_add_by_type((gv), SVt_NULL) /* * ex: set ts=8 sts=4 sw=4 et: */ op.h 0000644 00000112550 15140731057 0005342 0 ustar 00 /* op.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * The fields of BASEOP are: * op_next Pointer to next ppcode to execute after this one. * (Top level pre-grafted op points to first op, * but this is replaced when op is grafted in, when * this op will point to the real next op, and the new * parent takes over role of remembering starting op.) * op_ppaddr Pointer to current ppcode's function. * op_type The type of the operation. * op_opt Whether or not the op has been optimised by the * peephole optimiser. * op_slabbed allocated via opslab * op_static tell op_free() to skip PerlMemShared_free(), when * !op_slabbed. * op_savefree on savestack via SAVEFREEOP * op_folded Result/remainder of a constant fold operation. * op_moresib this op is not the last sibling * op_spare One spare bit * op_flags Flags common to all operations. See OPf_* below. * op_private Flags peculiar to a particular operation (BUT, * by default, set to the number of children until * the operation is privatized by a check routine, * which may or may not check number of children). */ #include "op_reg_common.h" #define OPCODE U16 typedef PERL_BITFIELD16 Optype; #ifdef BASEOP_DEFINITION #define BASEOP BASEOP_DEFINITION #else #define BASEOP \ OP* op_next; \ OP* op_sibparent; \ OP* (*op_ppaddr)(pTHX); \ PADOFFSET op_targ; \ PERL_BITFIELD16 op_type:9; \ PERL_BITFIELD16 op_opt:1; \ PERL_BITFIELD16 op_slabbed:1; \ PERL_BITFIELD16 op_savefree:1; \ PERL_BITFIELD16 op_static:1; \ PERL_BITFIELD16 op_folded:1; \ PERL_BITFIELD16 op_moresib:1; \ PERL_BITFIELD16 op_spare:1; \ U8 op_flags; \ U8 op_private; #endif /* If op_type:9 is changed to :10, also change cx_pusheval() Also, if the type of op_type is ever changed (e.g. to PERL_BITFIELD32) then all the other bit-fields before/after it should change their types too to let VC pack them into the same 4 byte integer.*/ /* for efficiency, requires OPf_WANT_VOID == G_VOID etc */ #define OP_GIMME(op,dfl) \ (((op)->op_flags & OPf_WANT) ? ((op)->op_flags & OPf_WANT) : dfl) #define OP_GIMME_REVERSE(flags) ((flags) & G_WANT) /* =head1 "Gimme" Values =for apidoc Amn|U32|GIMME_V The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>, C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context, respectively. See L<perlcall> for a usage example. =for apidoc Amn|U32|GIMME A backward-compatible version of C<GIMME_V> which can only return C<G_SCALAR> or C<G_ARRAY>; in a void context, it returns C<G_SCALAR>. Deprecated. Use C<GIMME_V> instead. =cut */ #define GIMME_V Perl_gimme_V(aTHX) /* Public flags */ #define OPf_WANT 3 /* Mask for "want" bits: */ #define OPf_WANT_VOID 1 /* Want nothing */ #define OPf_WANT_SCALAR 2 /* Want single value */ #define OPf_WANT_LIST 3 /* Want list of any length */ #define OPf_KIDS 4 /* There is a firstborn child. */ #define OPf_PARENS 8 /* This operator was parenthesized. */ /* (Or block needs explicit scope entry.) */ #define OPf_REF 16 /* Certified reference. */ /* (Return container, not containee). */ #define OPf_MOD 32 /* Will modify (lvalue). */ #define OPf_STACKED 64 /* Some arg is arriving on the stack. */ /* Indicates mutator-variant of op for those * ops which support them, e.g. $x += 1 */ #define OPf_SPECIAL 128 /* Do something weird for this op: */ /* On local LVAL, don't init local value. */ /* On OP_SORT, subroutine is inlined. */ /* On OP_NOT, inversion was implicit. */ /* On OP_LEAVE, don't restore curpm, e.g. * /(...)/ while ...>; */ /* On truncate, we truncate filehandle */ /* On control verbs, we saw no label */ /* On flipflop, we saw ... instead of .. */ /* On UNOPs, saw bare parens, e.g. eof(). */ /* On OP_CHDIR, handle (or bare parens) */ /* On OP_NULL, saw a "do". */ /* On OP_EXISTS, treat av as av, not avhv. */ /* On OP_(ENTER|LEAVE)EVAL, don't clear $@ */ /* On regcomp, "use re 'eval'" was in scope */ /* On RV2[ACGHS]V, don't create GV--in defined()*/ /* On OP_DBSTATE, indicates breakpoint * (runtime property) */ /* On OP_REQUIRE, was seen as CORE::require */ /* On OP_(ENTER|LEAVE)WHEN, there's no condition */ /* On OP_SMARTMATCH, an implicit smartmatch */ /* On OP_ANONHASH and OP_ANONLIST, create a reference to the new anon hash or array */ /* On OP_HELEM, OP_MULTIDEREF and OP_HSLICE, localization will be followed by assignment, so do not wipe the target if it is special (e.g. a glob or a magic SV) */ /* On OP_MATCH, OP_SUBST & OP_TRANS, the operand of a logical or conditional that was optimised away, so it should not be bound via =~ */ /* On OP_CONST, from a constant CV */ /* On OP_GLOB, two meanings: - Before ck_glob, called as CORE::glob - After ck_glob, use Perl glob function */ /* On OP_PADRANGE, push @_ */ /* On OP_DUMP, has no label */ /* On OP_UNSTACK, in a C-style for loop */ /* On OP_READLINE, it's for <<>>, not <> */ /* There is no room in op_flags for this one, so it has its own bit- field member (op_folded) instead. The flag is only used to tell op_convert_list to set op_folded. */ #define OPf_FOLDED (1<<16) /* old names; don't use in new code, but don't break them, either */ #define OPf_LIST OPf_WANT_LIST #define OPf_KNOW OPf_WANT #if !defined(PERL_CORE) && !defined(PERL_EXT) # define GIMME \ (PL_op->op_flags & OPf_WANT \ ? ((PL_op->op_flags & OPf_WANT) == OPf_WANT_LIST \ ? G_ARRAY \ : G_SCALAR) \ : dowantarray()) #endif /* NOTE: OPp* flags are now auto-generated and defined in opcode.h, * from data in regen/op_private */ #define OPpTRANS_ALL (OPpTRANS_USE_SVOP|OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE) #define OPpTRANS_FROM_UTF OPpTRANS_USE_SVOP #define OPpTRANS_TO_UTF OPpTRANS_CAN_FORCE_UTF8 /* Mask for OP_ENTERSUB flags, the absence of which must be propagated in dynamic context */ #define OPpENTERSUB_LVAL_MASK (OPpLVAL_INTRO|OPpENTERSUB_INARGS) /* things that can be elements of op_aux */ typedef union { PADOFFSET pad_offset; SV *sv; IV iv; UV uv; char *pv; SSize_t ssize; } UNOP_AUX_item; #ifdef USE_ITHREADS # define UNOP_AUX_item_sv(item) PAD_SVl((item)->pad_offset); #else # define UNOP_AUX_item_sv(item) ((item)->sv); #endif struct op { BASEOP }; struct unop { BASEOP OP * op_first; }; struct unop_aux { BASEOP OP *op_first; UNOP_AUX_item *op_aux; }; struct binop { BASEOP OP * op_first; OP * op_last; }; struct logop { BASEOP OP * op_first; OP * op_other; }; struct listop { BASEOP OP * op_first; OP * op_last; }; struct methop { BASEOP union { /* op_u.op_first *must* be aligned the same as the op_first * field of the other op types, and op_u.op_meth_sv *must* * be aligned with op_sv */ OP* op_first; /* optree for method name */ SV* op_meth_sv; /* static method name */ } op_u; #ifdef USE_ITHREADS PADOFFSET op_rclass_targ; /* pad index for redirect class */ #else SV* op_rclass_sv; /* static redirect class $o->A::meth() */ #endif }; struct pmop { BASEOP OP * op_first; OP * op_last; #ifdef USE_ITHREADS PADOFFSET op_pmoffset; #else REGEXP * op_pmregexp; /* compiled expression */ #endif U32 op_pmflags; union { OP * op_pmreplroot; /* For OP_SUBST */ PADOFFSET op_pmtargetoff; /* For OP_SPLIT lex ary or thr GV */ GV * op_pmtargetgv; /* For OP_SPLIT non-threaded GV */ } op_pmreplrootu; union { OP * op_pmreplstart; /* Only used in OP_SUBST */ #ifdef USE_ITHREADS PADOFFSET op_pmstashoff; /* Only used in OP_MATCH, with PMf_ONCE set */ #else HV * op_pmstash; #endif } op_pmstashstartu; OP * op_code_list; /* list of (?{}) code blocks */ }; #ifdef USE_ITHREADS #define PM_GETRE(o) (SvTYPE(PL_regex_pad[(o)->op_pmoffset]) == SVt_REGEXP \ ? (REGEXP*)(PL_regex_pad[(o)->op_pmoffset]) : NULL) /* The assignment is just to enforce type safety (or at least get a warning). */ /* With first class regexps not via a reference one needs to assign &PL_sv_undef under ithreads. (This would probably work unthreaded, but NULL is cheaper. I guess we could allow NULL, but the check above would get more complex, and we'd have an AV with (SV*)NULL in it, which feels bad */ /* BEWARE - something that calls this macro passes (r) which has a side effect. */ #define PM_SETRE(o,r) STMT_START { \ REGEXP *const _pm_setre = (r); \ assert(_pm_setre); \ PL_regex_pad[(o)->op_pmoffset] = MUTABLE_SV(_pm_setre); \ } STMT_END #else #define PM_GETRE(o) ((o)->op_pmregexp) #define PM_SETRE(o,r) ((o)->op_pmregexp = (r)) #endif /* Currently these PMf flags occupy a single 32-bit word. Not all bits are * currently used. The lower bits are shared with their corresponding RXf flag * bits, up to but not including _RXf_PMf_SHIFT_NEXT. The unused bits * immediately follow; finally the used Pmf-only (unshared) bits, so that the * highest bit in the word is used. This gathers all the unused bits as a pool * in the middle, like so: 11111111111111110000001111111111 * where the '1's represent used bits, and the '0's unused. This design allows * us to allocate off one end of the pool if we need to add a shared bit, and * off the other end if we need a non-shared bit, without disturbing the other * bits. This maximizes the likelihood of being able to change things without * breaking binary compatibility. * * To add shared bits, do so in op_reg_common.h. This should change * _RXf_PMf_SHIFT_NEXT so that things won't compile. Then come to regexp.h and * op.h and adjust the constant adders in the definitions of PMf_BASE_SHIFT and * Pmf_BASE_SHIFT down by the number of shared bits you added. That's it. * Things should be binary compatible. But if either of these gets to having * to subtract rather than add, leave at 0 and adjust all the entries below * that are in terms of this according. But if the first one of those is * already PMf_BASE_SHIFT+0, there are no bits left, and a redesign is in * order. * * To remove unshared bits, just delete its entry. If you're where breaking * binary compatibility is ok to do, you might want to adjust things to move * the newly opened space so that it gets absorbed into the common pool. * * To add unshared bits, first use up any gaps in the middle. Otherwise, * allocate off the low end until you get to PMf_BASE_SHIFT+0. If that isn't * enough, move PMf_BASE_SHIFT down (if possible) and add the new bit at the * other end instead; this preserves binary compatibility. */ #define PMf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+2) /* Set by the parser if it discovers an error, so the regex shouldn't be * compiled */ #define PMf_HAS_ERROR (1U<<(PMf_BASE_SHIFT+3)) /* 'use re "taint"' in scope: taint $1 etc. if target tainted */ #define PMf_RETAINT (1U<<(PMf_BASE_SHIFT+4)) /* match successfully only once per reset, with related flag RXf_USED in * re->extflags holding state. This is used only for ?? matches, and only on * OP_MATCH and OP_QR */ #define PMf_ONCE (1U<<(PMf_BASE_SHIFT+5)) /* PMf_ONCE, i.e. ?pat?, has matched successfully. Not used under threading. */ #define PMf_USED (1U<<(PMf_BASE_SHIFT+6)) /* subst replacement is constant */ #define PMf_CONST (1U<<(PMf_BASE_SHIFT+7)) /* keep 1st runtime pattern forever */ #define PMf_KEEP (1U<<(PMf_BASE_SHIFT+8)) #define PMf_GLOBAL (1U<<(PMf_BASE_SHIFT+9)) /* pattern had a g modifier */ /* don't reset pos() if //g fails */ #define PMf_CONTINUE (1U<<(PMf_BASE_SHIFT+10)) /* evaluating replacement as expr */ #define PMf_EVAL (1U<<(PMf_BASE_SHIFT+11)) /* Return substituted string instead of modifying it. */ #define PMf_NONDESTRUCT (1U<<(PMf_BASE_SHIFT+12)) /* the pattern has a CV attached (currently only under qr/...(?{}).../) */ #define PMf_HAS_CV (1U<<(PMf_BASE_SHIFT+13)) /* op_code_list is private; don't free it etc. It may well point to * code within another sub, with different pad etc */ #define PMf_CODELIST_PRIVATE (1U<<(PMf_BASE_SHIFT+14)) /* the PMOP is a QR (we should be able to detect that from the op type, * but the regex compilation API passes just the pm flags, not the op * itself */ #define PMf_IS_QR (1U<<(PMf_BASE_SHIFT+15)) #define PMf_USE_RE_EVAL (1U<<(PMf_BASE_SHIFT+16)) /* use re'eval' in scope */ /* Means that this is a subpattern being compiled while processing a \p{} * wildcard. This isn't called from op.c, but it is passed as a pm flag. */ #define PMf_WILDCARD (1U<<(PMf_BASE_SHIFT+17)) /* See comments at the beginning of these defines about adding bits. The * highest bit position should be used, so that if PMf_BASE_SHIFT gets * increased, the #error below will be triggered so that you will be reminded * to adjust things at the other end to keep the bit positions unchanged */ #if PMf_BASE_SHIFT+17 > 31 # error Too many PMf_ bits used. See above and regnodes.h for any spare in middle #endif #ifdef USE_ITHREADS # define PmopSTASH(o) ((o)->op_pmflags & PMf_ONCE \ ? PL_stashpad[(o)->op_pmstashstartu.op_pmstashoff] \ : NULL) # define PmopSTASH_set(o,hv) \ (assert_((o)->op_pmflags & PMf_ONCE) \ (o)->op_pmstashstartu.op_pmstashoff = \ (hv) ? alloccopstash(hv) : 0) #else # define PmopSTASH(o) \ (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstash : NULL) # if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define PmopSTASH_set(o,hv) ({ \ assert((o)->op_pmflags & PMf_ONCE); \ ((o)->op_pmstashstartu.op_pmstash = (hv)); \ }) # else # define PmopSTASH_set(o,hv) ((o)->op_pmstashstartu.op_pmstash = (hv)) # endif #endif #define PmopSTASHPV(o) (PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : NULL) /* op_pmstashstartu.op_pmstash is not refcounted */ #define PmopSTASHPV_set(o,pv) PmopSTASH_set((o), gv_stashpv(pv,GV_ADD)) struct svop { BASEOP SV * op_sv; }; struct padop { BASEOP PADOFFSET op_padix; }; struct pvop { BASEOP char * op_pv; }; struct loop { BASEOP OP * op_first; OP * op_last; OP * op_redoop; OP * op_nextop; OP * op_lastop; }; #define cUNOPx(o) ((UNOP*)(o)) #define cUNOP_AUXx(o) ((UNOP_AUX*)(o)) #define cBINOPx(o) ((BINOP*)(o)) #define cLISTOPx(o) ((LISTOP*)(o)) #define cLOGOPx(o) ((LOGOP*)(o)) #define cPMOPx(o) ((PMOP*)(o)) #define cSVOPx(o) ((SVOP*)(o)) #define cPADOPx(o) ((PADOP*)(o)) #define cPVOPx(o) ((PVOP*)(o)) #define cCOPx(o) ((COP*)(o)) #define cLOOPx(o) ((LOOP*)(o)) #define cMETHOPx(o) ((METHOP*)(o)) #define cUNOP cUNOPx(PL_op) #define cUNOP_AUX cUNOP_AUXx(PL_op) #define cBINOP cBINOPx(PL_op) #define cLISTOP cLISTOPx(PL_op) #define cLOGOP cLOGOPx(PL_op) #define cPMOP cPMOPx(PL_op) #define cSVOP cSVOPx(PL_op) #define cPADOP cPADOPx(PL_op) #define cPVOP cPVOPx(PL_op) #define cCOP cCOPx(PL_op) #define cLOOP cLOOPx(PL_op) #define cUNOPo cUNOPx(o) #define cUNOP_AUXo cUNOP_AUXx(o) #define cBINOPo cBINOPx(o) #define cLISTOPo cLISTOPx(o) #define cLOGOPo cLOGOPx(o) #define cPMOPo cPMOPx(o) #define cSVOPo cSVOPx(o) #define cPADOPo cPADOPx(o) #define cPVOPo cPVOPx(o) #define cCOPo cCOPx(o) #define cLOOPo cLOOPx(o) #define kUNOP cUNOPx(kid) #define kUNOP_AUX cUNOP_AUXx(kid) #define kBINOP cBINOPx(kid) #define kLISTOP cLISTOPx(kid) #define kLOGOP cLOGOPx(kid) #define kPMOP cPMOPx(kid) #define kSVOP cSVOPx(kid) #define kPADOP cPADOPx(kid) #define kPVOP cPVOPx(kid) #define kCOP cCOPx(kid) #define kLOOP cLOOPx(kid) typedef enum { OPclass_NULL, /* 0 */ OPclass_BASEOP, /* 1 */ OPclass_UNOP, /* 2 */ OPclass_BINOP, /* 3 */ OPclass_LOGOP, /* 4 */ OPclass_LISTOP, /* 5 */ OPclass_PMOP, /* 6 */ OPclass_SVOP, /* 7 */ OPclass_PADOP, /* 8 */ OPclass_PVOP, /* 9 */ OPclass_LOOP, /* 10 */ OPclass_COP, /* 11 */ OPclass_METHOP, /* 12 */ OPclass_UNOP_AUX /* 13 */ } OPclass; #ifdef USE_ITHREADS # define cGVOPx_gv(o) ((GV*)PAD_SVl(cPADOPx(o)->op_padix)) # ifndef PERL_CORE # define IS_PADGV(v) (v && isGV(v)) # define IS_PADCONST(v) \ (v && (SvREADONLY(v) || (SvIsCOW(v) && !SvLEN(v)))) # endif # define cSVOPx_sv(v) (cSVOPx(v)->op_sv \ ? cSVOPx(v)->op_sv : PAD_SVl((v)->op_targ)) # define cSVOPx_svp(v) (cSVOPx(v)->op_sv \ ? &cSVOPx(v)->op_sv : &PAD_SVl((v)->op_targ)) # define cMETHOPx_rclass(v) PAD_SVl(cMETHOPx(v)->op_rclass_targ) #else # define cGVOPx_gv(o) ((GV*)cSVOPx(o)->op_sv) # ifndef PERL_CORE # define IS_PADGV(v) FALSE # define IS_PADCONST(v) FALSE # endif # define cSVOPx_sv(v) (cSVOPx(v)->op_sv) # define cSVOPx_svp(v) (&cSVOPx(v)->op_sv) # define cMETHOPx_rclass(v) (cMETHOPx(v)->op_rclass_sv) #endif #define cMETHOPx_meth(v) cSVOPx_sv(v) #define cGVOP_gv cGVOPx_gv(PL_op) #define cGVOPo_gv cGVOPx_gv(o) #define kGVOP_gv cGVOPx_gv(kid) #define cSVOP_sv cSVOPx_sv(PL_op) #define cSVOPo_sv cSVOPx_sv(o) #define kSVOP_sv cSVOPx_sv(kid) #ifndef PERL_CORE # define Nullop ((OP*)NULL) #endif /* Lowest byte of PL_opargs */ #define OA_MARK 1 #define OA_FOLDCONST 2 #define OA_RETSCALAR 4 #define OA_TARGET 8 #define OA_TARGLEX 16 #define OA_OTHERINT 32 #define OA_DANGEROUS 64 #define OA_DEFGV 128 /* The next 4 bits (8..11) encode op class information */ #define OCSHIFT 8 #define OA_CLASS_MASK (15 << OCSHIFT) #define OA_BASEOP (0 << OCSHIFT) #define OA_UNOP (1 << OCSHIFT) #define OA_BINOP (2 << OCSHIFT) #define OA_LOGOP (3 << OCSHIFT) #define OA_LISTOP (4 << OCSHIFT) #define OA_PMOP (5 << OCSHIFT) #define OA_SVOP (6 << OCSHIFT) #define OA_PADOP (7 << OCSHIFT) #define OA_PVOP_OR_SVOP (8 << OCSHIFT) #define OA_LOOP (9 << OCSHIFT) #define OA_COP (10 << OCSHIFT) #define OA_BASEOP_OR_UNOP (11 << OCSHIFT) #define OA_FILESTATOP (12 << OCSHIFT) #define OA_LOOPEXOP (13 << OCSHIFT) #define OA_METHOP (14 << OCSHIFT) #define OA_UNOP_AUX (15 << OCSHIFT) /* Each remaining nybble of PL_opargs (i.e. bits 12..15, 16..19 etc) * encode the type for each arg */ #define OASHIFT 12 #define OA_SCALAR 1 #define OA_LIST 2 #define OA_AVREF 3 #define OA_HVREF 4 #define OA_CVREF 5 #define OA_FILEREF 6 #define OA_SCALARREF 7 #define OA_OPTIONAL 8 /* Op_REFCNT is a reference count at the head of each op tree: needed * since the tree is shared between threads, and between cloned closure * copies in the same thread. OP_REFCNT_LOCK/UNLOCK is used when modifying * this count. * The same mutex is used to protect the refcounts of the reg_trie_data * and reg_ac_data structures, which are shared between duplicated * regexes. */ #ifdef USE_ITHREADS # define OP_REFCNT_INIT MUTEX_INIT(&PL_op_mutex) # ifdef PERL_CORE # define OP_REFCNT_LOCK MUTEX_LOCK(&PL_op_mutex) # define OP_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_op_mutex) # else # define OP_REFCNT_LOCK op_refcnt_lock() # define OP_REFCNT_UNLOCK op_refcnt_unlock() # endif # define OP_REFCNT_TERM MUTEX_DESTROY(&PL_op_mutex) #else # define OP_REFCNT_INIT NOOP # define OP_REFCNT_LOCK NOOP # define OP_REFCNT_UNLOCK NOOP # define OP_REFCNT_TERM NOOP #endif #define OpREFCNT_set(o,n) ((o)->op_targ = (n)) #ifdef PERL_DEBUG_READONLY_OPS # define OpREFCNT_inc(o) Perl_op_refcnt_inc(aTHX_ o) # define OpREFCNT_dec(o) Perl_op_refcnt_dec(aTHX_ o) #else # define OpREFCNT_inc(o) ((o) ? (++(o)->op_targ, (o)) : NULL) # define OpREFCNT_dec(o) (--(o)->op_targ) #endif /* flags used by Perl_load_module() */ #define PERL_LOADMOD_DENY 0x1 /* no Module */ #define PERL_LOADMOD_NOIMPORT 0x2 /* use Module () */ #define PERL_LOADMOD_IMPORT_OPS 0x4 /* import arguments are passed as a sin- gle op tree, not a list of SVs */ #if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) #define ref(o, type) doref(o, type, TRUE) #endif /* translation table attached to OP_TRANS/OP_TRANSR ops */ typedef struct { Size_t size; /* number of entries in map[], not including final slot */ short map[1]; /* Unwarranted chumminess */ } OPtrans_map; /* =head1 Optree Manipulation Functions =for apidoc Am|OP*|LINKLIST|OP *o Given the root of an optree, link the tree in execution order using the C<op_next> pointers and return the first op executed. If this has already been done, it will not be redone, and C<< o->op_next >> will be returned. If C<< o->op_next >> is not already set, C<o> should be at least an C<UNOP>. =cut */ #define LINKLIST(o) ((o)->op_next ? (o)->op_next : op_linklist((OP*)o)) /* no longer used anywhere in core */ #ifndef PERL_CORE #define cv_ckproto(cv, gv, p) \ cv_ckproto_len_flags((cv), (gv), (p), (p) ? strlen(p) : 0, 0) #endif #ifdef PERL_CORE # define my(o) my_attrs((o), NULL) #endif #ifdef USE_REENTRANT_API #include "reentr.h" #endif #define NewOp(m,var,c,type) \ (var = (type *) Perl_Slab_Alloc(aTHX_ c*sizeof(type))) #define NewOpSz(m,var,size) \ (var = (OP *) Perl_Slab_Alloc(aTHX_ size)) #define FreeOp(p) Perl_Slab_Free(aTHX_ p) /* * The per-CV op slabs consist of a header (the opslab struct) and a bunch * of space for allocating op slots, each of which consists of two pointers * followed by an op. The first pointer points to the next op slot. The * second points to the slab. At the end of the slab is a null pointer, * so that slot->opslot_next - slot can be used to determine the size * of the op. * * Each CV can have multiple slabs; opslab_next points to the next slab, to * form a chain. All bookkeeping is done on the first slab, which is where * all the op slots point. * * Freed ops are marked as freed and attached to the freed chain * via op_next pointers. * * When there is more than one slab, the second slab in the slab chain is * assumed to be the one with free space available. It is used when allo- * cating an op if there are no freed ops available or big enough. */ #ifdef PERL_CORE struct opslot { U16 opslot_size; /* size of this slot (in pointers) */ U16 opslot_offset; /* offset from start of slab (in ptr units) */ OP opslot_op; /* the op itself */ }; struct opslab { OPSLAB * opslab_next; /* next slab */ OPSLAB * opslab_head; /* first slab in chain */ OP ** opslab_freed; /* array of sized chains of freed ops (head only)*/ size_t opslab_refcnt; /* number of ops (head slab only) */ U16 opslab_freed_size; /* allocated size of opslab_freed */ U16 opslab_size; /* size of slab in pointers, including header */ U16 opslab_free_space; /* space available in this slab for allocating new ops (in ptr units) */ # ifdef PERL_DEBUG_READONLY_OPS bool opslab_readonly; U8 opslab_padding; /* padding to ensure that opslab_slots is always */ # else U16 opslab_padding; /* located at an offset with 32-bit alignment */ # endif OPSLOT opslab_slots; /* slots begin here */ }; # define OPSLOT_HEADER STRUCT_OFFSET(OPSLOT, opslot_op) # define OPSLOT_HEADER_P (OPSLOT_HEADER/sizeof(I32 *)) # define OpSLOT(o) (assert_(o->op_slabbed) \ (OPSLOT *)(((char *)o)-OPSLOT_HEADER)) /* the first (head) opslab of the chain in which this op is allocated */ # define OpSLAB(o) \ (((OPSLAB*)( (I32**)OpSLOT(o) - OpSLOT(o)->opslot_offset))->opslab_head) # define OpslabREFCNT_dec(slab) \ (((slab)->opslab_refcnt == 1) \ ? opslab_free_nopad(slab) \ : (void)--(slab)->opslab_refcnt) /* Variant that does not null out the pads */ # define OpslabREFCNT_dec_padok(slab) \ (((slab)->opslab_refcnt == 1) \ ? opslab_free(slab) \ : (void)--(slab)->opslab_refcnt) #endif struct block_hooks { U32 bhk_flags; void (*bhk_start) (pTHX_ int full); void (*bhk_pre_end) (pTHX_ OP **seq); void (*bhk_post_end) (pTHX_ OP **seq); void (*bhk_eval) (pTHX_ OP *const saveop); }; /* =head1 Compile-time scope hooks =for apidoc mx|U32|BhkFLAGS|BHK *hk Return the BHK's flags. =for apidoc mxu|void *|BhkENTRY|BHK *hk|which Return an entry from the BHK structure. C<which> is a preprocessor token indicating which entry to return. If the appropriate flag is not set this will return C<NULL>. The type of the return value depends on which entry you ask for. =for apidoc Amxu|void|BhkENTRY_set|BHK *hk|which|void *ptr Set an entry in the BHK structure, and set the flags to indicate it is valid. C<which> is a preprocessing token indicating which entry to set. The type of C<ptr> depends on the entry. =for apidoc Amxu|void|BhkDISABLE|BHK *hk|which Temporarily disable an entry in this BHK structure, by clearing the appropriate flag. C<which> is a preprocessor token indicating which entry to disable. =for apidoc Amxu|void|BhkENABLE|BHK *hk|which Re-enable an entry in this BHK structure, by setting the appropriate flag. C<which> is a preprocessor token indicating which entry to enable. This will assert (under -DDEBUGGING) if the entry doesn't contain a valid pointer. =for apidoc mxu|void|CALL_BLOCK_HOOKS|which|arg Call all the registered block hooks for type C<which>. C<which> is a preprocessing token; the type of C<arg> depends on C<which>. =cut */ #define BhkFLAGS(hk) ((hk)->bhk_flags) #define BHKf_bhk_start 0x01 #define BHKf_bhk_pre_end 0x02 #define BHKf_bhk_post_end 0x04 #define BHKf_bhk_eval 0x08 #define BhkENTRY(hk, which) \ ((BhkFLAGS(hk) & BHKf_ ## which) ? ((hk)->which) : NULL) #define BhkENABLE(hk, which) \ STMT_START { \ BhkFLAGS(hk) |= BHKf_ ## which; \ assert(BhkENTRY(hk, which)); \ } STMT_END #define BhkDISABLE(hk, which) \ STMT_START { \ BhkFLAGS(hk) &= ~(BHKf_ ## which); \ } STMT_END #define BhkENTRY_set(hk, which, ptr) \ STMT_START { \ (hk)->which = ptr; \ BhkENABLE(hk, which); \ } STMT_END #define CALL_BLOCK_HOOKS(which, arg) \ STMT_START { \ if (PL_blockhooks) { \ SSize_t i; \ for (i = av_tindex(PL_blockhooks); i >= 0; i--) { \ SV *sv = AvARRAY(PL_blockhooks)[i]; \ BHK *hk; \ \ assert(SvIOK(sv)); \ if (SvUOK(sv)) \ hk = INT2PTR(BHK *, SvUVX(sv)); \ else \ hk = INT2PTR(BHK *, SvIVX(sv)); \ \ if (BhkENTRY(hk, which)) \ BhkENTRY(hk, which)(aTHX_ arg); \ } \ } \ } STMT_END /* flags for rv2cv_op_cv */ #define RV2CVOPCV_MARK_EARLY 0x00000001 #define RV2CVOPCV_RETURN_NAME_GV 0x00000002 #define RV2CVOPCV_RETURN_STUB 0x00000004 #ifdef PERL_CORE /* behaviour of this flag is subject to change: */ # define RV2CVOPCV_MAYBE_NAME_GV 0x00000008 #endif #define RV2CVOPCV_FLAG_MASK 0x0000000f /* all of the above */ #define op_lvalue(op,t) Perl_op_lvalue_flags(aTHX_ op,t,0) /* flags for op_lvalue_flags */ #define OP_LVALUE_NO_CROAK 1 /* =head1 Custom Operators =for apidoc Am|U32|XopFLAGS|XOP *xop Return the XOP's flags. =for apidoc Am||XopENTRY|XOP *xop|which Return a member of the XOP structure. C<which> is a cpp token indicating which entry to return. If the member is not set this will return a default value. The return type depends on C<which>. This macro evaluates its arguments more than once. If you are using C<Perl_custom_op_xop> to retreive a C<XOP *> from a C<OP *>, use the more efficient L</XopENTRYCUSTOM> instead. =for apidoc Am||XopENTRYCUSTOM|const OP *o|which Exactly like C<XopENTRY(XopENTRY(Perl_custom_op_xop(aTHX_ o), which)> but more efficient. The C<which> parameter is identical to L</XopENTRY>. =for apidoc Am|void|XopENTRY_set|XOP *xop|which|value Set a member of the XOP structure. C<which> is a cpp token indicating which entry to set. See L<perlguts/"Custom Operators"> for details about the available members and how they are used. This macro evaluates its argument more than once. =for apidoc Am|void|XopDISABLE|XOP *xop|which Temporarily disable a member of the XOP, by clearing the appropriate flag. =for apidoc Am|void|XopENABLE|XOP *xop|which Reenable a member of the XOP which has been disabled. =cut */ struct custom_op { U32 xop_flags; const char *xop_name; const char *xop_desc; U32 xop_class; void (*xop_peep)(pTHX_ OP *o, OP *oldop); }; /* return value of Perl_custom_op_get_field, similar to void * then casting but the U32 doesn't need truncation on 64 bit platforms in the caller, also for easier macro writing */ typedef union { const char *xop_name; const char *xop_desc; U32 xop_class; void (*xop_peep)(pTHX_ OP *o, OP *oldop); XOP *xop_ptr; } XOPRETANY; #define XopFLAGS(xop) ((xop)->xop_flags) #define XOPf_xop_name 0x01 #define XOPf_xop_desc 0x02 #define XOPf_xop_class 0x04 #define XOPf_xop_peep 0x08 /* used by Perl_custom_op_get_field for option checking */ typedef enum { XOPe_xop_ptr = 0, /* just get the XOP *, don't look inside it */ XOPe_xop_name = XOPf_xop_name, XOPe_xop_desc = XOPf_xop_desc, XOPe_xop_class = XOPf_xop_class, XOPe_xop_peep = XOPf_xop_peep } xop_flags_enum; #define XOPd_xop_name PL_op_name[OP_CUSTOM] #define XOPd_xop_desc PL_op_desc[OP_CUSTOM] #define XOPd_xop_class OA_BASEOP #define XOPd_xop_peep ((Perl_cpeep_t)0) #define XopENTRY_set(xop, which, to) \ STMT_START { \ (xop)->which = (to); \ (xop)->xop_flags |= XOPf_ ## which; \ } STMT_END #define XopENTRY(xop, which) \ ((XopFLAGS(xop) & XOPf_ ## which) ? (xop)->which : XOPd_ ## which) #define XopENTRYCUSTOM(o, which) \ (Perl_custom_op_get_field(aTHX_ o, XOPe_ ## which).which) #define XopDISABLE(xop, which) ((xop)->xop_flags &= ~XOPf_ ## which) #define XopENABLE(xop, which) \ STMT_START { \ (xop)->xop_flags |= XOPf_ ## which; \ assert(XopENTRY(xop, which)); \ } STMT_END #define Perl_custom_op_xop(x) \ (Perl_custom_op_get_field(x, XOPe_xop_ptr).xop_ptr) /* =head1 Optree Manipulation Functions =for apidoc Am|const char *|OP_NAME|OP *o Return the name of the provided OP. For core ops this looks up the name from the op_type; for custom ops from the op_ppaddr. =for apidoc Am|const char *|OP_DESC|OP *o Return a short description of the provided OP. =for apidoc Am|U32|OP_CLASS|OP *o Return the class of the provided OP: that is, which of the *OP structures it uses. For core ops this currently gets the information out of C<PL_opargs>, which does not always accurately reflect the type used; in v5.26 onwards, see also the function C<L</op_class>> which can do a better job of determining the used type. For custom ops the type is returned from the registration, and it is up to the registree to ensure it is accurate. The value returned will be one of the C<OA_>* constants from F<op.h>. =for apidoc Am|bool|OP_TYPE_IS|OP *o|Optype type Returns true if the given OP is not a C<NULL> pointer and if it is of the given type. The negation of this macro, C<OP_TYPE_ISNT> is also available as well as C<OP_TYPE_IS_NN> and C<OP_TYPE_ISNT_NN> which elide the NULL pointer check. =for apidoc Am|bool|OP_TYPE_IS_OR_WAS|OP *o|Optype type Returns true if the given OP is not a NULL pointer and if it is of the given type or used to be before being replaced by an OP of type OP_NULL. The negation of this macro, C<OP_TYPE_ISNT_AND_WASNT> is also available as well as C<OP_TYPE_IS_OR_WAS_NN> and C<OP_TYPE_ISNT_AND_WASNT_NN> which elide the C<NULL> pointer check. =for apidoc Am|bool|OpHAS_SIBLING|OP *o Returns true if C<o> has a sibling =for apidoc Am|OP*|OpSIBLING|OP *o Returns the sibling of C<o>, or C<NULL> if there is no sibling =for apidoc Am|void|OpMORESIB_set|OP *o|OP *sib Sets the sibling of C<o> to the non-zero value C<sib>. See also C<L</OpLASTSIB_set>> and C<L</OpMAYBESIB_set>>. For a higher-level interface, see C<L</op_sibling_splice>>. =for apidoc Am|void|OpLASTSIB_set|OP *o|OP *parent Marks C<o> as having no further siblings and marks o as having the specified parent. See also C<L</OpMORESIB_set>> and C<OpMAYBESIB_set>. For a higher-level interface, see C<L</op_sibling_splice>>. =for apidoc Am|void|OpMAYBESIB_set|OP *o|OP *sib|OP *parent Conditionally does C<OpMORESIB_set> or C<OpLASTSIB_set> depending on whether C<sib> is non-null. For a higher-level interface, see C<L</op_sibling_splice>>. =cut */ #define OP_NAME(o) ((o)->op_type == OP_CUSTOM \ ? XopENTRYCUSTOM(o, xop_name) \ : PL_op_name[(o)->op_type]) #define OP_DESC(o) ((o)->op_type == OP_CUSTOM \ ? XopENTRYCUSTOM(o, xop_desc) \ : PL_op_desc[(o)->op_type]) #define OP_CLASS(o) ((o)->op_type == OP_CUSTOM \ ? XopENTRYCUSTOM(o, xop_class) \ : (PL_opargs[(o)->op_type] & OA_CLASS_MASK)) #define OP_TYPE_IS(o, type) ((o) && (o)->op_type == (type)) #define OP_TYPE_IS_NN(o, type) ((o)->op_type == (type)) #define OP_TYPE_ISNT(o, type) ((o) && (o)->op_type != (type)) #define OP_TYPE_ISNT_NN(o, type) ((o)->op_type != (type)) #define OP_TYPE_IS_OR_WAS_NN(o, type) \ ( ((o)->op_type == OP_NULL \ ? (o)->op_targ \ : (o)->op_type) \ == (type) ) #define OP_TYPE_IS_OR_WAS(o, type) \ ( (o) && OP_TYPE_IS_OR_WAS_NN(o, type) ) #define OP_TYPE_ISNT_AND_WASNT_NN(o, type) \ ( ((o)->op_type == OP_NULL \ ? (o)->op_targ \ : (o)->op_type) \ != (type) ) #define OP_TYPE_ISNT_AND_WASNT(o, type) \ ( (o) && OP_TYPE_ISNT_AND_WASNT_NN(o, type) ) /* should match anything that uses ck_ftst in regen/opcodes */ #define OP_IS_STAT(op) (OP_IS_FILETEST(op) || (op) == OP_LSTAT || (op) == OP_STAT) #define OpHAS_SIBLING(o) (cBOOL((o)->op_moresib)) #define OpSIBLING(o) (0 + (o)->op_moresib ? (o)->op_sibparent : NULL) #define OpMORESIB_set(o, sib) ((o)->op_moresib = 1, (o)->op_sibparent = (sib)) #define OpLASTSIB_set(o, parent) \ ((o)->op_moresib = 0, (o)->op_sibparent = (parent)) #define OpMAYBESIB_set(o, sib, parent) \ ((o)->op_sibparent = ((o)->op_moresib = cBOOL(sib)) ? (sib) : (parent)) #if !defined(PERL_CORE) && !defined(PERL_EXT) /* for backwards compatibility only */ # define OP_SIBLING(o) OpSIBLING(o) #endif #define newATTRSUB(f, o, p, a, b) Perl_newATTRSUB_x(aTHX_ f, o, p, a, b, FALSE) #define newSUB(f, o, p, b) newATTRSUB((f), (o), (p), NULL, (b)) /* =head1 Hook manipulation */ #ifdef USE_ITHREADS # define OP_CHECK_MUTEX_INIT MUTEX_INIT(&PL_check_mutex) # define OP_CHECK_MUTEX_LOCK MUTEX_LOCK(&PL_check_mutex) # define OP_CHECK_MUTEX_UNLOCK MUTEX_UNLOCK(&PL_check_mutex) # define OP_CHECK_MUTEX_TERM MUTEX_DESTROY(&PL_check_mutex) #else # define OP_CHECK_MUTEX_INIT NOOP # define OP_CHECK_MUTEX_LOCK NOOP # define OP_CHECK_MUTEX_UNLOCK NOOP # define OP_CHECK_MUTEX_TERM NOOP #endif /* Stuff for OP_MULTDEREF/pp_multideref. */ /* actions */ /* Load another word of actions/flag bits. Must be 0 */ #define MDEREF_reload 0 #define MDEREF_AV_pop_rv2av_aelem 1 #define MDEREF_AV_gvsv_vivify_rv2av_aelem 2 #define MDEREF_AV_padsv_vivify_rv2av_aelem 3 #define MDEREF_AV_vivify_rv2av_aelem 4 #define MDEREF_AV_padav_aelem 5 #define MDEREF_AV_gvav_aelem 6 #define MDEREF_HV_pop_rv2hv_helem 8 #define MDEREF_HV_gvsv_vivify_rv2hv_helem 9 #define MDEREF_HV_padsv_vivify_rv2hv_helem 10 #define MDEREF_HV_vivify_rv2hv_helem 11 #define MDEREF_HV_padhv_helem 12 #define MDEREF_HV_gvhv_helem 13 #define MDEREF_ACTION_MASK 0xf /* key / index type */ #define MDEREF_INDEX_none 0x00 /* run external ops to generate index */ #define MDEREF_INDEX_const 0x10 /* index is const PV/UV */ #define MDEREF_INDEX_padsv 0x20 /* index is lexical var */ #define MDEREF_INDEX_gvsv 0x30 /* index is GV */ #define MDEREF_INDEX_MASK 0x30 /* bit flags */ #define MDEREF_FLAG_last 0x40 /* the last [ah]elem; PL_op flags apply */ #define MDEREF_MASK 0x7F #define MDEREF_SHIFT 7 #if defined(PERL_IN_DOOP_C) || defined(PERL_IN_PP_C) # define FATAL_ABOVE_FF_MSG \ "Use of strings with code points over 0xFF as arguments to " \ "%s operator is not allowed" #endif #if defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_PERL_C) # define TR_UNMAPPED (UV)-1 # define TR_DELETE (UV)-2 # define TR_R_EMPTY (UV)-3 /* rhs (replacement) is empty */ # define TR_OOB (UV)-4 /* Something that isn't one of the others */ # define TR_SPECIAL_HANDLING TR_DELETE /* Can occupy same value */ # define TR_UNLISTED TR_UNMAPPED /* A synonym whose name is clearer at times */ #endif #if defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) #define RANGE_INDICATOR ILLEGAL_UTF8_BYTE #endif /* stuff for OP_ARGCHECK */ struct op_argcheck_aux { UV params; /* number of positional parameters */ UV opt_params; /* number of optional positional parameters */ char slurpy; /* presence of slurpy: may be '\0', '@' or '%' */ }; /* * ex: set ts=8 sts=4 sw=4 et: */ pad.h 0000644 00000041520 15140731057 0005466 0 ustar 00 /* pad.h * * Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, * 2009, 2010, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * This file defines the types and macros associated with the API for * manipulating scratchpads, which are used by perl to store lexical * variables, op targets and constants. */ /* =head1 Pad Data Structures */ /* offsets within a pad */ typedef SSize_t PADOFFSET; /* signed so that -1 is a valid value */ #define NOT_IN_PAD ((PADOFFSET) -1) /* B.xs expects the first members of these two structs to line up (xpadl_max with xpadnl_fill). */ struct padlist { SSize_t xpadl_max; /* max index for which array has space */ union { PAD ** xpadlarr_alloc; /* Pointer to beginning of array of AVs. index 0 is a padnamelist * */ struct { PADNAMELIST * padnl; PAD * pad_1; /* this slice of PAD * array always alloced */ PAD * pad_2; /* maybe unalloced */ } * xpadlarr_dbg; /* for use with a C debugger only */ } xpadl_arr; U32 xpadl_id; /* Semi-unique ID, shared between clones */ U32 xpadl_outid; /* ID of outer pad */ }; struct padnamelist { SSize_t xpadnl_fill; /* max index in use */ PADNAME ** xpadnl_alloc; /* pointer to beginning of array */ SSize_t xpadnl_max; /* max index for which array has space */ PADOFFSET xpadnl_max_named; /* highest index with len > 0 */ U32 xpadnl_refcnt; }; /* PERL_PADNAME_MINIMAL uses less memory, but on some platforms PERL_PADNAME_ALIGNED may be faster, so platform-specific hints can define one or the other. */ #if defined(PERL_PADNAME_MINIMAL) && defined (PERL_PADNAME_ALIGNED) # error PERL_PADNAME_MINIMAL and PERL_PADNAME_ALIGNED are exclusive #endif #if !defined(PERL_PADNAME_MINIMAL) && !defined(PERL_PADNAME_ALIGNED) # define PERL_PADNAME_MINIMAL #endif #define _PADNAME_BASE \ char * xpadn_pv; \ HV * xpadn_ourstash; \ union { \ HV * xpadn_typestash; \ CV * xpadn_protocv; \ } xpadn_type_u; \ U32 xpadn_low; \ U32 xpadn_high; \ U32 xpadn_refcnt; \ int xpadn_gen; \ U8 xpadn_len; \ U8 xpadn_flags struct padname { _PADNAME_BASE; }; struct padname_with_str { #ifdef PERL_PADNAME_MINIMAL _PADNAME_BASE; #else struct padname xpadn_padname; #endif char xpadn_str[1]; }; #undef _PADNAME_BASE #define PADNAME_FROM_PV(s) \ ((PADNAME *)((s) - STRUCT_OFFSET(struct padname_with_str, xpadn_str))) /* a value that PL_cop_seqmax is guaranteed never to be, * flagging that a lexical is being introduced, or has not yet left scope */ #define PERL_PADSEQ_INTRO U32_MAX #define COP_SEQMAX_INC \ (PL_cop_seqmax++, \ (void)(PL_cop_seqmax == PERL_PADSEQ_INTRO && PL_cop_seqmax++)) /* B.xs needs these for the benefit of B::Deparse */ /* Low range end is exclusive (valid from the cop seq after this one) */ /* High range end is inclusive (valid up to this cop seq) */ #define COP_SEQ_RANGE_LOW(pn) (pn)->xpadn_low #define COP_SEQ_RANGE_HIGH(pn) (pn)->xpadn_high #define PARENT_PAD_INDEX(pn) (pn)->xpadn_low #define PARENT_FAKELEX_FLAGS(pn) (pn)->xpadn_high /* Flags set in the SvIVX field of FAKE namesvs */ #define PAD_FAKELEX_ANON 1 /* the lex is declared in an ANON, or ... */ #define PAD_FAKELEX_MULTI 2 /* the lex can be instantiated multiple times */ /* flags for the pad_new() function */ #define padnew_CLONE 1 /* this pad is for a cloned CV */ #define padnew_SAVE 2 /* save old globals */ #define padnew_SAVESUB 4 /* also save extra stuff for start of sub */ /* values for the pad_tidy() function */ typedef enum { padtidy_SUB, /* tidy up a pad for a sub, */ padtidy_SUBCLONE, /* a cloned sub, */ padtidy_FORMAT /* or a format */ } padtidy_type; /* flags for pad_add_name_pvn. */ #define padadd_OUR 0x01 /* our declaration. */ #define padadd_STATE 0x02 /* state declaration. */ #define padadd_NO_DUP_CHECK 0x04 /* skip warning on dups. */ #define padadd_STALEOK 0x08 /* allow stale lexical in active * sub, but only one level up */ /* ASSERT_CURPAD_LEGAL and ASSERT_CURPAD_ACTIVE respectively determine * whether PL_comppad and PL_curpad are consistent and whether they have * active values */ # define pad_peg(label) #ifdef DEBUGGING # define ASSERT_CURPAD_LEGAL(label) \ pad_peg(label); \ if (PL_comppad ? (AvARRAY(PL_comppad) != PL_curpad) : (PL_curpad != 0)) \ Perl_croak(aTHX_ "panic: illegal pad in %s: 0x%" UVxf "[0x%" UVxf "]",\ label, PTR2UV(PL_comppad), PTR2UV(PL_curpad)); # define ASSERT_CURPAD_ACTIVE(label) \ pad_peg(label); \ if (!PL_comppad || (AvARRAY(PL_comppad) != PL_curpad)) \ Perl_croak(aTHX_ "panic: invalid pad in %s: 0x%" UVxf "[0x%" UVxf "]",\ label, PTR2UV(PL_comppad), PTR2UV(PL_curpad)); #else # define ASSERT_CURPAD_LEGAL(label) # define ASSERT_CURPAD_ACTIVE(label) #endif /* Note: the following three macros are actually defined in scope.h, but * they are documented here for completeness, since they directly or * indirectly affect pads. =for apidoc m|void|SAVEPADSV |PADOFFSET po Save a pad slot (used to restore after an iteration) XXX DAPM it would make more sense to make the arg a PADOFFSET =for apidoc m|void|SAVECLEARSV |SV **svp Clear the pointed to pad value on scope exit. (i.e. the runtime action of C<my>) =for apidoc m|void|SAVECOMPPAD save C<PL_comppad> and C<PL_curpad> =for apidoc Amx|PAD **|PadlistARRAY|PADLIST * padlist The C array of a padlist, containing the pads. Only subscript it with numbers >= 1, as the 0th entry is not guaranteed to remain usable. =for apidoc Amx|SSize_t|PadlistMAX|PADLIST * padlist The index of the last allocated space in the padlist. Note that the last pad may be in an earlier slot. Any entries following it will be C<NULL> in that case. =for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST * padlist The names associated with pad entries. =for apidoc Amx|PADNAME **|PadlistNAMESARRAY|PADLIST * padlist The C array of pad names. =for apidoc Amx|SSize_t|PadlistNAMESMAX|PADLIST * padlist The index of the last pad name. =for apidoc Amx|U32|PadlistREFCNT|PADLIST * padlist The reference count of the padlist. Currently this is always 1. =for apidoc Amx|PADNAME **|PadnamelistARRAY|PADNAMELIST * pnl The C array of pad names. =for apidoc Amx|SSize_t|PadnamelistMAX|PADNAMELIST * pnl The index of the last pad name. =for apidoc Amx|SSize_t|PadnamelistREFCNT|PADNAMELIST * pnl The reference count of the pad name list. =for apidoc Amx|void|PadnamelistREFCNT_dec|PADNAMELIST * pnl Lowers the reference count of the pad name list. =for apidoc Amx|SV **|PadARRAY|PAD * pad The C array of pad entries. =for apidoc Amx|SSize_t|PadMAX|PAD * pad The index of the last pad entry. =for apidoc Amx|char *|PadnamePV|PADNAME * pn The name stored in the pad name struct. This returns C<NULL> for a target slot. =for apidoc Amx|STRLEN|PadnameLEN|PADNAME * pn The length of the name. =for apidoc Amx|bool|PadnameUTF8|PADNAME * pn Whether PadnamePV is in UTF-8. Currently, this is always true. =for apidoc Amx|SV *|PadnameSV|PADNAME * pn Returns the pad name as a mortal SV. =for apidoc m|bool|PadnameIsOUR|PADNAME * pn Whether this is an "our" variable. =for apidoc m|HV *|PadnameOURSTASH The stash in which this "our" variable was declared. =for apidoc m|bool|PadnameOUTER|PADNAME * pn Whether this entry belongs to an outer pad. Entries for which this is true are often referred to as 'fake'. =for apidoc m|bool|PadnameIsSTATE|PADNAME * pn Whether this is a "state" variable. =for apidoc m|HV *|PadnameTYPE|PADNAME * pn The stash associated with a typed lexical. This returns the C<%Foo::> hash for C<my Foo $bar>. =for apidoc Amx|SSize_t|PadnameREFCNT|PADNAME * pn The reference count of the pad name. =for apidoc Amx|void|PadnameREFCNT_dec|PADNAME * pn Lowers the reference count of the pad name. =for apidoc m|SV *|PAD_SETSV |PADOFFSET po|SV* sv Set the slot at offset C<po> in the current pad to C<sv> =for apidoc m|SV *|PAD_SV |PADOFFSET po Get the value at offset C<po> in the current pad =for apidoc m|SV *|PAD_SVl |PADOFFSET po Lightweight and lvalue version of C<PAD_SV>. Get or set the value at offset C<po> in the current pad. Unlike C<PAD_SV>, does not print diagnostics with -DX. For internal use only. =for apidoc m|SV *|PAD_BASE_SV |PADLIST padlist|PADOFFSET po Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist =for apidoc m|void|PAD_SET_CUR |PADLIST padlist|I32 n Set the current pad to be pad C<n> in the padlist, saving the previous current pad. NB currently this macro expands to a string too long for some compilers, so it's best to replace it with SAVECOMPPAD(); PAD_SET_CUR_NOSAVE(padlist,n); =for apidoc m|void|PAD_SET_CUR_NOSAVE |PADLIST padlist|I32 n like PAD_SET_CUR, but without the save =for apidoc m|void|PAD_SAVE_SETNULLPAD Save the current pad then set it to null. =for apidoc m|void|PAD_SAVE_LOCAL|PAD *opad|PAD *npad Save the current pad to the local variable C<opad>, then make the current pad equal to C<npad> =for apidoc m|void|PAD_RESTORE_LOCAL|PAD *opad Restore the old pad saved into the local variable C<opad> by C<PAD_SAVE_LOCAL()> =cut */ #define PadlistARRAY(pl) (pl)->xpadl_arr.xpadlarr_alloc #define PadlistMAX(pl) (pl)->xpadl_max #define PadlistNAMES(pl) *((PADNAMELIST **)PadlistARRAY(pl)) #define PadlistNAMESARRAY(pl) PadnamelistARRAY(PadlistNAMES(pl)) #define PadlistNAMESMAX(pl) PadnamelistMAX(PadlistNAMES(pl)) #define PadlistREFCNT(pl) 1 /* reserved for future use */ #define PadnamelistARRAY(pnl) (pnl)->xpadnl_alloc #define PadnamelistMAX(pnl) (pnl)->xpadnl_fill #define PadnamelistMAXNAMED(pnl) (pnl)->xpadnl_max_named #define PadnamelistREFCNT(pnl) (pnl)->xpadnl_refcnt #define PadnamelistREFCNT_dec(pnl) Perl_padnamelist_free(aTHX_ pnl) #define PadARRAY(pad) AvARRAY(pad) #define PadMAX(pad) AvFILLp(pad) #define PadnamePV(pn) (pn)->xpadn_pv #define PadnameLEN(pn) (pn)->xpadn_len #define PadnameUTF8(pn) 1 #define PadnameSV(pn) \ newSVpvn_flags(PadnamePV(pn), PadnameLEN(pn), SVs_TEMP|SVf_UTF8) #define PadnameFLAGS(pn) (pn)->xpadn_flags #define PadnameIsOUR(pn) (!!(pn)->xpadn_ourstash) #define PadnameOURSTASH(pn) (pn)->xpadn_ourstash #define PadnameTYPE(pn) (pn)->xpadn_type_u.xpadn_typestash #define PadnamePROTOCV(pn) (pn)->xpadn_type_u.xpadn_protocv #define PadnameREFCNT(pn) (pn)->xpadn_refcnt #define PadnameREFCNT_dec(pn) Perl_padname_free(aTHX_ pn) #define PadnameOURSTASH_set(pn,s) (PadnameOURSTASH(pn) = (s)) #define PadnameTYPE_set(pn,s) (PadnameTYPE(pn) = (s)) #define PadnameOUTER(pn) (PadnameFLAGS(pn) & PADNAMEt_OUTER) #define PadnameIsSTATE(pn) (PadnameFLAGS(pn) & PADNAMEt_STATE) #define PadnameLVALUE(pn) (PadnameFLAGS(pn) & PADNAMEt_LVALUE) #define PadnameLVALUE_on(pn) (PadnameFLAGS(pn) |= PADNAMEt_LVALUE) #define PadnameIsSTATE_on(pn) (PadnameFLAGS(pn) |= PADNAMEt_STATE) #define PADNAMEt_OUTER 1 /* outer lexical var */ #define PADNAMEt_STATE 2 /* state var */ #define PADNAMEt_LVALUE 4 /* used as lvalue */ #define PADNAMEt_TYPED 8 /* for B; unused by core */ #define PADNAMEt_OUR 16 /* for B; unused by core */ /* backward compatibility */ #define SvPAD_STATE PadnameIsSTATE #define SvPAD_TYPED(pn) (!!PadnameTYPE(pn)) #define SvPAD_OUR(pn) (!!PadnameOURSTASH(pn)) #define SvPAD_STATE_on PadnameIsSTATE_on #define SvPAD_TYPED_on(pn) (PadnameFLAGS(pn) |= PADNAMEt_TYPED) #define SvPAD_OUR_on(pn) (PadnameFLAGS(pn) |= PADNAMEt_OUR) #define SvOURSTASH PadnameOURSTASH #define SvOURSTASH_set PadnameOURSTASH_set #define SVpad_STATE PADNAMEt_STATE #define SVpad_TYPED PADNAMEt_TYPED #define SVpad_OUR PADNAMEt_OUR #ifdef DEBUGGING # define PAD_SV(po) pad_sv(po) # define PAD_SETSV(po,sv) pad_setsv(po,sv) #else # define PAD_SV(po) (PL_curpad[po]) # define PAD_SETSV(po,sv) PL_curpad[po] = (sv) #endif #define PAD_SVl(po) (PL_curpad[po]) #define PAD_BASE_SV(padlist, po) \ (PadlistARRAY(padlist)[1]) \ ? AvARRAY(MUTABLE_AV((PadlistARRAY(padlist)[1])))[po] \ : NULL; #define PAD_SET_CUR_NOSAVE(padlist,nth) \ PL_comppad = (PAD*) (PadlistARRAY(padlist)[nth]); \ PL_curpad = AvARRAY(PL_comppad); \ DEBUG_Xv(PerlIO_printf(Perl_debug_log, \ "Pad 0x%" UVxf "[0x%" UVxf "] set_cur depth=%d\n", \ PTR2UV(PL_comppad), PTR2UV(PL_curpad), (int)(nth))); #define PAD_SET_CUR(padlist,nth) \ SAVECOMPPAD(); \ PAD_SET_CUR_NOSAVE(padlist,nth); #define PAD_SAVE_SETNULLPAD() SAVECOMPPAD(); \ PL_comppad = NULL; PL_curpad = NULL; \ DEBUG_Xv(PerlIO_printf(Perl_debug_log, "Pad set_null\n")); #define PAD_SAVE_LOCAL(opad,npad) \ opad = PL_comppad; \ PL_comppad = (npad); \ PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \ DEBUG_Xv(PerlIO_printf(Perl_debug_log, \ "Pad 0x%" UVxf "[0x%" UVxf "] save_local\n", \ PTR2UV(PL_comppad), PTR2UV(PL_curpad))); #define PAD_RESTORE_LOCAL(opad) \ assert(!opad || !SvIS_FREED(opad)); \ PL_comppad = opad; \ PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \ DEBUG_Xv(PerlIO_printf(Perl_debug_log, \ "Pad 0x%" UVxf "[0x%" UVxf "] restore_local\n", \ PTR2UV(PL_comppad), PTR2UV(PL_curpad))); /* =for apidoc m|void|CX_CURPAD_SAVE|struct context Save the current pad in the given context block structure. =for apidoc m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po Access the SV at offset C<po> in the saved current pad in the given context block structure (can be used as an lvalue). =cut */ #define CX_CURPAD_SAVE(block) (block).oldcomppad = PL_comppad #define CX_CURPAD_SV(block,po) (AvARRAY(MUTABLE_AV(((block).oldcomppad)))[po]) /* =for apidoc m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po Return the flags for the current compiling pad name at offset C<po>. Assumes a valid slot entry. =for apidoc m|char *|PAD_COMPNAME_PV|PADOFFSET po Return the name of the current compiling pad name at offset C<po>. Assumes a valid slot entry. =for apidoc m|HV *|PAD_COMPNAME_TYPE|PADOFFSET po Return the type (stash) of the current compiling pad name at offset C<po>. Must be a valid name. Returns null if not typed. =for apidoc m|HV *|PAD_COMPNAME_OURSTASH|PADOFFSET po Return the stash associated with an C<our> variable. Assumes the slot entry is a valid C<our> lexical. =for apidoc m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po The generation number of the name at offset C<po> in the current compiling pad (lvalue). =for apidoc m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen Sets the generation number of the name at offset C<po> in the current ling pad (lvalue) to C<gen>. =cut */ #define PAD_COMPNAME(po) PAD_COMPNAME_SV(po) #define PAD_COMPNAME_SV(po) (PadnamelistARRAY(PL_comppad_name)[(po)]) #define PAD_COMPNAME_FLAGS(po) PadnameFLAGS(PAD_COMPNAME(po)) #define PAD_COMPNAME_FLAGS_isOUR(po) SvPAD_OUR(PAD_COMPNAME_SV(po)) #define PAD_COMPNAME_PV(po) PadnamePV(PAD_COMPNAME(po)) #define PAD_COMPNAME_TYPE(po) PadnameTYPE(PAD_COMPNAME(po)) #define PAD_COMPNAME_OURSTASH(po) \ (SvOURSTASH(PAD_COMPNAME_SV(po))) #define PAD_COMPNAME_GEN(po) \ ((STRLEN)PadnamelistARRAY(PL_comppad_name)[po]->xpadn_gen) #define PAD_COMPNAME_GEN_set(po, gen) \ (PadnamelistARRAY(PL_comppad_name)[po]->xpadn_gen = (gen)) /* =for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS* param Clone the state variables associated with running and compiling pads. =cut */ /* NB - we set PL_comppad to null unless it points at a value that * has already been dup'ed, ie it points to part of an active padlist. * Otherwise PL_comppad ends up being a leaked scalar in code like * the following: * threads->create(sub { threads->create(sub {...} ) } ); * where the second thread dups the outer sub's comppad but not the * sub's CV or padlist. */ #define PAD_CLONE_VARS(proto_perl, param) \ PL_comppad = av_dup(proto_perl->Icomppad, param); \ PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \ PL_comppad_name = \ padnamelist_dup(proto_perl->Icomppad_name, param); \ PL_comppad_name_fill = proto_perl->Icomppad_name_fill; \ PL_comppad_name_floor = proto_perl->Icomppad_name_floor; \ PL_min_intro_pending = proto_perl->Imin_intro_pending; \ PL_max_intro_pending = proto_perl->Imax_intro_pending; \ PL_padix = proto_perl->Ipadix; \ PL_padix_floor = proto_perl->Ipadix_floor; \ PL_pad_reset_pending = proto_perl->Ipad_reset_pending; \ PL_cop_seqmax = proto_perl->Icop_seqmax; /* =for apidoc Am|PADOFFSET|pad_add_name_pvs|"name"|U32 flags|HV *typestash|HV *ourstash Exactly like L</pad_add_name_pvn>, but takes a literal string instead of a string/length pair. =cut */ #define pad_add_name_pvs(name,flags,typestash,ourstash) \ Perl_pad_add_name_pvn(aTHX_ STR_WITH_LEN(name), flags, typestash, ourstash) /* =for apidoc Am|PADOFFSET|pad_findmy_pvs|"name"|U32 flags Exactly like L</pad_findmy_pvn>, but takes a literal string instead of a string/length pair. =cut */ #define pad_findmy_pvs(name,flags) \ Perl_pad_findmy_pvn(aTHX_ STR_WITH_LEN(name), flags) /* * ex: set ts=8 sts=4 sw=4 et: */ patchlevel.h 0000644 00000012375 15140731057 0007057 0 ustar 00 /* patchlevel.h * * Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, * 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef __PATCHLEVEL_H_INCLUDED__ /* do not adjust the whitespace! Configure expects the numbers to be * exactly on the third column */ #define PERL_REVISION 5 /* age */ #define PERL_VERSION 32 /* epoch */ #define PERL_SUBVERSION 1 /* generation */ /* The following numbers describe the earliest compatible version of Perl ("compatibility" here being defined as sufficient binary/API compatibility to run XS code built with the older version). Normally this should not change across maintenance releases. Note that this only refers to an out-of-the-box build. Many non-default options such as usemultiplicity tend to break binary compatibility more often. This is used by Configure et al to figure out PERL_INC_VERSION_LIST, which lists version libraries to include in @INC. See INSTALL for how this works. Porting/bump-perl-version will automatically set these to the version of perl to be released for blead releases, and to 5.X.0 for maint releases. Manually changing them should not be necessary. */ #define PERL_API_REVISION 5 #define PERL_API_VERSION 32 #define PERL_API_SUBVERSION 0 /* XXX Note: The selection of non-default Configure options, such as -Duselonglong may invalidate these settings. Currently, Configure does not adequately test for this. A.D. Jan 13, 2000 */ #define __PATCHLEVEL_H_INCLUDED__ #endif /* local_patches -- list of locally applied less-than-subversion patches. If you're distributing such a patch, please give it a name and a one-line description, placed just before the last NULL in the array below. If your patch fixes a bug in the perlbug database, please mention the bugid. If your patch *IS* dependent on a prior patch, please place your applied patch line after its dependencies. This will help tracking of patch dependencies. Please either use 'diff --unified=0' if your diff supports that or edit the hunk of the diff output which adds your patch to this list, to remove context lines which would give patch problems. For instance, if the original context diff is *** patchlevel.h.orig <date here> --- patchlevel.h <date here> *** 38,43 *** --- 38,44 --- ,"FOO1235 - some patch" ,"BAR3141 - another patch" ,"BAZ2718 - and another patch" + ,"MINE001 - my new patch" ,NULL }; please change it to *** patchlevel.h.orig <date here> --- patchlevel.h <date here> *** 41,43 *** --- 41,44 --- + ,"MINE001 - my new patch" ,NULL }; (Note changes to line numbers as well as removal of context lines.) This will prevent patch from choking if someone has previously applied different patches than you. History has shown that nobody distributes patches that also modify patchlevel.h. Do it yourself. The following perl program can be used to add a comment to patchlevel.h: #!perl die "Usage: perl -x patchlevel.h comment ..." unless @ARGV; open PLIN, "<", "patchlevel.h" or die "Couldn't open patchlevel.h : $!"; open PLOUT, ">", "patchlevel.new" or die "Couldn't write on patchlevel.new : $!"; my $seen=0; while (<PLIN>) { if (/\t,NULL/ and $seen) { while (my $c = shift @ARGV){ $c =~ s|\\|\\\\|g; $c =~ s|"|\\"|g; print PLOUT qq{\t,"$c"\n}; } } $seen++ if /local_patches\[\]/; print PLOUT; } close PLOUT or die "Couldn't close filehandle writing to patchlevel.new : $!"; close PLIN or die "Couldn't close filehandle reading from patchlevel.h : $!"; close DATA; # needed to allow unlink to work win32. unlink "patchlevel.bak" or warn "Couldn't unlink patchlevel.bak : $!" if -e "patchlevel.bak"; rename "patchlevel.h", "patchlevel.bak" or die "Couldn't rename patchlevel.h to patchlevel.bak : $!"; rename "patchlevel.new", "patchlevel.h" or die "Couldn't rename patchlevel.new to patchlevel.h : $!"; __END__ Please keep empty lines below so that context diffs of this file do not ever collect the lines belonging to local_patches() into the same hunk. */ #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT) # if defined(PERL_IS_MINIPERL) # define PERL_PATCHNUM "UNKNOWN-miniperl" # define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/ # elif defined(PERL_MICRO) # define PERL_PATCHNUM "UNKNOWN-microperl" # define PERL_GIT_UNPUSHED_COMMITS /*leave-this-comment*/ # else #include "git_version.h" # endif static const char * const local_patches[] = { NULL #ifdef PERL_GIT_UNCOMMITTED_CHANGES ,"uncommitted-changes" #endif PERL_GIT_UNPUSHED_COMMITS /* do not remove this line */ #ifdef DEBIAN #include "patchlevel-debian.h" #endif ,NULL }; /* Initial space prevents this variable from being inserted in config.sh */ # define LOCAL_PATCH_COUNT \ ((int)(C_ARRAY_LENGTH(local_patches)-2)) /* the old terms of reference, add them only when explicitly included */ #define PATCHLEVEL PERL_VERSION #undef SUBVERSION /* OS/390 has a SUBVERSION in a system header */ #define SUBVERSION PERL_SUBVERSION #endif mg.h 0000644 00000005705 15140731057 0005332 0 ustar 00 /* mg.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, * 2000, 2002, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ struct mgvtbl { int (*svt_get) (pTHX_ SV *sv, MAGIC* mg); int (*svt_set) (pTHX_ SV *sv, MAGIC* mg); U32 (*svt_len) (pTHX_ SV *sv, MAGIC* mg); int (*svt_clear)(pTHX_ SV *sv, MAGIC* mg); int (*svt_free) (pTHX_ SV *sv, MAGIC* mg); int (*svt_copy) (pTHX_ SV *sv, MAGIC* mg, SV *nsv, const char *name, I32 namlen); int (*svt_dup) (pTHX_ MAGIC *mg, CLONE_PARAMS *param); int (*svt_local)(pTHX_ SV *nsv, MAGIC *mg); }; struct magic { MAGIC* mg_moremagic; MGVTBL* mg_virtual; /* pointer to magic functions */ U16 mg_private; char mg_type; U8 mg_flags; SSize_t mg_len; SV* mg_obj; char* mg_ptr; }; #define MGf_TAINTEDDIR 1 /* PERL_MAGIC_envelem only */ #define MGf_MINMATCH 1 /* PERL_MAGIC_regex_global only */ #define MGf_REQUIRE_GV 1 /* PERL_MAGIC_checkcall only */ #define MGf_REFCOUNTED 2 #define MGf_GSKIP 4 /* skip further GETs until after next SET */ #define MGf_COPY 8 /* has an svt_copy MGVTBL entry */ #define MGf_DUP 0x10 /* has an svt_dup MGVTBL entry */ #define MGf_LOCAL 0x20 /* has an svt_local MGVTBL entry */ #define MGf_BYTES 0x40 /* PERL_MAGIC_regex_global only */ #define MGf_PERSIST 0x80 /* PERL_MAGIC_lvref only */ #define MgTAINTEDDIR(mg) (mg->mg_flags & MGf_TAINTEDDIR) #define MgTAINTEDDIR_on(mg) (mg->mg_flags |= MGf_TAINTEDDIR) #define MgTAINTEDDIR_off(mg) (mg->mg_flags &= ~MGf_TAINTEDDIR) #define MgPV(mg,lp) ((((int)(lp = (mg)->mg_len)) == HEf_SVKEY) ? \ SvPV(MUTABLE_SV((mg)->mg_ptr),lp) : \ (mg)->mg_ptr) #define MgPV_const(mg,lp) ((((int)(lp = (mg)->mg_len)) == HEf_SVKEY) ? \ SvPV_const(MUTABLE_SV((mg)->mg_ptr),lp) : \ (const char*)(mg)->mg_ptr) #define MgPV_nolen_const(mg) (((((int)(mg)->mg_len)) == HEf_SVKEY) ? \ SvPV_nolen_const(MUTABLE_SV((mg)->mg_ptr)) : \ (const char*)(mg)->mg_ptr) #define SvTIED_mg(sv,how) (SvRMAGICAL(sv) ? mg_find((sv),(how)) : NULL) #define SvTIED_obj(sv,mg) \ ((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv))) #if defined(PERL_CORE) || defined(PERL_EXT) # define MgBYTEPOS(mg,sv,pv,len) S_MgBYTEPOS(aTHX_ mg,sv,pv,len) /* assumes get-magic and stringification have already occurred */ # define MgBYTEPOS_set(mg,sv,pv,off) ( \ assert_((mg)->mg_type == PERL_MAGIC_regex_global) \ SvPOK(sv) && (!SvGMAGICAL(sv) || sv_only_taint_gmagic(sv)) \ ? (mg)->mg_len = (off), (mg)->mg_flags |= MGf_BYTES \ : ((mg)->mg_len = DO_UTF8(sv) \ ? (SSize_t)utf8_length((U8 *)(pv), (U8 *)(pv)+(off)) \ : (SSize_t)(off), \ (mg)->mg_flags &= ~MGf_BYTES)) #endif #define whichsig(pv) whichsig_pv(pv) /* * ex: set ts=8 sts=4 sw=4 et: */ bitcount.h 0000644 00000001522 15140731057 0006547 0 ustar 00 { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 } pp.h 0000644 00000070465 15140731057 0005353 0 ustar 00 /* pp.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #define PP(s) OP * Perl_##s(pTHX) /* =head1 Stack Manipulation Macros =for apidoc AmnU||SP Stack pointer. This is usually handled by C<xsubpp>. See C<L</dSP>> and C<SPAGAIN>. =for apidoc AmnU||MARK Stack marker variable for the XSUB. See C<L</dMARK>>. =for apidoc Am|void|PUSHMARK|SP Opening bracket for arguments on a callback. See C<L</PUTBACK>> and L<perlcall>. =for apidoc Amns||dSP Declares a local copy of perl's stack pointer for the XSUB, available via the C<SP> macro. See C<L</SP>>. =for apidoc ms||djSP Declare Just C<SP>. This is actually identical to C<dSP>, and declares a local copy of perl's stack pointer, available via the C<SP> macro. See C<L<perlapi/SP>>. (Available for backward source code compatibility with the old (Perl 5.005) thread model.) =for apidoc Amns||dMARK Declare a stack marker variable, C<mark>, for the XSUB. See C<L</MARK>> and C<L</dORIGMARK>>. =for apidoc Amns||dORIGMARK Saves the original stack mark for the XSUB. See C<L</ORIGMARK>>. =for apidoc AmnU||ORIGMARK The original stack mark for the XSUB. See C<L</dORIGMARK>>. =for apidoc Amns||SPAGAIN Refetch the stack pointer. Used after a callback. See L<perlcall>. =cut */ #undef SP /* Solaris 2.7 i386 has this in /usr/include/sys/reg.h */ #define SP sp #define MARK mark #define TARG targ #define PUSHMARK(p) \ STMT_START { \ I32 * mark_stack_entry; \ if (UNLIKELY((mark_stack_entry = ++PL_markstack_ptr) \ == PL_markstack_max)) \ mark_stack_entry = markstack_grow(); \ *mark_stack_entry = (I32)((p) - PL_stack_base); \ DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, \ "MARK push %p %" IVdf "\n", \ PL_markstack_ptr, (IV)*mark_stack_entry))); \ } STMT_END #define TOPMARK Perl_TOPMARK(aTHX) #define POPMARK Perl_POPMARK(aTHX) #define INCMARK \ STMT_START { \ DEBUG_s(DEBUG_v(PerlIO_printf(Perl_debug_log, \ "MARK inc %p %" IVdf "\n", \ (PL_markstack_ptr+1), (IV)*(PL_markstack_ptr+1)))); \ PL_markstack_ptr++; \ } STMT_END #define dSP SV **sp = PL_stack_sp #define djSP dSP #define dMARK SV **mark = PL_stack_base + POPMARK #define dORIGMARK const I32 origmark = (I32)(mark - PL_stack_base) #define ORIGMARK (PL_stack_base + origmark) #define SPAGAIN sp = PL_stack_sp #define MSPAGAIN STMT_START { sp = PL_stack_sp; mark = ORIGMARK; } STMT_END #define GETTARGETSTACKED targ = (PL_op->op_flags & OPf_STACKED ? POPs : PAD_SV(PL_op->op_targ)) #define dTARGETSTACKED SV * GETTARGETSTACKED #define GETTARGET targ = PAD_SV(PL_op->op_targ) #define dTARGET SV * GETTARGET #define GETATARGET targ = (PL_op->op_flags & OPf_STACKED ? sp[-1] : PAD_SV(PL_op->op_targ)) #define dATARGET SV * GETATARGET #define dTARG SV *targ #define NORMAL PL_op->op_next #define DIE return Perl_die /* =for apidoc Amns||PUTBACK Closing bracket for XSUB arguments. This is usually handled by C<xsubpp>. See C<L</PUSHMARK>> and L<perlcall> for other uses. =for apidoc Amn|SV*|POPs Pops an SV off the stack. =for apidoc Amn|char*|POPp Pops a string off the stack. =for apidoc Amn|char*|POPpx Pops a string off the stack. Identical to POPp. There are two names for historical reasons. =for apidoc Amn|char*|POPpbytex Pops a string off the stack which must consist of bytes i.e. characters < 256. =for apidoc Amn|NV|POPn Pops a double off the stack. =for apidoc Amn|IV|POPi Pops an integer off the stack. =for apidoc Amn|UV|POPu Pops an unsigned integer off the stack. =for apidoc Amn|long|POPl Pops a long off the stack. =for apidoc Amn|long|POPul Pops an unsigned long off the stack. =cut */ #define PUTBACK PL_stack_sp = sp #define RETURN return (PUTBACK, NORMAL) #define RETURNOP(o) return (PUTBACK, o) #define RETURNX(x) return (x, PUTBACK, NORMAL) #define POPs (*sp--) #define POPp POPpx #define POPpx (SvPVx_nolen(POPs)) #define POPpconstx (SvPVx_nolen_const(POPs)) #define POPpbytex (SvPVbytex_nolen(POPs)) #define POPn (SvNVx(POPs)) #define POPi ((IV)SvIVx(POPs)) #define POPu ((UV)SvUVx(POPs)) #define POPl ((long)SvIVx(POPs)) #define POPul ((unsigned long)SvIVx(POPs)) #define TOPs (*sp) #define TOPm1s (*(sp-1)) #define TOPp1s (*(sp+1)) #define TOPp TOPpx #define TOPpx (SvPV_nolen(TOPs)) #define TOPn (SvNV(TOPs)) #define TOPi ((IV)SvIV(TOPs)) #define TOPu ((UV)SvUV(TOPs)) #define TOPl ((long)SvIV(TOPs)) #define TOPul ((unsigned long)SvUV(TOPs)) /* Go to some pains in the rare event that we must extend the stack. */ /* =for apidoc Am|void|EXTEND|SP|SSize_t nitems Used to extend the argument stack for an XSUB's return values. Once used, guarantees that there is room for at least C<nitems> to be pushed onto the stack. =for apidoc Am|void|PUSHs|SV* sv Push an SV onto the stack. The stack must have room for this element. Does not handle 'set' magic. Does not use C<TARG>. See also C<L</PUSHmortal>>, C<L</XPUSHs>>, and C<L</XPUSHmortal>>. =for apidoc Am|void|PUSHp|char* str|STRLEN len Push a string onto the stack. The stack must have room for this element. The C<len> indicates the length of the string. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mPUSHp>> instead. See also C<L</XPUSHp>> and C<L</mXPUSHp>>. =for apidoc Am|void|PUSHn|NV nv Push a double onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mPUSHn>> instead. See also C<L</XPUSHn>> and C<L</mXPUSHn>>. =for apidoc Am|void|PUSHi|IV iv Push an integer onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mPUSHi>> instead. See also C<L</XPUSHi>> and C<L</mXPUSHi>>. =for apidoc Am|void|PUSHu|UV uv Push an unsigned integer onto the stack. The stack must have room for this element. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mPUSHu>> instead. See also C<L</XPUSHu>> and C<L</mXPUSHu>>. =for apidoc Am|void|XPUSHs|SV* sv Push an SV onto the stack, extending the stack if necessary. Does not handle 'set' magic. Does not use C<TARG>. See also C<L</XPUSHmortal>>, C<PUSHs> and C<PUSHmortal>. =for apidoc Am|void|XPUSHp|char* str|STRLEN len Push a string onto the stack, extending the stack if necessary. The C<len> indicates the length of the string. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mXPUSHp>> instead. See also C<L</PUSHp>> and C<L</mPUSHp>>. =for apidoc Am|void|XPUSHn|NV nv Push a double onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mXPUSHn>> instead. See also C<L</PUSHn>> and C<L</mPUSHn>>. =for apidoc Am|void|XPUSHi|IV iv Push an integer onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mXPUSHi>> instead. See also C<L</PUSHi>> and C<L</mPUSHi>>. =for apidoc Am|void|XPUSHu|UV uv Push an unsigned integer onto the stack, extending the stack if necessary. Handles 'set' magic. Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it. Do not call multiple C<TARG>-oriented macros to return lists from XSUB's - see C<L</mXPUSHu>> instead. See also C<L</PUSHu>> and C<L</mPUSHu>>. =for apidoc Am|void|mPUSHs|SV* sv Push an SV onto the stack and mortalizes the SV. The stack must have room for this element. Does not use C<TARG>. See also C<L</PUSHs>> and C<L</mXPUSHs>>. =for apidoc Amn|void|PUSHmortal Push a new mortal SV onto the stack. The stack must have room for this element. Does not use C<TARG>. See also C<L</PUSHs>>, C<L</XPUSHmortal>> and C<L</XPUSHs>>. =for apidoc Am|void|mPUSHp|char* str|STRLEN len Push a string onto the stack. The stack must have room for this element. The C<len> indicates the length of the string. Does not use C<TARG>. See also C<L</PUSHp>>, C<L</mXPUSHp>> and C<L</XPUSHp>>. =for apidoc Am|void|mPUSHn|NV nv Push a double onto the stack. The stack must have room for this element. Does not use C<TARG>. See also C<L</PUSHn>>, C<L</mXPUSHn>> and C<L</XPUSHn>>. =for apidoc Am|void|mPUSHi|IV iv Push an integer onto the stack. The stack must have room for this element. Does not use C<TARG>. See also C<L</PUSHi>>, C<L</mXPUSHi>> and C<L</XPUSHi>>. =for apidoc Am|void|mPUSHu|UV uv Push an unsigned integer onto the stack. The stack must have room for this element. Does not use C<TARG>. See also C<L</PUSHu>>, C<L</mXPUSHu>> and C<L</XPUSHu>>. =for apidoc Am|void|mXPUSHs|SV* sv Push an SV onto the stack, extending the stack if necessary and mortalizes the SV. Does not use C<TARG>. See also C<L</XPUSHs>> and C<L</mPUSHs>>. =for apidoc Amn|void|XPUSHmortal Push a new mortal SV onto the stack, extending the stack if necessary. Does not use C<TARG>. See also C<L</XPUSHs>>, C<L</PUSHmortal>> and C<L</PUSHs>>. =for apidoc Am|void|mXPUSHp|char* str|STRLEN len Push a string onto the stack, extending the stack if necessary. The C<len> indicates the length of the string. Does not use C<TARG>. See also C<L</XPUSHp>>, C<mPUSHp> and C<PUSHp>. =for apidoc Am|void|mXPUSHn|NV nv Push a double onto the stack, extending the stack if necessary. Does not use C<TARG>. See also C<L</XPUSHn>>, C<L</mPUSHn>> and C<L</PUSHn>>. =for apidoc Am|void|mXPUSHi|IV iv Push an integer onto the stack, extending the stack if necessary. Does not use C<TARG>. See also C<L</XPUSHi>>, C<L</mPUSHi>> and C<L</PUSHi>>. =for apidoc Am|void|mXPUSHu|UV uv Push an unsigned integer onto the stack, extending the stack if necessary. Does not use C<TARG>. See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>. =cut */ /* EXTEND_HWM_SET: note the high-water-mark to which the stack has been * requested to be extended (which is likely to be less than PL_stack_max) */ #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY # define EXTEND_HWM_SET(p, n) \ STMT_START { \ SSize_t ix = (p) - PL_stack_base + (n); \ if (ix > PL_curstackinfo->si_stack_hwm) \ PL_curstackinfo->si_stack_hwm = ix; \ } STMT_END #else # define EXTEND_HWM_SET(p, n) NOOP #endif /* _EXTEND_SAFE_N(n): private helper macro for EXTEND(). * Tests whether the value of n would be truncated when implicitly cast to * SSize_t as an arg to stack_grow(). If so, sets it to -1 instead to * trigger a panic. It will be constant folded on platforms where this * can't happen. */ #define _EXTEND_SAFE_N(n) \ (sizeof(n) > sizeof(SSize_t) && ((SSize_t)(n) != (n)) ? -1 : (n)) #ifdef STRESS_REALLOC # define EXTEND_SKIP(p, n) EXTEND_HWM_SET(p, n) # define EXTEND(p,n) STMT_START { \ sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \ PERL_UNUSED_VAR(sp); \ } STMT_END /* Same thing, but update mark register too. */ # define MEXTEND(p,n) STMT_START { \ const SSize_t markoff = mark - PL_stack_base; \ sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \ mark = PL_stack_base + markoff; \ PERL_UNUSED_VAR(sp); \ } STMT_END #else /* _EXTEND_NEEDS_GROW(p,n): private helper macro for EXTEND(). * Tests to see whether n is too big and we need to grow the stack. Be * very careful if modifying this. There are many ways to get things wrong * (wrapping, truncating etc) that could cause a false negative and cause * the call to stack_grow() to be skipped. On the other hand, false * positives are safe. * Bear in mind that sizeof(p) may be less than, equal to, or greater * than sizeof(n), and while n is documented to be signed, someone might * pass an unsigned value or expression. In general don't use casts to * avoid warnings; instead expect the caller to fix their code. * It is legal for p to be greater than PL_stack_max. * If the allocated stack is already very large but current usage is * small, then PL_stack_max - p might wrap round to a negative value, but * this just gives a safe false positive */ # define _EXTEND_NEEDS_GROW(p,n) ((n) < 0 || PL_stack_max - (p) < (n)) /* EXTEND_SKIP(): used for where you would normally call EXTEND(), but * you know for sure that a previous op will have already extended the * stack sufficiently. For example pp_enteriter ensures that there * is always at least 1 free slot, so pp_iter can return &PL_sv_yes/no * without checking each time. Calling EXTEND_SKIP() defeats the HWM * debugging mechanism which would otherwise whine */ # define EXTEND_SKIP(p, n) STMT_START { \ EXTEND_HWM_SET(p, n); \ assert(!_EXTEND_NEEDS_GROW(p,n)); \ } STMT_END # define EXTEND(p,n) STMT_START { \ EXTEND_HWM_SET(p, n); \ if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) { \ sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \ PERL_UNUSED_VAR(sp); \ } } STMT_END /* Same thing, but update mark register too. */ # define MEXTEND(p,n) STMT_START { \ EXTEND_HWM_SET(p, n); \ if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) { \ const SSize_t markoff = mark - PL_stack_base;\ sp = stack_grow(sp,p,_EXTEND_SAFE_N(n)); \ mark = PL_stack_base + markoff; \ PERL_UNUSED_VAR(sp); \ } } STMT_END #endif /* set TARG to the IV value i. If do_taint is false, * assume that PL_tainted can never be true */ #define TARGi(i, do_taint) \ STMT_START { \ IV TARGi_iv = i; \ if (LIKELY( \ ((SvFLAGS(TARG) & (SVTYPEMASK|SVf_THINKFIRST|SVf_IVisUV)) == SVt_IV) \ & (do_taint ? !TAINT_get : 1))) \ { \ /* Cheap SvIOK_only(). \ * Assert that flags which SvIOK_only() would test or \ * clear can't be set, because we're SVt_IV */ \ assert(!(SvFLAGS(TARG) & \ (SVf_OOK|SVf_UTF8|(SVf_OK & ~(SVf_IOK|SVp_IOK))))); \ SvFLAGS(TARG) |= (SVf_IOK|SVp_IOK); \ /* SvIV_set() where sv_any points to head */ \ TARG->sv_u.svu_iv = TARGi_iv; \ } \ else \ sv_setiv_mg(targ, TARGi_iv); \ } STMT_END /* set TARG to the UV value u. If do_taint is false, * assume that PL_tainted can never be true */ #define TARGu(u, do_taint) \ STMT_START { \ UV TARGu_uv = u; \ if (LIKELY( \ ((SvFLAGS(TARG) & (SVTYPEMASK|SVf_THINKFIRST|SVf_IVisUV)) == SVt_IV) \ & (do_taint ? !TAINT_get : 1) \ & (TARGu_uv <= (UV)IV_MAX))) \ { \ /* Cheap SvIOK_only(). \ * Assert that flags which SvIOK_only() would test or \ * clear can't be set, because we're SVt_IV */ \ assert(!(SvFLAGS(TARG) & \ (SVf_OOK|SVf_UTF8|(SVf_OK & ~(SVf_IOK|SVp_IOK))))); \ SvFLAGS(TARG) |= (SVf_IOK|SVp_IOK); \ /* SvIV_set() where sv_any points to head */ \ TARG->sv_u.svu_iv = TARGu_uv; \ } \ else \ sv_setuv_mg(targ, TARGu_uv); \ } STMT_END /* set TARG to the NV value n. If do_taint is false, * assume that PL_tainted can never be true */ #define TARGn(n, do_taint) \ STMT_START { \ NV TARGn_nv = n; \ if (LIKELY( \ ((SvFLAGS(TARG) & (SVTYPEMASK|SVf_THINKFIRST)) == SVt_NV) \ & (do_taint ? !TAINT_get : 1))) \ { \ /* Cheap SvNOK_only(). \ * Assert that flags which SvNOK_only() would test or \ * clear can't be set, because we're SVt_NV */ \ assert(!(SvFLAGS(TARG) & \ (SVf_OOK|SVf_UTF8|(SVf_OK & ~(SVf_NOK|SVp_NOK))))); \ SvFLAGS(TARG) |= (SVf_NOK|SVp_NOK); \ SvNV_set(TARG, TARGn_nv); \ } \ else \ sv_setnv_mg(targ, TARGn_nv); \ } STMT_END #define PUSHs(s) (*++sp = (s)) #define PUSHTARG STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END #define PUSHp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END #define PUSHn(n) STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END #define PUSHi(i) STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END #define PUSHu(u) STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END #define XPUSHs(s) STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END #define XPUSHTARG STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END #define XPUSHp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); XPUSHTARG; } STMT_END #define XPUSHn(n) STMT_START { TARGn(n,1); XPUSHs(TARG); } STMT_END #define XPUSHi(i) STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END #define XPUSHu(u) STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END #define XPUSHundef STMT_START { SvOK_off(TARG); XPUSHs(TARG); } STMT_END #define mPUSHs(s) PUSHs(sv_2mortal(s)) #define PUSHmortal PUSHs(sv_newmortal()) #define mPUSHp(p,l) PUSHs(newSVpvn_flags((p), (l), SVs_TEMP)) #define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) #define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) #define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) #define mXPUSHs(s) XPUSHs(sv_2mortal(s)) #define XPUSHmortal XPUSHs(sv_newmortal()) #define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END #define mXPUSHn(n) STMT_START { EXTEND(sp,1); mPUSHn(n); } STMT_END #define mXPUSHi(i) STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END #define mXPUSHu(u) STMT_START { EXTEND(sp,1); mPUSHu(u); } STMT_END #define SETs(s) (*sp = s) #define SETTARG STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END #define SETp(p,l) STMT_START { sv_setpvn(TARG, (p), (l)); SETTARG; } STMT_END #define SETn(n) STMT_START { TARGn(n,1); SETs(TARG); } STMT_END #define SETi(i) STMT_START { TARGi(i,1); SETs(TARG); } STMT_END #define SETu(u) STMT_START { TARGu(u,1); SETs(TARG); } STMT_END #define dTOPss SV *sv = TOPs #define dPOPss SV *sv = POPs #define dTOPnv NV value = TOPn #define dPOPnv NV value = POPn #define dPOPnv_nomg NV value = (sp--, SvNV_nomg(TOPp1s)) #define dTOPiv IV value = TOPi #define dPOPiv IV value = POPi #define dTOPuv UV value = TOPu #define dPOPuv UV value = POPu #define dPOPXssrl(X) SV *right = POPs; SV *left = CAT2(X,s) #define dPOPXnnrl(X) NV right = POPn; NV left = CAT2(X,n) #define dPOPXiirl(X) IV right = POPi; IV left = CAT2(X,i) #define USE_LEFT(sv) \ (SvOK(sv) || !(PL_op->op_flags & OPf_STACKED)) #define dPOPXiirl_ul_nomg(X) \ IV right = (sp--, SvIV_nomg(TOPp1s)); \ SV *leftsv = CAT2(X,s); \ IV left = USE_LEFT(leftsv) ? SvIV_nomg(leftsv) : 0 #define dPOPPOPssrl dPOPXssrl(POP) #define dPOPPOPnnrl dPOPXnnrl(POP) #define dPOPPOPiirl dPOPXiirl(POP) #define dPOPTOPssrl dPOPXssrl(TOP) #define dPOPTOPnnrl dPOPXnnrl(TOP) #define dPOPTOPnnrl_nomg \ NV right = SvNV_nomg(TOPs); NV left = (sp--, SvNV_nomg(TOPs)) #define dPOPTOPiirl dPOPXiirl(TOP) #define dPOPTOPiirl_ul_nomg dPOPXiirl_ul_nomg(TOP) #define dPOPTOPiirl_nomg \ IV right = SvIV_nomg(TOPs); IV left = (sp--, SvIV_nomg(TOPs)) #define RETPUSHYES RETURNX(PUSHs(&PL_sv_yes)) #define RETPUSHNO RETURNX(PUSHs(&PL_sv_no)) #define RETPUSHUNDEF RETURNX(PUSHs(&PL_sv_undef)) #define RETSETYES RETURNX(SETs(&PL_sv_yes)) #define RETSETNO RETURNX(SETs(&PL_sv_no)) #define RETSETUNDEF RETURNX(SETs(&PL_sv_undef)) #define RETSETTARG STMT_START { SETTARG; RETURN; } STMT_END #define ARGTARG PL_op->op_targ #define MAXARG (PL_op->op_private & OPpARG4_MASK) #define SWITCHSTACK(f,t) \ STMT_START { \ AvFILLp(f) = sp - PL_stack_base; \ PL_stack_base = AvARRAY(t); \ PL_stack_max = PL_stack_base + AvMAX(t); \ sp = PL_stack_sp = PL_stack_base + AvFILLp(t); \ PL_curstack = t; \ } STMT_END #define EXTEND_MORTAL(n) \ STMT_START { \ SSize_t eMiX = PL_tmps_ix + (n); \ if (UNLIKELY(eMiX >= PL_tmps_max)) \ (void)Perl_tmps_grow_p(aTHX_ eMiX); \ } STMT_END #define AMGf_noright 1 #define AMGf_noleft 2 #define AMGf_assign 4 /* op supports mutator variant, e.g. $x += 1 */ #define AMGf_unary 8 #define AMGf_numeric 0x10 /* for Perl_try_amagic_bin */ #define AMGf_want_list 0x40 #define AMGf_numarg 0x80 /* do SvGETMAGIC on the stack args before checking for overload */ #define tryAMAGICun_MG(method, flags) STMT_START { \ if ( UNLIKELY((SvFLAGS(TOPs) & (SVf_ROK|SVs_GMG))) \ && Perl_try_amagic_un(aTHX_ method, flags)) \ return NORMAL; \ } STMT_END #define tryAMAGICbin_MG(method, flags) STMT_START { \ if ( UNLIKELY(((SvFLAGS(TOPm1s)|SvFLAGS(TOPs)) & (SVf_ROK|SVs_GMG))) \ && Perl_try_amagic_bin(aTHX_ method, flags)) \ return NORMAL; \ } STMT_END #define AMG_CALLunary(sv,meth) \ amagic_call(sv,&PL_sv_undef, meth, AMGf_noright | AMGf_unary) /* No longer used in core. Use AMG_CALLunary instead */ #define AMG_CALLun(sv,meth) AMG_CALLunary(sv, CAT2(meth,_amg)) #define tryAMAGICunTARGETlist(meth, jump) \ STMT_START { \ dSP; \ SV *tmpsv; \ SV *arg= *sp; \ U8 gimme = GIMME_V; \ if (UNLIKELY(SvAMAGIC(arg) && \ (tmpsv = amagic_call(arg, &PL_sv_undef, meth, \ AMGf_want_list | AMGf_noright \ |AMGf_unary)))) \ { \ SPAGAIN; \ if (gimme == G_VOID) { \ NOOP; \ } \ else if (gimme == G_ARRAY) { \ SSize_t i; \ SSize_t len; \ assert(SvTYPE(tmpsv) == SVt_PVAV); \ len = av_tindex((AV *)tmpsv) + 1; \ (void)POPs; /* get rid of the arg */ \ EXTEND(sp, len); \ for (i = 0; i < len; ++i) \ PUSHs(av_shift((AV *)tmpsv)); \ } \ else { /* AMGf_want_scalar */ \ dATARGET; /* just use the arg's location */ \ sv_setsv(TARG, tmpsv); \ if (PL_op->op_flags & OPf_STACKED) \ sp--; \ SETTARG; \ } \ PUTBACK; \ if (jump) { \ OP *jump_o = NORMAL->op_next; \ while (jump_o->op_type == OP_NULL) \ jump_o = jump_o->op_next; \ assert(jump_o->op_type == OP_ENTERSUB); \ (void)POPMARK; \ return jump_o->op_next; \ } \ return NORMAL; \ } \ } STMT_END /* This is no longer used anywhere in the core. You might wish to consider calling amagic_deref_call() directly, as it has a cleaner interface. */ #define tryAMAGICunDEREF(meth) \ STMT_START { \ sv = amagic_deref_call(*sp, CAT2(meth,_amg)); \ SPAGAIN; \ } STMT_END /* 2019: no longer used in core */ #define opASSIGN (PL_op->op_flags & OPf_STACKED) /* =for apidoc mnU||LVRET True if this op will be the return value of an lvalue subroutine =cut */ #define LVRET ((PL_op->op_private & OPpMAYBE_LVSUB) && is_lvalue_sub()) #define SvCANEXISTDELETE(sv) \ (!SvRMAGICAL(sv) \ || !(mg = mg_find((const SV *) sv, PERL_MAGIC_tied)) \ || ( (stash = SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(sv), mg)))) \ && gv_fetchmethod_autoload(stash, "EXISTS", TRUE) \ && gv_fetchmethod_autoload(stash, "DELETE", TRUE) \ ) \ ) #ifdef PERL_CORE /* These are just for Perl_tied_method(), which is not part of the public API. Use 0x04 rather than the next available bit, to help the compiler if the architecture can generate more efficient instructions. */ # define TIED_METHOD_MORTALIZE_NOT_NEEDED 0x04 # define TIED_METHOD_ARGUMENTS_ON_STACK 0x08 # define TIED_METHOD_SAY 0x10 /* Used in various places that need to dereference a glob or globref */ # define MAYBE_DEREF_GV_flags(sv,phlags) \ ( \ (void)(phlags & SV_GMAGIC && (SvGETMAGIC(sv),0)), \ isGV_with_GP(sv) \ ? (GV *)(sv) \ : SvROK(sv) && SvTYPE(SvRV(sv)) <= SVt_PVLV && \ (SvGETMAGIC(SvRV(sv)), isGV_with_GP(SvRV(sv))) \ ? (GV *)SvRV(sv) \ : NULL \ ) # define MAYBE_DEREF_GV(sv) MAYBE_DEREF_GV_flags(sv,SV_GMAGIC) # define MAYBE_DEREF_GV_nomg(sv) MAYBE_DEREF_GV_flags(sv,0) # define FIND_RUNCV_padid_eq 1 # define FIND_RUNCV_level_eq 2 #endif /* * ex: set ts=8 sts=4 sw=4 et: */ reentr.h 0000644 00000251157 15140731057 0006232 0 ustar 00 /* -*- buffer-read-only: t -*- * * reentr.h * * Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/reentr.pl from data in regen/reentr.pl. * Any changes made here will be lost! */ #ifndef PERL_REENTR_H_ #define PERL_REENTR_H_ /* If compiling for a threaded perl, we will macro-wrap the system/library * interfaces (e.g. getpwent()) which have threaded versions * (e.g. getpwent_r()), which will handle things correctly for * the Perl interpreter. This is done automatically for the perl core and * extensions, but not generally for XS modules unless they * #define PERL_REENTRANT * See L<perlxs/Thread-aware system interfaces>. * * For a function 'foo', use the compile-time directive * #ifdef PERL_REENTR_USING_FOO_R * to test if the function actually did get replaced by the reentrant version. * (If it isn't getting replaced, it might mean it uses a different prototype * on the given platform than any we are expecting. To fix that, add the * prototype to the __DATA__ section of regen/reentr.pl.) */ #ifndef PERL_REENTR_API # if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_REENTRANT) # define PERL_REENTR_API 1 # else # define PERL_REENTR_API 0 # endif #endif #ifdef USE_REENTRANT_API /* Deprecations: some platforms have the said reentrant interfaces * but they are declared obsolete and are not to be used. Often this * means that the platform has threadsafed the interfaces (hopefully). * All this is OS version dependent, so we are of course fooling ourselves. * If you know of more deprecations on some platforms, please add your own * (by editing reentr.pl, mind!) */ # ifdef __hpux # undef HAS_CRYPT_R # undef HAS_ENDGRENT_R # undef HAS_ENDPWENT_R # undef HAS_GETGRENT_R # undef HAS_GETPWENT_R # undef HAS_SETLOCALE_R # undef HAS_STRERROR_R # define NETDB_R_OBSOLETE # endif # if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */ # undef HAS_CRYPT_R # undef HAS_STRERROR_R # define NETDB_R_OBSOLETE # endif # if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 24)) # undef HAS_READDIR_R # undef HAS_READDIR64_R # endif /* * As of OpenBSD 3.7, reentrant functions are now working, they just are * incompatible with everyone else. To make OpenBSD happy, we have to * memzero out certain structures before calling the functions. */ # if defined(__OpenBSD__) # define REENTR_MEMZERO(a,b) memzero(a,b) # else # define REENTR_MEMZERO(a,b) 0 # endif # ifdef NETDB_R_OBSOLETE # undef HAS_ENDHOSTENT_R # undef HAS_ENDNETENT_R # undef HAS_ENDPROTOENT_R # undef HAS_ENDSERVENT_R # undef HAS_GETHOSTBYADDR_R # undef HAS_GETHOSTBYNAME_R # undef HAS_GETHOSTENT_R # undef HAS_GETNETBYADDR_R # undef HAS_GETNETBYNAME_R # undef HAS_GETNETENT_R # undef HAS_GETPROTOBYNAME_R # undef HAS_GETPROTOBYNUMBER_R # undef HAS_GETPROTOENT_R # undef HAS_GETSERVBYNAME_R # undef HAS_GETSERVBYPORT_R # undef HAS_GETSERVENT_R # undef HAS_SETHOSTENT_R # undef HAS_SETNETENT_R # undef HAS_SETPROTOENT_R # undef HAS_SETSERVENT_R # endif # ifdef I_PWD # include <pwd.h> # endif # ifdef I_GRP # include <grp.h> # endif # ifdef I_NETDB # include <netdb.h> # endif # ifdef I_CRYPT # ifdef I_CRYPT # include <crypt.h> # endif # endif # ifdef HAS_GETSPNAM_R # ifdef I_SHADOW # include <shadow.h> # endif # endif # define REENTRANT_PROTO_B_B 1 # define REENTRANT_PROTO_B_BI 2 # define REENTRANT_PROTO_B_BW 3 # define REENTRANT_PROTO_B_CCD 4 # define REENTRANT_PROTO_B_CCS 5 # define REENTRANT_PROTO_B_IBI 6 # define REENTRANT_PROTO_B_IBW 7 # define REENTRANT_PROTO_B_SB 8 # define REENTRANT_PROTO_B_SBI 9 # define REENTRANT_PROTO_I_BI 10 # define REENTRANT_PROTO_I_BW 11 # define REENTRANT_PROTO_I_CCSBWR 12 # define REENTRANT_PROTO_I_CCSD 13 # define REENTRANT_PROTO_I_CII 14 # define REENTRANT_PROTO_I_CIISD 15 # define REENTRANT_PROTO_I_CSBI 16 # define REENTRANT_PROTO_I_CSBIR 17 # define REENTRANT_PROTO_I_CSBWR 18 # define REENTRANT_PROTO_I_CSBWRE 19 # define REENTRANT_PROTO_I_CSD 20 # define REENTRANT_PROTO_I_CWISBWRE 21 # define REENTRANT_PROTO_I_CWISD 22 # define REENTRANT_PROTO_I_D 23 # define REENTRANT_PROTO_I_H 24 # define REENTRANT_PROTO_I_IBI 25 # define REENTRANT_PROTO_I_IBW 26 # define REENTRANT_PROTO_I_ICBI 27 # define REENTRANT_PROTO_I_ICSBWR 28 # define REENTRANT_PROTO_I_ICSD 29 # define REENTRANT_PROTO_I_ID 30 # define REENTRANT_PROTO_I_IISD 31 # define REENTRANT_PROTO_I_ISBWR 32 # define REENTRANT_PROTO_I_ISD 33 # define REENTRANT_PROTO_I_LISBI 34 # define REENTRANT_PROTO_I_LISD 35 # define REENTRANT_PROTO_I_SB 36 # define REENTRANT_PROTO_I_SBI 37 # define REENTRANT_PROTO_I_SBIE 38 # define REENTRANT_PROTO_I_SBIH 39 # define REENTRANT_PROTO_I_SBIR 40 # define REENTRANT_PROTO_I_SBWR 41 # define REENTRANT_PROTO_I_SBWRE 42 # define REENTRANT_PROTO_I_SD 43 # define REENTRANT_PROTO_I_TISD 44 # define REENTRANT_PROTO_I_TS 45 # define REENTRANT_PROTO_I_TSBI 46 # define REENTRANT_PROTO_I_TSBIR 47 # define REENTRANT_PROTO_I_TSBWR 48 # define REENTRANT_PROTO_I_TSR 49 # define REENTRANT_PROTO_I_TsISBWRE 50 # define REENTRANT_PROTO_I_UISBWRE 51 # define REENTRANT_PROTO_I_uISBWRE 52 # define REENTRANT_PROTO_S_CBI 53 # define REENTRANT_PROTO_S_CCSBI 54 # define REENTRANT_PROTO_S_CIISBIE 55 # define REENTRANT_PROTO_S_CSBI 56 # define REENTRANT_PROTO_S_CSBIE 57 # define REENTRANT_PROTO_S_CWISBIE 58 # define REENTRANT_PROTO_S_CWISBWIE 59 # define REENTRANT_PROTO_S_ICSBI 60 # define REENTRANT_PROTO_S_ISBI 61 # define REENTRANT_PROTO_S_LISBI 62 # define REENTRANT_PROTO_S_SBI 63 # define REENTRANT_PROTO_S_SBIE 64 # define REENTRANT_PROTO_S_SBW 65 # define REENTRANT_PROTO_S_TISBI 66 # define REENTRANT_PROTO_S_TS 67 # define REENTRANT_PROTO_S_TSBI 68 # define REENTRANT_PROTO_S_TSBIE 69 # define REENTRANT_PROTO_S_TWISBIE 70 # define REENTRANT_PROTO_V_D 71 # define REENTRANT_PROTO_V_H 72 # define REENTRANT_PROTO_V_ID 73 /* Defines for indicating which special features are supported. */ /* The getgrent getgrgid getgrnam using buffer? */ # if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) # define GETGRENT_R_HAS_BUFFER # else # undef GETGRENT_R_HAS_BUFFER # endif # if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI || GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI) # define GETGRGID_R_HAS_BUFFER # else # undef GETGRGID_R_HAS_BUFFER # endif # if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI || GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI) # define GETGRNAM_R_HAS_BUFFER # else # undef GETGRNAM_R_HAS_BUFFER # endif /* Any of the getgrent getgrgid getgrnam using buffer? */ # if (defined(GETGRENT_R_HAS_BUFFER) || defined(GETGRGID_R_HAS_BUFFER) || defined(GETGRNAM_R_HAS_BUFFER)) # define USE_GRENT_BUFFER # else # undef USE_GRENT_BUFFER # endif /* The getgrent getgrgid getgrnam using ptr? */ # if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR) # define GETGRENT_R_HAS_PTR # else # undef GETGRENT_R_HAS_PTR # endif # if defined(HAS_GETGRGID_R) && (GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR) # define GETGRGID_R_HAS_PTR # else # undef GETGRGID_R_HAS_PTR # endif # if defined(HAS_GETGRNAM_R) && (GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) # define GETGRNAM_R_HAS_PTR # else # undef GETGRNAM_R_HAS_PTR # endif /* Any of the getgrent getgrgid getgrnam using ptr? */ # if (defined(GETGRENT_R_HAS_PTR) || defined(GETGRGID_R_HAS_PTR) || defined(GETGRNAM_R_HAS_PTR)) # define USE_GRENT_PTR # else # undef USE_GRENT_PTR # endif /* The getpwent getpwnam getpwuid using ptr? */ # if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR) # define GETPWENT_R_HAS_PTR # else # undef GETPWENT_R_HAS_PTR # endif # if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR) # define GETPWNAM_R_HAS_PTR # else # undef GETPWNAM_R_HAS_PTR # endif # if defined(HAS_GETPWUID_R) && (GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR || GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR) # define GETPWUID_R_HAS_PTR # else # undef GETPWUID_R_HAS_PTR # endif /* Any of the getpwent getpwnam getpwuid using ptr? */ # if (defined(GETPWENT_R_HAS_PTR) || defined(GETPWNAM_R_HAS_PTR) || defined(GETPWUID_R_HAS_PTR)) # define USE_PWENT_PTR # else # undef USE_PWENT_PTR # endif /* The getspent getspnam using ptr? */ # if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR) # define GETSPNAM_R_HAS_PTR # else # undef GETSPNAM_R_HAS_PTR # endif /* Any of the getspent getspnam using ptr? */ # if (defined(GETSPENT_R_HAS_PTR) || defined(GETSPNAM_R_HAS_PTR)) # define USE_SPENT_PTR # else # undef USE_SPENT_PTR # endif /* The getgrent getgrgid getgrnam setgrent endgrent using fptr? */ # if defined(HAS_GETGRENT_R) && (GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH) # define GETGRENT_R_HAS_FPTR # else # undef GETGRENT_R_HAS_FPTR # endif # if defined(HAS_SETGRENT_R) && (SETGRENT_R_PROTO == REENTRANT_PROTO_I_H || SETGRENT_R_PROTO == REENTRANT_PROTO_V_H) # define SETGRENT_R_HAS_FPTR # else # undef SETGRENT_R_HAS_FPTR # endif # if defined(HAS_ENDGRENT_R) && (ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H || ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H) # define ENDGRENT_R_HAS_FPTR # else # undef ENDGRENT_R_HAS_FPTR # endif /* Any of the getgrent getgrgid getgrnam setgrent endgrent using fptr? */ # if (defined(GETGRENT_R_HAS_FPTR) || defined(GETGRGID_R_HAS_FPTR) || defined(GETGRNAM_R_HAS_FPTR) || defined(SETGRENT_R_HAS_FPTR) || defined(ENDGRENT_R_HAS_FPTR)) # define USE_GRENT_FPTR # else # undef USE_GRENT_FPTR # endif /* The getpwent getpwnam getpwuid setpwent endpwent using fptr? */ # if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) # define GETPWENT_R_HAS_FPTR # else # undef GETPWENT_R_HAS_FPTR # endif # if defined(HAS_SETPWENT_R) && (SETPWENT_R_PROTO == REENTRANT_PROTO_I_H || SETPWENT_R_PROTO == REENTRANT_PROTO_V_H) # define SETPWENT_R_HAS_FPTR # else # undef SETPWENT_R_HAS_FPTR # endif # if defined(HAS_ENDPWENT_R) && (ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H || ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H) # define ENDPWENT_R_HAS_FPTR # else # undef ENDPWENT_R_HAS_FPTR # endif /* Any of the getpwent getpwnam getpwuid setpwent endpwent using fptr? */ # if (defined(GETPWENT_R_HAS_FPTR) || defined(GETPWNAM_R_HAS_FPTR) || defined(GETPWUID_R_HAS_FPTR) || defined(SETPWENT_R_HAS_FPTR) || defined(ENDPWENT_R_HAS_FPTR)) # define USE_PWENT_FPTR # else # undef USE_PWENT_FPTR # endif /* The getpwent getpwgid getpwnam using buffer? */ # if defined(HAS_GETPWENT_R) && (GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW || GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH) # define GETPWENT_R_HAS_BUFFER # else # undef GETPWENT_R_HAS_BUFFER # endif # if defined(HAS_GETPWNAM_R) && (GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR || GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI || GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI) # define GETPWNAM_R_HAS_BUFFER # else # undef GETPWNAM_R_HAS_BUFFER # endif /* Any of the getpwent getpwgid getpwnam using buffer? */ # if (defined(GETPWENT_R_HAS_BUFFER) || defined(GETPWGID_R_HAS_BUFFER) || defined(GETPWNAM_R_HAS_BUFFER)) # define USE_PWENT_BUFFER # else # undef USE_PWENT_BUFFER # endif /* The getspent getspnam using buffer? */ # if defined(HAS_GETSPNAM_R) && (GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI) # define GETSPNAM_R_HAS_BUFFER # else # undef GETSPNAM_R_HAS_BUFFER # endif /* Any of the getspent getspnam using buffer? */ # if (defined(GETSPENT_R_HAS_BUFFER) || defined(GETSPNAM_R_HAS_BUFFER)) # define USE_SPENT_BUFFER # else # undef USE_SPENT_BUFFER # endif /* The gethostent gethostbyaddr gethostbyname using ptr? */ # if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) # define GETHOSTENT_R_HAS_PTR # else # undef GETHOSTENT_R_HAS_PTR # endif # if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) # define GETHOSTBYADDR_R_HAS_PTR # else # undef GETHOSTBYADDR_R_HAS_PTR # endif # if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) # define GETHOSTBYNAME_R_HAS_PTR # else # undef GETHOSTBYNAME_R_HAS_PTR # endif /* Any of the gethostent gethostbyaddr gethostbyname using ptr? */ # if (defined(GETHOSTENT_R_HAS_PTR) || defined(GETHOSTBYADDR_R_HAS_PTR) || defined(GETHOSTBYNAME_R_HAS_PTR)) # define USE_HOSTENT_PTR # else # undef USE_HOSTENT_PTR # endif /* The getnetent getnetbyaddr getnetbyname using ptr? */ # if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE) # define GETNETENT_R_HAS_PTR # else # undef GETNETENT_R_HAS_PTR # endif # if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) # define GETNETBYADDR_R_HAS_PTR # else # undef GETNETBYADDR_R_HAS_PTR # endif # if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) # define GETNETBYNAME_R_HAS_PTR # else # undef GETNETBYNAME_R_HAS_PTR # endif /* Any of the getnetent getnetbyaddr getnetbyname using ptr? */ # if (defined(GETNETENT_R_HAS_PTR) || defined(GETNETBYADDR_R_HAS_PTR) || defined(GETNETBYNAME_R_HAS_PTR)) # define USE_NETENT_PTR # else # undef USE_NETENT_PTR # endif /* The getprotoent getprotobyname getprotobynumber using ptr? */ # if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR) # define GETPROTOENT_R_HAS_PTR # else # undef GETPROTOENT_R_HAS_PTR # endif # if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR) # define GETPROTOBYNAME_R_HAS_PTR # else # undef GETPROTOBYNAME_R_HAS_PTR # endif # if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR) # define GETPROTOBYNUMBER_R_HAS_PTR # else # undef GETPROTOBYNUMBER_R_HAS_PTR # endif /* Any of the getprotoent getprotobyname getprotobynumber using ptr? */ # if (defined(GETPROTOENT_R_HAS_PTR) || defined(GETPROTOBYNAME_R_HAS_PTR) || defined(GETPROTOBYNUMBER_R_HAS_PTR)) # define USE_PROTOENT_PTR # else # undef USE_PROTOENT_PTR # endif /* The getservent getservbyname getservbyport using ptr? */ # if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR) # define GETSERVENT_R_HAS_PTR # else # undef GETSERVENT_R_HAS_PTR # endif # if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR) # define GETSERVBYNAME_R_HAS_PTR # else # undef GETSERVBYNAME_R_HAS_PTR # endif # if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR) # define GETSERVBYPORT_R_HAS_PTR # else # undef GETSERVBYPORT_R_HAS_PTR # endif /* Any of the getservent getservbyname getservbyport using ptr? */ # if (defined(GETSERVENT_R_HAS_PTR) || defined(GETSERVBYNAME_R_HAS_PTR) || defined(GETSERVBYPORT_R_HAS_PTR)) # define USE_SERVENT_PTR # else # undef USE_SERVENT_PTR # endif /* The gethostent gethostbyaddr gethostbyname using buffer? */ # if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI) # define GETHOSTENT_R_HAS_BUFFER # else # undef GETHOSTENT_R_HAS_BUFFER # endif # if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) # define GETHOSTBYADDR_R_HAS_BUFFER # else # undef GETHOSTBYADDR_R_HAS_BUFFER # endif # if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) # define GETHOSTBYNAME_R_HAS_BUFFER # else # undef GETHOSTBYNAME_R_HAS_BUFFER # endif /* Any of the gethostent gethostbyaddr gethostbyname using buffer? */ # if (defined(GETHOSTENT_R_HAS_BUFFER) || defined(GETHOSTBYADDR_R_HAS_BUFFER) || defined(GETHOSTBYNAME_R_HAS_BUFFER)) # define USE_HOSTENT_BUFFER # else # undef USE_HOSTENT_BUFFER # endif /* The getnetent getnetbyaddr getnetbyname using buffer? */ # if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI) # define GETNETENT_R_HAS_BUFFER # else # undef GETNETENT_R_HAS_BUFFER # endif # if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) # define GETNETBYADDR_R_HAS_BUFFER # else # undef GETNETBYADDR_R_HAS_BUFFER # endif # if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI || GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) # define GETNETBYNAME_R_HAS_BUFFER # else # undef GETNETBYNAME_R_HAS_BUFFER # endif /* Any of the getnetent getnetbyaddr getnetbyname using buffer? */ # if (defined(GETNETENT_R_HAS_BUFFER) || defined(GETNETBYADDR_R_HAS_BUFFER) || defined(GETNETBYNAME_R_HAS_BUFFER)) # define USE_NETENT_BUFFER # else # undef USE_NETENT_BUFFER # endif /* The getprotoent getprotobyname getprotobynumber using buffer? */ # if defined(HAS_GETPROTOENT_R) && (GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI) # define GETPROTOENT_R_HAS_BUFFER # else # undef GETPROTOENT_R_HAS_BUFFER # endif # if defined(HAS_GETPROTOBYNAME_R) && (GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR || GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI) # define GETPROTOBYNAME_R_HAS_BUFFER # else # undef GETPROTOBYNAME_R_HAS_BUFFER # endif # if defined(HAS_GETPROTOBYNUMBER_R) && (GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR || GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI) # define GETPROTOBYNUMBER_R_HAS_BUFFER # else # undef GETPROTOBYNUMBER_R_HAS_BUFFER # endif /* Any of the getprotoent getprotobyname getprotobynumber using buffer? */ # if (defined(GETPROTOENT_R_HAS_BUFFER) || defined(GETPROTOBYNAME_R_HAS_BUFFER) || defined(GETPROTOBYNUMBER_R_HAS_BUFFER)) # define USE_PROTOENT_BUFFER # else # undef USE_PROTOENT_BUFFER # endif /* The getservent getservbyname getservbyport using buffer? */ # if defined(HAS_GETSERVENT_R) && (GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR || GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI || GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI) # define GETSERVENT_R_HAS_BUFFER # else # undef GETSERVENT_R_HAS_BUFFER # endif # if defined(HAS_GETSERVBYNAME_R) && (GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR || GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI) # define GETSERVBYNAME_R_HAS_BUFFER # else # undef GETSERVBYNAME_R_HAS_BUFFER # endif # if defined(HAS_GETSERVBYPORT_R) && (GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR || GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI) # define GETSERVBYPORT_R_HAS_BUFFER # else # undef GETSERVBYPORT_R_HAS_BUFFER # endif /* Any of the getservent getservbyname getservbyport using buffer? */ # if (defined(GETSERVENT_R_HAS_BUFFER) || defined(GETSERVBYNAME_R_HAS_BUFFER) || defined(GETSERVBYPORT_R_HAS_BUFFER)) # define USE_SERVENT_BUFFER # else # undef USE_SERVENT_BUFFER # endif /* The gethostent gethostbyaddr gethostbyname using errno? */ # if defined(HAS_GETHOSTENT_R) && (GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE) # define GETHOSTENT_R_HAS_ERRNO # else # undef GETHOSTENT_R_HAS_ERRNO # endif # if defined(HAS_GETHOSTBYADDR_R) && (GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE || GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE) # define GETHOSTBYADDR_R_HAS_ERRNO # else # undef GETHOSTBYADDR_R_HAS_ERRNO # endif # if defined(HAS_GETHOSTBYNAME_R) && (GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE || GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE) # define GETHOSTBYNAME_R_HAS_ERRNO # else # undef GETHOSTBYNAME_R_HAS_ERRNO # endif /* Any of the gethostent gethostbyaddr gethostbyname using errno? */ # if (defined(GETHOSTENT_R_HAS_ERRNO) || defined(GETHOSTBYADDR_R_HAS_ERRNO) || defined(GETHOSTBYNAME_R_HAS_ERRNO)) # define USE_HOSTENT_ERRNO # else # undef USE_HOSTENT_ERRNO # endif /* The getnetent getnetbyaddr getnetbyname using errno? */ # if defined(HAS_GETNETENT_R) && (GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE || GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE || GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE) # define GETNETENT_R_HAS_ERRNO # else # undef GETNETENT_R_HAS_ERRNO # endif # if defined(HAS_GETNETBYADDR_R) && (GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE || GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE) # define GETNETBYADDR_R_HAS_ERRNO # else # undef GETNETBYADDR_R_HAS_ERRNO # endif # if defined(HAS_GETNETBYNAME_R) && (GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE) # define GETNETBYNAME_R_HAS_ERRNO # else # undef GETNETBYNAME_R_HAS_ERRNO # endif /* Any of the getnetent getnetbyaddr getnetbyname using errno? */ # if (defined(GETNETENT_R_HAS_ERRNO) || defined(GETNETBYADDR_R_HAS_ERRNO) || defined(GETNETBYNAME_R_HAS_ERRNO)) # define USE_NETENT_ERRNO # else # undef USE_NETENT_ERRNO # endif typedef struct { # ifdef HAS_ASCTIME_R char* _asctime_buffer; size_t _asctime_size; # endif /* HAS_ASCTIME_R */ # ifdef HAS_CRYPT_R # if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD CRYPTD* _crypt_data; # else struct crypt_data *_crypt_struct_buffer; # endif # endif /* HAS_CRYPT_R */ # ifdef HAS_CTIME_R char* _ctime_buffer; size_t _ctime_size; # endif /* HAS_CTIME_R */ # ifdef HAS_GETGRNAM_R struct group _grent_struct; char* _grent_buffer; size_t _grent_size; # ifdef USE_GRENT_PTR struct group* _grent_ptr; # endif # ifdef USE_GRENT_FPTR FILE* _grent_fptr; # endif # endif /* HAS_GETGRNAM_R */ # ifdef HAS_GETHOSTBYNAME_R struct hostent _hostent_struct; # if GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct hostent_data _hostent_data; # else char* _hostent_buffer; size_t _hostent_size; # endif # ifdef USE_HOSTENT_PTR struct hostent* _hostent_ptr; # endif # ifdef USE_HOSTENT_ERRNO int _hostent_errno; # endif # endif /* HAS_GETHOSTBYNAME_R */ # ifdef HAS_GETLOGIN_R char* _getlogin_buffer; size_t _getlogin_size; # endif /* HAS_GETLOGIN_R */ # ifdef HAS_GETNETBYNAME_R struct netent _netent_struct; # if GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct netent_data _netent_data; # else char* _netent_buffer; size_t _netent_size; # endif # ifdef USE_NETENT_PTR struct netent* _netent_ptr; # endif # ifdef USE_NETENT_ERRNO int _netent_errno; # endif # endif /* HAS_GETNETBYNAME_R */ # ifdef HAS_GETPROTOBYNAME_R struct protoent _protoent_struct; # if GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD struct protoent_data _protoent_data; # else char* _protoent_buffer; size_t _protoent_size; # endif # ifdef USE_PROTOENT_PTR struct protoent* _protoent_ptr; # endif # ifdef USE_PROTOENT_ERRNO int _protoent_errno; # endif # endif /* HAS_GETPROTOBYNAME_R */ # ifdef HAS_GETPWNAM_R struct passwd _pwent_struct; char* _pwent_buffer; size_t _pwent_size; # ifdef USE_PWENT_PTR struct passwd* _pwent_ptr; # endif # ifdef USE_PWENT_FPTR FILE* _pwent_fptr; # endif # endif /* HAS_GETPWNAM_R */ # ifdef HAS_GETSERVBYNAME_R struct servent _servent_struct; # if GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD struct servent_data _servent_data; # else char* _servent_buffer; size_t _servent_size; # endif # ifdef USE_SERVENT_PTR struct servent* _servent_ptr; # endif # ifdef USE_SERVENT_ERRNO int _servent_errno; # endif # endif /* HAS_GETSERVBYNAME_R */ # ifdef HAS_GETSPNAM_R struct spwd _spent_struct; char* _spent_buffer; size_t _spent_size; # ifdef USE_SPENT_PTR struct spwd* _spent_ptr; # endif # ifdef USE_SPENT_FPTR FILE* _spent_fptr; # endif # endif /* HAS_GETSPNAM_R */ # ifdef HAS_GMTIME_R struct tm _gmtime_struct; # endif /* HAS_GMTIME_R */ # ifdef HAS_LOCALTIME_R struct tm _localtime_struct; # endif /* HAS_LOCALTIME_R */ # ifdef HAS_READDIR_R struct dirent* _readdir_struct; size_t _readdir_size; # if READDIR_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent* _readdir_ptr; # endif # endif /* HAS_READDIR_R */ # ifdef HAS_READDIR64_R struct dirent64* _readdir64_struct; size_t _readdir64_size; # if READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR struct dirent64* _readdir64_ptr; # endif # endif /* HAS_READDIR64_R */ # ifdef HAS_SETLOCALE_R char* _setlocale_buffer; size_t _setlocale_size; # endif /* HAS_SETLOCALE_R */ # ifdef HAS_STRERROR_R char* _strerror_buffer; size_t _strerror_size; # endif /* HAS_STRERROR_R */ # ifdef HAS_TTYNAME_R char* _ttyname_buffer; size_t _ttyname_size; # endif /* HAS_TTYNAME_R */ int dummy; /* cannot have empty structs */ } REENTR; /* The wrappers. */ # ifdef HAS_ASCTIME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef asctime # if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB # define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer) # endif # if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI # define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) # endif # if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB # define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) # endif # if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI # define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0) # endif # if defined(asctime) # define PERL_REENTR_USING_ASCTIME_R # endif # endif # endif /* HAS_ASCTIME_R */ # ifdef HAS_CRYPT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef crypt # if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS # define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer) # endif # if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD # define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data) # endif # if defined(crypt) # define PERL_REENTR_USING_CRYPT_R # endif # endif # endif /* HAS_CRYPT_R */ # ifdef HAS_CTERMID_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef ctermid # if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B # define ctermid(a) ctermid_r(a) # endif # if defined(ctermid) # define PERL_REENTR_USING_CTERMID_R # endif # endif # endif /* HAS_CTERMID_R */ # ifdef HAS_CTIME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef ctime # if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB # define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer) # endif # if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI # define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) # endif # if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB # define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) # endif # if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI # define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0) # endif # if defined(ctime) # define PERL_REENTR_USING_CTIME_R # endif # endif # endif /* HAS_CTIME_R */ # ifdef HAS_ENDGRENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endgrent # if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H # define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) # endif # if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H # define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr) # endif # if defined(endgrent) # define PERL_REENTR_USING_ENDGRENT_R # endif # endif # endif /* HAS_ENDGRENT_R */ # ifdef HAS_ENDHOSTENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endhostent # if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D # define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) # endif # if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D # define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data) # endif # if defined(endhostent) # define PERL_REENTR_USING_ENDHOSTENT_R # endif # endif # endif /* HAS_ENDHOSTENT_R */ # ifdef HAS_ENDNETENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endnetent # if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D # define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) # endif # if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D # define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data) # endif # if defined(endnetent) # define PERL_REENTR_USING_ENDNETENT_R # endif # endif # endif /* HAS_ENDNETENT_R */ # ifdef HAS_ENDPROTOENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endprotoent # if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D # define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) # endif # if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D # define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data) # endif # if defined(endprotoent) # define PERL_REENTR_USING_ENDPROTOENT_R # endif # endif # endif /* HAS_ENDPROTOENT_R */ # ifdef HAS_ENDPWENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endpwent # if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H # define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) # endif # if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H # define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr) # endif # if defined(endpwent) # define PERL_REENTR_USING_ENDPWENT_R # endif # endif # endif /* HAS_ENDPWENT_R */ # ifdef HAS_ENDSERVENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef endservent # if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D # define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) # endif # if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D # define endservent() endservent_r(&PL_reentrant_buffer->_servent_data) # endif # if defined(endservent) # define PERL_REENTR_USING_ENDSERVENT_R # endif # endif # endif /* HAS_ENDSERVENT_R */ # ifdef HAS_GETGRENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getgrent # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR # define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR # define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW # define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI # define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI # define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH # define getgrent() ((PL_reentrant_retint = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0)) # endif # if defined(getgrent) # define PERL_REENTR_USING_GETGRENT_R # endif # endif # endif /* HAS_GETGRENT_R */ # ifdef HAS_GETGRGID_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getgrgid # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR # define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) # endif # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR # define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) # endif # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI # define getgrgid(a) ((PL_reentrant_retint = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) # endif # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI # define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0)) # endif # if defined(getgrgid) # define PERL_REENTR_USING_GETGRGID_R # endif # endif # endif /* HAS_GETGRGID_R */ # ifdef HAS_GETGRNAM_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getgrnam # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR # define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) # endif # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR # define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) # endif # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI # define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) # endif # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI # define getgrnam(a) ((PL_reentrant_retint = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_reentrant_retint == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) # endif # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI # define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0)) # endif # if defined(getgrnam) # define PERL_REENTR_USING_GETGRNAM_R # endif # endif # endif /* HAS_GETGRNAM_R */ # ifdef HAS_GETHOSTBYADDR_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef gethostbyaddr # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE # define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE # define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD # define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD # define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII # define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE # define gethostbyaddr(a, b, c) ((PL_reentrant_retint = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)) # endif # if defined(gethostbyaddr) # define PERL_REENTR_USING_GETHOSTBYADDR_R # endif # endif # endif /* HAS_GETHOSTBYADDR_R */ # ifdef HAS_GETHOSTBYNAME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef gethostbyname # if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE # define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) # endif # if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE # define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) # endif # if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD # define gethostbyname(a) ((PL_reentrant_retint = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0)) # endif # if defined(gethostbyname) # define PERL_REENTR_USING_GETHOSTBYNAME_R # endif # endif # endif /* HAS_GETHOSTBYNAME_R */ # ifdef HAS_GETHOSTENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef gethostent # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE # define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE # define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE # define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI # define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI # define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD # define gethostent() ((PL_reentrant_retint = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_reentrant_retint == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0)) # endif # if defined(gethostent) # define PERL_REENTR_USING_GETHOSTENT_R # endif # endif # endif /* HAS_GETHOSTENT_R */ # ifdef HAS_GETLOGIN_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getlogin # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW # define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) # endif # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI # define getlogin() ((PL_reentrant_retint = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_reentrant_retint == ERANGE) ? (char *) Perl_reentrant_retry("getlogin") : 0)) # endif # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW # define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) # endif # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI # define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size) # endif # if defined(getlogin) # define PERL_REENTR_USING_GETLOGIN_R # endif # endif # endif /* HAS_GETLOGIN_R */ # ifdef HAS_GETNETBYADDR_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getnetbyaddr # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI # define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI # define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE # define getnetbyaddr(a, b) ((PL_reentrant_retint = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0)) # endif # if defined(getnetbyaddr) # define PERL_REENTR_USING_GETNETBYADDR_R # endif # endif # endif /* HAS_GETNETBYADDR_R */ # ifdef HAS_GETNETBYNAME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getnetbyname # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE # define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) # endif # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI # define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) # endif # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI # define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) # endif # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD # define getnetbyname(a) ((PL_reentrant_retint = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0)) # endif # if defined(getnetbyname) # define PERL_REENTR_USING_GETNETBYNAME_R # endif # endif # endif /* HAS_GETNETBYNAME_R */ # ifdef HAS_GETNETENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getnetent # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE # define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE # define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE # define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI # define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI # define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD # define getnetent() ((PL_reentrant_retint = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_reentrant_retint == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0)) # endif # if defined(getnetent) # define PERL_REENTR_USING_GETNETENT_R # endif # endif # endif /* HAS_GETNETENT_R */ # ifdef HAS_GETPROTOBYNAME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getprotobyname # if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR # define getprotobyname(a) ((PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) # endif # if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI # define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) # endif # if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD # define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0)) # endif # if defined(getprotobyname) # define PERL_REENTR_USING_GETPROTOBYNAME_R # endif # endif # endif /* HAS_GETPROTOBYNAME_R */ # ifdef HAS_GETPROTOBYNUMBER_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getprotobynumber # if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR # define getprotobynumber(a) ((PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) # endif # if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI # define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) # endif # if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD # define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0)) # endif # if defined(getprotobynumber) # define PERL_REENTR_USING_GETPROTOBYNUMBER_R # endif # endif # endif /* HAS_GETPROTOBYNUMBER_R */ # ifdef HAS_GETPROTOENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getprotoent # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR # define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) # endif # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI # define getprotoent() ((PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) # endif # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI # define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) # endif # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD # define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)),(PL_reentrant_retint = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_reentrant_retint == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0)) # endif # if defined(getprotoent) # define PERL_REENTR_USING_GETPROTOENT_R # endif # endif # endif /* HAS_GETPROTOENT_R */ # ifdef HAS_GETPWENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getpwent # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR # define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR # define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW # define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI # define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI # define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH # define getpwent() ((PL_reentrant_retint = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0)) # endif # if defined(getpwent) # define PERL_REENTR_USING_GETPWENT_R # endif # endif # endif /* HAS_GETPWENT_R */ # ifdef HAS_GETPWNAM_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getpwnam # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR # define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) # endif # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR # define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) # endif # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI # define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) # endif # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI # define getpwnam(a) ((PL_reentrant_retint = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0)) # endif # if defined(getpwnam) # define PERL_REENTR_USING_GETPWNAM_R # endif # endif # endif /* HAS_GETPWNAM_R */ # ifdef HAS_GETPWUID_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getpwuid # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR # define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) # endif # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR # define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) # endif # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI # define getpwuid(a) ((PL_reentrant_retint = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_reentrant_retint == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) # endif # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI # define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0)) # endif # if defined(getpwuid) # define PERL_REENTR_USING_GETPWUID_R # endif # endif # endif /* HAS_GETPWUID_R */ # ifdef HAS_GETSERVBYNAME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getservbyname # if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR # define getservbyname(a, b) ((PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) # endif # if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI # define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) # endif # if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD # define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0)) # endif # if defined(getservbyname) # define PERL_REENTR_USING_GETSERVBYNAME_R # endif # endif # endif /* HAS_GETSERVBYNAME_R */ # ifdef HAS_GETSERVBYPORT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getservbyport # if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR # define getservbyport(a, b) ((PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) # endif # if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI # define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) # endif # if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD # define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0)) # endif # if defined(getservbyport) # define PERL_REENTR_USING_GETSERVBYPORT_R # endif # endif # endif /* HAS_GETSERVBYPORT_R */ # ifdef HAS_GETSERVENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getservent # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR # define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) # endif # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI # define getservent() ((PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) # endif # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI # define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) # endif # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD # define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)),(PL_reentrant_retint = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_reentrant_retint == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0)) # endif # if defined(getservent) # define PERL_REENTR_USING_GETSERVENT_R # endif # endif # endif /* HAS_GETSERVENT_R */ # ifdef HAS_GETSPNAM_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef getspnam # if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR # define getspnam(a) ((PL_reentrant_retint = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_reentrant_retint == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) # endif # if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI # define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0)) # endif # if defined(getspnam) # define PERL_REENTR_USING_GETSPNAM_R # endif # endif # endif /* HAS_GETSPNAM_R */ # ifdef HAS_GMTIME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef gmtime # if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS # define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0) # endif # if defined(gmtime) # define PERL_REENTR_USING_GMTIME_R # endif # endif # endif /* HAS_GMTIME_R */ # ifdef HAS_LOCALTIME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef localtime # if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS # define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0) # endif # if defined(localtime) # define PERL_REENTR_USING_LOCALTIME_R # endif # endif # endif /* HAS_LOCALTIME_R */ # ifdef HAS_READDIR_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef readdir # if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR # define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0) # endif # if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS # define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0) # endif # if defined(readdir) # define PERL_REENTR_USING_READDIR_R # endif # endif # endif /* HAS_READDIR_R */ # ifdef HAS_READDIR64_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef readdir64 # if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR # define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0) # endif # if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS # define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0) # endif # if defined(readdir64) # define PERL_REENTR_USING_READDIR64_R # endif # endif # endif /* HAS_READDIR64_R */ # ifdef HAS_SETGRENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setgrent # if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H # define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0) # endif # if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H # define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr) # endif # if defined(setgrent) # define PERL_REENTR_USING_SETGRENT_R # endif # endif # endif /* HAS_SETGRENT_R */ # ifdef HAS_SETHOSTENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef sethostent # if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID # define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0) # endif # if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID # define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data) # endif # if defined(sethostent) # define PERL_REENTR_USING_SETHOSTENT_R # endif # endif # endif /* HAS_SETHOSTENT_R */ # ifdef HAS_SETLOCALE_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setlocale # if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI # define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0) # endif # if defined(setlocale) # define PERL_REENTR_USING_SETLOCALE_R # endif # endif # endif /* HAS_SETLOCALE_R */ # ifdef HAS_SETNETENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setnetent # if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID # define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0) # endif # if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID # define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data) # endif # if defined(setnetent) # define PERL_REENTR_USING_SETNETENT_R # endif # endif # endif /* HAS_SETNETENT_R */ # ifdef HAS_SETPROTOENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setprotoent # if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID # define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0) # endif # if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID # define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) # endif # if defined(setprotoent) # define PERL_REENTR_USING_SETPROTOENT_R # endif # endif # endif /* HAS_SETPROTOENT_R */ # ifdef HAS_SETPWENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setpwent # if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H # define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0) # endif # if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H # define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr) # endif # if defined(setpwent) # define PERL_REENTR_USING_SETPWENT_R # endif # endif # endif /* HAS_SETPWENT_R */ # ifdef HAS_SETSERVENT_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef setservent # if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID # define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0) # endif # if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID # define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data) # endif # if defined(setservent) # define PERL_REENTR_USING_SETSERVENT_R # endif # endif # endif /* HAS_SETSERVENT_R */ # ifdef HAS_STRERROR_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef strerror # if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW # define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) # endif # if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI # define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0) # endif # if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW # define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) # endif # if defined(strerror) # define PERL_REENTR_USING_STRERROR_R # endif # endif # endif /* HAS_STRERROR_R */ # ifdef HAS_TMPNAM_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef tmpnam # if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B # define tmpnam(a) tmpnam_r(a) # endif # if defined(tmpnam) # define PERL_REENTR_USING_TMPNAM_R # endif # endif # endif /* HAS_TMPNAM_R */ # ifdef HAS_TTYNAME_R # if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) # undef ttyname # if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW # define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) # endif # if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI # define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0) # endif # if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI # define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) # endif # if defined(ttyname) # define PERL_REENTR_USING_TTYNAME_R # endif # endif # endif /* HAS_TTYNAME_R */ /* Special case this; if others came along, could automate it */ # ifdef HAS_GETSPNAM_R # define KEY_getspnam -1 # endif #endif /* USE_REENTRANT_API */ #endif /* ex: set ro: */ overload.h 0000644 00000006314 15140731057 0006537 0 ustar 00 /* -*- buffer-read-only: t -*- * * overload.h * * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011 * by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/overload.pl. * Any changes made here will be lost! */ enum { fallback_amg, /* 0x00 fallback */ to_sv_amg, /* 0x01 ${} */ to_av_amg, /* 0x02 @{} */ to_hv_amg, /* 0x03 %{} */ to_gv_amg, /* 0x04 *{} */ to_cv_amg, /* 0x05 &{} */ inc_amg, /* 0x06 ++ */ dec_amg, /* 0x07 -- */ bool__amg, /* 0x08 bool */ numer_amg, /* 0x09 0+ */ string_amg, /* 0x0a "" */ not_amg, /* 0x0b ! */ copy_amg, /* 0x0c = */ abs_amg, /* 0x0d abs */ neg_amg, /* 0x0e neg */ iter_amg, /* 0x0f <> */ int_amg, /* 0x10 int */ lt_amg, /* 0x11 < */ le_amg, /* 0x12 <= */ gt_amg, /* 0x13 > */ ge_amg, /* 0x14 >= */ eq_amg, /* 0x15 == */ ne_amg, /* 0x16 != */ slt_amg, /* 0x17 lt */ sle_amg, /* 0x18 le */ sgt_amg, /* 0x19 gt */ sge_amg, /* 0x1a ge */ seq_amg, /* 0x1b eq */ sne_amg, /* 0x1c ne */ nomethod_amg, /* 0x1d nomethod */ add_amg, /* 0x1e + */ add_ass_amg, /* 0x1f += */ subtr_amg, /* 0x20 - */ subtr_ass_amg, /* 0x21 -= */ mult_amg, /* 0x22 * */ mult_ass_amg, /* 0x23 *= */ div_amg, /* 0x24 / */ div_ass_amg, /* 0x25 /= */ modulo_amg, /* 0x26 % */ modulo_ass_amg, /* 0x27 %= */ pow_amg, /* 0x28 ** */ pow_ass_amg, /* 0x29 **= */ lshift_amg, /* 0x2a << */ lshift_ass_amg, /* 0x2b <<= */ rshift_amg, /* 0x2c >> */ rshift_ass_amg, /* 0x2d >>= */ band_amg, /* 0x2e & */ band_ass_amg, /* 0x2f &= */ sband_amg, /* 0x30 &. */ sband_ass_amg, /* 0x31 &.= */ bor_amg, /* 0x32 | */ bor_ass_amg, /* 0x33 |= */ sbor_amg, /* 0x34 |. */ sbor_ass_amg, /* 0x35 |.= */ bxor_amg, /* 0x36 ^ */ bxor_ass_amg, /* 0x37 ^= */ sbxor_amg, /* 0x38 ^. */ sbxor_ass_amg, /* 0x39 ^.= */ ncmp_amg, /* 0x3a <=> */ scmp_amg, /* 0x3b cmp */ compl_amg, /* 0x3c ~ */ scompl_amg, /* 0x3d ~. */ atan2_amg, /* 0x3e atan2 */ cos_amg, /* 0x3f cos */ sin_amg, /* 0x40 sin */ exp_amg, /* 0x41 exp */ log_amg, /* 0x42 log */ sqrt_amg, /* 0x43 sqrt */ repeat_amg, /* 0x44 x */ repeat_ass_amg, /* 0x45 x= */ concat_amg, /* 0x46 . */ concat_ass_amg, /* 0x47 .= */ smart_amg, /* 0x48 ~~ */ ftest_amg, /* 0x49 -X */ regexp_amg, /* 0x4a qr */ max_amg_code /* Do not leave a trailing comma here. C9X allows it, C89 doesn't. */ }; #define NofAMmeth max_amg_code /* ex: set ro: */ zaphod32_hash.h 0000644 00000022672 15140731057 0007366 0 ustar 00 #ifndef DEBUG_ZAPHOD32_HASH #define DEBUG_ZAPHOD32_HASH 0 #if DEBUG_ZAPHOD32_HASH == 1 #include <stdio.h> #define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5) printf(pat, v0, v1, v2, v3, v4, v5) #define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4) printf(pat, v0, v1, v2, v3, v4) #define ZAPHOD32_WARN4(pat,v0,v1,v2,v3) printf(pat, v0, v1, v2, v3) #define ZAPHOD32_WARN3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #define ZAPHOD32_WARN2(pat,v0,v1) printf(pat, v0, v1) #define NOTE3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #elif DEBUG_ZAPHOD32_HASH == 2 #define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5) #define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4) #define ZAPHOD32_WARN4(pat,v0,v1,v2,v3) #define ZAPHOD32_WARN3(pat,v0,v1,v2) #define ZAPHOD32_WARN2(pat,v0,v1) #define NOTE3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #else #define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5) #define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4) #define ZAPHOD32_WARN4(pat,v0,v1,v2,v3) #define ZAPHOD32_WARN3(pat,v0,v1,v2) #define NOTE3(pat,v0,v1,v2) #define ZAPHOD32_WARN2(pat,v0,v1) #endif /* Find best way to ROTL32/ROTL64 */ #ifndef ROTL32 #if defined(_MSC_VER) #include <stdlib.h> /* Microsoft put _rotl declaration in here */ #define ROTL32(x,r) _rotl(x,r) #define ROTR32(x,r) _rotr(x,r) #else /* gcc recognises this code and generates a rotate instruction for CPUs with one */ #define ROTL32(x,r) (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r)))) #define ROTR32(x,r) (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r))) #endif #endif #ifndef PERL_SEEN_HV_FUNC_H #if !defined(U64) #include <stdint.h> #define U64 uint64_t #endif #if !defined(U32) #define U32 uint32_t #endif #if !defined(U8) #define U8 unsigned char #endif #if !defined(U16) #define U16 uint16_t #endif #ifndef STRLEN #define STRLEN int #endif #endif #ifndef ZAPHOD32_STATIC_INLINE #ifdef PERL_STATIC_INLINE #define ZAPHOD32_STATIC_INLINE PERL_STATIC_INLINE #else #define ZAPHOD32_STATIC_INLINE static inline #endif #endif #ifndef STMT_START #define STMT_START do #define STMT_END while(0) #endif /* This is two marsaglia xor-shift permutes, with a prime-multiple * sandwiched inside. The end result of doing this twice with different * primes is a completely avalanched v. */ #define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START { \ v ^= (v>>9); \ v ^= (v<<21); \ v ^= (v>>16); \ v *= prime; \ v ^= (v>>17); \ v ^= (v<<15); \ v ^= (v>>23); \ } STMT_END #define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START { \ ZAPHOD32_WARN3("v0=%08x v1=%08x v2=%08x - ZAPHOD32 FINALIZE\n", \ (unsigned int)v0, (unsigned int)v1, (unsigned int)v2); \ v2 += v0; \ v1 -= v2; \ v1 = ROTL32(v1, 6); \ v2 ^= v1; \ v2 = ROTL32(v2, 28); \ v1 ^= v2; \ v0 += v1; \ v1 = ROTL32(v1, 24); \ v2 += v1; \ v2 = ROTL32(v2, 18) + v1; \ v0 ^= v2; \ v0 = ROTL32(v0, 20); \ v2 += v0; \ v1 ^= v2; \ v0 += v1; \ v0 = ROTL32(v0, 5); \ v2 += v0; \ v2 = ROTL32(v2, 22); \ v0 -= v1; \ v1 -= v2; \ v1 = ROTL32(v1, 17); \ } STMT_END #define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START { \ ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x - ZAPHOD32 %s MIX\n", \ (unsigned int)v0,(unsigned int)v1,(unsigned int)v2, text ); \ v0 = ROTL32(v0,16) - v2; \ v1 = ROTR32(v1,13) ^ v2; \ v2 = ROTL32(v2,17) + v1; \ v0 = ROTR32(v0, 2) + v1; \ v1 = ROTR32(v1,17) - v0; \ v2 = ROTR32(v2, 7) ^ v0; \ } STMT_END ZAPHOD32_STATIC_INLINE void zaphod32_seed_state ( const U8 *seed_ch, U8 *state_ch ) { const U32 *seed= (const U32 *)seed_ch; U32 *state= (U32 *)state_ch; /* hex expansion of pi, skipping first two digits. pi= 3.2[43f6...]*/ /* pi value in hex from here: * http://turner.faculty.swau.edu/mathematics/materialslibrary/pi/pibases.html*/ /* Ensure that the three state vectors are nonzero regardless of the seed. */ /* The idea of these two steps is to ensure that the 0 state comes from a seed * utterly unlike that of the value we replace it with.*/ state[0]= seed[0] ^ 0x43f6a888; state[1]= seed[1] ^ 0x5a308d31; state[2]= seed[2] ^ 0x3198a2e0; if (!state[0]) state[0] = 1; if (!state[1]) state[1] = 2; if (!state[2]) state[2] = 4; /* these are pseduo-randomly selected primes between 2**31 and 2**32 * (I generated a big list and then randomly chose some from the list) */ ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b); ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d); ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d); /* now that we have scrambled we do some mixing to avalanche the * state bits to gether */ ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4"); /* and then scramble them again with different primes */ ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9); ZAPHOD32_SCRAMBLE32(state[1],0x8497242b); ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9); /* and a thorough final mix */ ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5"); ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5"); } ZAPHOD32_STATIC_INLINE U32 zaphod32_hash_with_state( const U8 *state_ch, const U8 *key, const STRLEN key_len ) { U32 *state= (U32 *)state_ch; const U8 *end; STRLEN len = key_len; U32 v0= state[0]; U32 v1= state[1]; U32 v2= state[2] ^ (0xC41A7AB1 * ((U32)key_len + 1)); ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x ln=%08x HASH START\n", (unsigned int)state[0], (unsigned int)state[1], (unsigned int)state[2], (unsigned int)key_len); { switch (len) { default: goto zaphod32_read8; case 12: v2 += (U32)key[11] << 24; /* FALLTHROUGH */ case 11: v2 += (U32)key[10] << 16; /* FALLTHROUGH */ case 10: v2 += (U32)U8TO16_LE(key+8); v1 -= U8TO32_LE(key+4); v0 += U8TO32_LE(key+0); goto zaphod32_finalize; case 9: v2 += (U32)key[8]; /* FALLTHROUGH */ case 8: v1 -= U8TO32_LE(key+4); v0 += U8TO32_LE(key+0); goto zaphod32_finalize; case 7: v2 += (U32)key[6]; /* FALLTHROUGH */ case 6: v0 += (U32)U8TO16_LE(key+4); v1 -= U8TO32_LE(key+0); goto zaphod32_finalize; case 5: v0 += (U32)key[4]; /* FALLTHROUGH */ case 4: v1 -= U8TO32_LE(key+0); goto zaphod32_finalize; case 3: v2 += (U32)key[2]; /* FALLTHROUGH */ case 2: v0 += (U32)U8TO16_LE(key); break; case 1: v0 += (U32)key[0]; break; case 0: v2 ^= 0xFF; break; } v0 -= v2; v2 = ROTL32(v2, 8) ^ v0; v0 = ROTR32(v0,16) + v2; v2 += v0; v0 += v0 >> 9; v0 += v2; v2 ^= v0; v2 += v2 << 4; v0 -= v2; v2 = ROTR32(v2, 8) ^ v0; v0 = ROTL32(v0,16) ^ v2; v2 = ROTL32(v2,10) + v0; v0 = ROTR32(v0,30) + v2; v2 = ROTR32(v2,12); return v0 ^ v2; } /* if (len >= 8) */ /* this block is only reached by a goto above, so this condition is commented out, but if the above block is removed it would be necessary to use this. */ { zaphod32_read8: len = key_len & 0x7; end = key + key_len - len; do { v1 -= U8TO32_LE(key+0); v0 += U8TO32_LE(key+4); ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A"); key += 8; } while ( key < end ); } if ( len >= 4 ) { v1 -= U8TO32_LE(key); key += 4; } v0 += (U32)(key_len) << 24; switch (len & 0x3) { case 3: v2 += (U32)key[2]; /* FALLTHROUGH */ case 2: v0 += (U32)U8TO16_LE(key); break; case 1: v0 += (U32)key[0]; break; case 0: v2 ^= 0xFF; break; } zaphod32_finalize: ZAPHOD32_FINALIZE(v0,v1,v2); ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x hh=%08x - FINAL\n\n", (unsigned int)v0, (unsigned int)v1, (unsigned int)v2, (unsigned int)v0 ^ v1 ^ v2); return v0 ^ v1 ^ v2; } ZAPHOD32_STATIC_INLINE U32 zaphod32_hash( const U8 *seed_ch, const U8 *key, const STRLEN key_len ) { U32 state[3]; zaphod32_seed_state(seed_ch,(U8*)state); return zaphod32_hash_with_state((U8*)state,key,key_len); } #endif feature.h 0000644 00000025456 15140731057 0006367 0 ustar 00 /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen/feature.pl. Any changes made here will be lost! */ #ifndef PERL_FEATURE_H_ #define PERL_FEATURE_H_ #if defined(PERL_CORE) || defined (PERL_EXT) #define HINT_FEATURE_SHIFT 26 #define FEATURE_BITWISE_BIT 0x0001 #define FEATURE___SUB___BIT 0x0002 #define FEATURE_MYREF_BIT 0x0004 #define FEATURE_EVALBYTES_BIT 0x0008 #define FEATURE_FC_BIT 0x0010 #define FEATURE_INDIRECT_BIT 0x0020 #define FEATURE_ISA_BIT 0x0040 #define FEATURE_POSTDEREF_QQ_BIT 0x0080 #define FEATURE_REFALIASING_BIT 0x0100 #define FEATURE_SAY_BIT 0x0200 #define FEATURE_SIGNATURES_BIT 0x0400 #define FEATURE_STATE_BIT 0x0800 #define FEATURE_SWITCH_BIT 0x1000 #define FEATURE_UNIEVAL_BIT 0x2000 #define FEATURE_UNICODE_BIT 0x4000 #define FEATURE_BUNDLE_DEFAULT 0 #define FEATURE_BUNDLE_510 1 #define FEATURE_BUNDLE_511 2 #define FEATURE_BUNDLE_515 3 #define FEATURE_BUNDLE_523 4 #define FEATURE_BUNDLE_527 5 #define FEATURE_BUNDLE_CUSTOM (HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT) #define CURRENT_HINTS \ (PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints) #define CURRENT_FEATURE_BUNDLE \ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT) #define FEATURE_IS_ENABLED_MASK(mask) \ ((CURRENT_HINTS & HINT_LOCALIZE_HH) \ ? (PL_curcop->cop_features & (mask)) : FALSE) /* The longest string we pass in. */ #define MAX_FEATURE_LEN (sizeof("postderef_qq")-1) #define FEATURE_FC_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_FC_BIT)) \ ) #define FEATURE_ISA_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_ISA_BIT) \ ) #define FEATURE_SAY_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SAY_BIT)) \ ) #define FEATURE_STATE_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_STATE_BIT)) \ ) #define FEATURE_SWITCH_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SWITCH_BIT)) \ ) #define FEATURE_BITWISE_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_527 \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_BITWISE_BIT)) \ ) #define FEATURE_INDIRECT_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527 \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_INDIRECT_BIT)) \ ) #define FEATURE_EVALBYTES_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_EVALBYTES_BIT)) \ ) #define FEATURE_SIGNATURES_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_SIGNATURES_BIT) \ ) #define FEATURE___SUB___IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE___SUB___BIT)) \ ) #define FEATURE_REFALIASING_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_REFALIASING_BIT) \ ) #define FEATURE_POSTDEREF_QQ_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_POSTDEREF_QQ_BIT)) \ ) #define FEATURE_UNIEVAL_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_UNIEVAL_BIT)) \ ) #define FEATURE_MYREF_IS_ENABLED \ ( \ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_MYREF_BIT) \ ) #define FEATURE_UNICODE_IS_ENABLED \ ( \ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \ FEATURE_IS_ENABLED_MASK(FEATURE_UNICODE_BIT)) \ ) #define SAVEFEATUREBITS() SAVEI32(PL_compiling.cop_features) #define CLEARFEATUREBITS() (PL_compiling.cop_features = 0) #define STOREFEATUREBITSHH(hh) \ (hv_stores((hh), "feature/bits", newSVuv(PL_compiling.cop_features))) #define FETCHFEATUREBITSHH(hh) \ STMT_START { \ SV **fbsv = hv_fetchs((hh), "feature/bits", FALSE); \ PL_compiling.cop_features = fbsv ? SvUV(*fbsv) : 0; \ } STMT_END #endif /* PERL_CORE or PERL_EXT */ #ifdef PERL_IN_OP_C PERL_STATIC_INLINE void S_enable_feature_bundle(pTHX_ SV *ver) { SV *comp_ver = sv_newmortal(); PL_hints = (PL_hints &~ HINT_FEATURE_MASK) | ( (sv_setnv(comp_ver, 5.027), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_527 : (sv_setnv(comp_ver, 5.023), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_523 : (sv_setnv(comp_ver, 5.015), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_515 : (sv_setnv(comp_ver, 5.011), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_511 : (sv_setnv(comp_ver, 5.009005), vcmp(ver, upg_version(comp_ver, FALSE)) >= 0) ? FEATURE_BUNDLE_510 : FEATURE_BUNDLE_DEFAULT ) << HINT_FEATURE_SHIFT; /* special case */ assert(PL_curcop == &PL_compiling); if (FEATURE_UNICODE_IS_ENABLED) PL_hints |= HINT_UNI_8_BIT; else PL_hints &= ~HINT_UNI_8_BIT; } #endif /* PERL_IN_OP_C */ #ifdef PERL_IN_MG_C #define magic_sethint_feature(keysv, keypv, keylen, valsv, valbool) \ S_magic_sethint_feature(aTHX_ (keysv), (keypv), (keylen), (valsv), (valbool)) PERL_STATIC_INLINE void S_magic_sethint_feature(pTHX_ SV *keysv, const char *keypv, STRLEN keylen, SV *valsv, bool valbool) { if (keysv) keypv = SvPV_const(keysv, keylen); if (memBEGINs(keypv, keylen, "feature_")) { const char *subf = keypv + (sizeof("feature_")-1); U32 mask = 0; switch (*subf) { case '_': if (keylen == sizeof("feature___SUB__")-1 && memcmp(subf+1, "_SUB__", keylen - sizeof("feature_")) == 0) { mask = FEATURE___SUB___BIT; break; } return; case 'b': if (keylen == sizeof("feature_bitwise")-1 && memcmp(subf+1, "itwise", keylen - sizeof("feature_")) == 0) { mask = FEATURE_BITWISE_BIT; break; } return; case 'e': if (keylen == sizeof("feature_evalbytes")-1 && memcmp(subf+1, "valbytes", keylen - sizeof("feature_")) == 0) { mask = FEATURE_EVALBYTES_BIT; break; } return; case 'f': if (keylen == sizeof("feature_fc")-1 && memcmp(subf+1, "c", keylen - sizeof("feature_")) == 0) { mask = FEATURE_FC_BIT; break; } return; case 'i': if (keylen == sizeof("feature_indirect")-1 && memcmp(subf+1, "ndirect", keylen - sizeof("feature_")) == 0) { mask = FEATURE_INDIRECT_BIT; break; } else if (keylen == sizeof("feature_isa")-1 && memcmp(subf+1, "sa", keylen - sizeof("feature_")) == 0) { mask = FEATURE_ISA_BIT; break; } return; case 'm': if (keylen == sizeof("feature_myref")-1 && memcmp(subf+1, "yref", keylen - sizeof("feature_")) == 0) { mask = FEATURE_MYREF_BIT; break; } return; case 'p': if (keylen == sizeof("feature_postderef_qq")-1 && memcmp(subf+1, "ostderef_qq", keylen - sizeof("feature_")) == 0) { mask = FEATURE_POSTDEREF_QQ_BIT; break; } return; case 'r': if (keylen == sizeof("feature_refaliasing")-1 && memcmp(subf+1, "efaliasing", keylen - sizeof("feature_")) == 0) { mask = FEATURE_REFALIASING_BIT; break; } return; case 's': if (keylen == sizeof("feature_say")-1 && memcmp(subf+1, "ay", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SAY_BIT; break; } else if (keylen == sizeof("feature_signatures")-1 && memcmp(subf+1, "ignatures", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SIGNATURES_BIT; break; } else if (keylen == sizeof("feature_state")-1 && memcmp(subf+1, "tate", keylen - sizeof("feature_")) == 0) { mask = FEATURE_STATE_BIT; break; } else if (keylen == sizeof("feature_switch")-1 && memcmp(subf+1, "witch", keylen - sizeof("feature_")) == 0) { mask = FEATURE_SWITCH_BIT; break; } return; case 'u': if (keylen == sizeof("feature_unicode")-1 && memcmp(subf+1, "nicode", keylen - sizeof("feature_")) == 0) { mask = FEATURE_UNICODE_BIT; break; } else if (keylen == sizeof("feature_unieval")-1 && memcmp(subf+1, "nieval", keylen - sizeof("feature_")) == 0) { mask = FEATURE_UNIEVAL_BIT; break; } return; default: return; } if (valsv ? SvTRUE(valsv) : valbool) PL_compiling.cop_features |= mask; else PL_compiling.cop_features &= ~mask; } } #endif /* PERL_IN_MG_C */ #endif /* PERL_FEATURE_H_ */ /* ex: set ro: */ form.h 0000644 00000002667 15140731057 0005676 0 ustar 00 /* form.h * * Copyright (C) 1991, 1992, 1993, 2000, 2004, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #define FF_END 0 /* tidy up, then return */ #define FF_LINEMARK 1 /* start (or end) of a line */ #define FF_LITERAL 2 /* append <arg> literal chars */ #define FF_SKIP 3 /* skip <arg> chars in format */ #define FF_FETCH 4 /* get next item and set field size to <arg> */ #define FF_CHECKNL 5 /* find max len of item (up to \n) that fits field */ #define FF_CHECKCHOP 6 /* like CHECKNL, but up to highest split point */ #define FF_SPACE 7 /* append padding space (diff of field, item size) */ #define FF_HALFSPACE 8 /* like FF_SPACE, but only append half as many */ #define FF_ITEM 9 /* append a text item, while blanking ctrl chars */ #define FF_CHOP 10 /* (for ^*) chop the current item */ #define FF_LINEGLOB 11 /* process @* */ #define FF_DECIMAL 12 /* do @##, ^##, where <arg>=(precision|flags) */ #define FF_NEWLINE 13 /* delete trailing spaces, then append \n */ #define FF_BLANK 14 /* for arg==0: do '~'; for arg>0 : do '~~' */ #define FF_MORE 15 /* replace long end of string with '...' */ #define FF_0DECIMAL 16 /* like FF_DECIMAL but for 0### */ #define FF_LINESNGL 17 /* process ^* */ opcode.h 0000644 00000267350 15140731057 0006206 0 ustar 00 /* -*- buffer-read-only: t -*- * * opcode.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/opcode.pl from its data. * Any changes made here will be lost! */ #ifndef PERL_GLOBAL_STRUCT_INIT #define Perl_pp_scalar Perl_pp_null #define Perl_pp_padany Perl_unimplemented_op #define Perl_pp_regcmaybe Perl_pp_null #define Perl_pp_transr Perl_pp_trans #define Perl_pp_chomp Perl_pp_chop #define Perl_pp_schomp Perl_pp_schop #define Perl_pp_i_preinc Perl_pp_preinc #define Perl_pp_i_predec Perl_pp_predec #define Perl_pp_i_postinc Perl_pp_postinc #define Perl_pp_i_postdec Perl_pp_postdec #define Perl_pp_slt Perl_pp_sle #define Perl_pp_sgt Perl_pp_sle #define Perl_pp_sge Perl_pp_sle #define Perl_pp_bit_xor Perl_pp_bit_or #define Perl_pp_nbit_xor Perl_pp_nbit_or #define Perl_pp_sbit_xor Perl_pp_sbit_or #define Perl_pp_cos Perl_pp_sin #define Perl_pp_exp Perl_pp_sin #define Perl_pp_log Perl_pp_sin #define Perl_pp_sqrt Perl_pp_sin #define Perl_pp_hex Perl_pp_oct #define Perl_pp_rindex Perl_pp_index #define Perl_pp_lcfirst Perl_pp_ucfirst #define Perl_pp_aelemfast_lex Perl_pp_aelemfast #define Perl_pp_avalues Perl_pp_akeys #define Perl_pp_values Perl_do_kv #define Perl_pp_keys Perl_do_kv #define Perl_pp_rv2hv Perl_pp_rv2av #define Perl_pp_pop Perl_pp_shift #define Perl_pp_mapstart Perl_pp_grepstart #define Perl_pp_dor Perl_pp_defined #define Perl_pp_andassign Perl_pp_and #define Perl_pp_orassign Perl_pp_or #define Perl_pp_dorassign Perl_pp_defined #define Perl_pp_lineseq Perl_pp_null #define Perl_pp_scope Perl_pp_null #define Perl_pp_dump Perl_pp_goto #define Perl_pp_dbmclose Perl_pp_untie #define Perl_pp_read Perl_pp_sysread #define Perl_pp_say Perl_pp_print #define Perl_pp_seek Perl_pp_sysseek #define Perl_pp_fcntl Perl_pp_ioctl #ifdef HAS_SOCKET #define Perl_pp_send Perl_pp_syswrite #define Perl_pp_recv Perl_pp_sysread #else #define Perl_pp_send Perl_unimplemented_op #define Perl_pp_recv Perl_unimplemented_op #define Perl_pp_socket Perl_unimplemented_op #endif #ifdef HAS_SOCKET #define Perl_pp_connect Perl_pp_bind #define Perl_pp_gsockopt Perl_pp_ssockopt #define Perl_pp_getsockname Perl_pp_getpeername #else #define Perl_pp_bind Perl_unimplemented_op #define Perl_pp_connect Perl_unimplemented_op #define Perl_pp_listen Perl_unimplemented_op #define Perl_pp_accept Perl_unimplemented_op #define Perl_pp_shutdown Perl_unimplemented_op #define Perl_pp_gsockopt Perl_unimplemented_op #define Perl_pp_ssockopt Perl_unimplemented_op #define Perl_pp_getsockname Perl_unimplemented_op #define Perl_pp_getpeername Perl_unimplemented_op #endif #define Perl_pp_lstat Perl_pp_stat #define Perl_pp_ftrwrite Perl_pp_ftrread #define Perl_pp_ftrexec Perl_pp_ftrread #define Perl_pp_fteread Perl_pp_ftrread #define Perl_pp_ftewrite Perl_pp_ftrread #define Perl_pp_fteexec Perl_pp_ftrread #define Perl_pp_ftsize Perl_pp_ftis #define Perl_pp_ftmtime Perl_pp_ftis #define Perl_pp_ftatime Perl_pp_ftis #define Perl_pp_ftctime Perl_pp_ftis #define Perl_pp_fteowned Perl_pp_ftrowned #define Perl_pp_ftzero Perl_pp_ftrowned #define Perl_pp_ftsock Perl_pp_ftrowned #define Perl_pp_ftchr Perl_pp_ftrowned #define Perl_pp_ftblk Perl_pp_ftrowned #define Perl_pp_ftfile Perl_pp_ftrowned #define Perl_pp_ftdir Perl_pp_ftrowned #define Perl_pp_ftpipe Perl_pp_ftrowned #define Perl_pp_ftsuid Perl_pp_ftrowned #define Perl_pp_ftsgid Perl_pp_ftrowned #define Perl_pp_ftsvtx Perl_pp_ftrowned #define Perl_pp_ftbinary Perl_pp_fttext #define Perl_pp_unlink Perl_pp_chown #define Perl_pp_chmod Perl_pp_chown #define Perl_pp_utime Perl_pp_chown #define Perl_pp_symlink Perl_pp_link #define Perl_pp_kill Perl_pp_chown #define Perl_pp_localtime Perl_pp_gmtime #define Perl_pp_shmget Perl_pp_semget #define Perl_pp_shmctl Perl_pp_semctl #define Perl_pp_shmread Perl_pp_shmwrite #define Perl_pp_msgget Perl_pp_semget #define Perl_pp_msgctl Perl_pp_semctl #define Perl_pp_msgsnd Perl_pp_shmwrite #define Perl_pp_msgrcv Perl_pp_shmwrite #define Perl_pp_semop Perl_pp_shmwrite #define Perl_pp_dofile Perl_pp_require #define Perl_pp_ghbyname Perl_pp_ghostent #define Perl_pp_ghbyaddr Perl_pp_ghostent #define Perl_pp_gnbyname Perl_pp_gnetent #define Perl_pp_gnbyaddr Perl_pp_gnetent #define Perl_pp_gpbyname Perl_pp_gprotoent #define Perl_pp_gpbynumber Perl_pp_gprotoent #define Perl_pp_gsbyname Perl_pp_gservent #define Perl_pp_gsbyport Perl_pp_gservent #define Perl_pp_snetent Perl_pp_shostent #define Perl_pp_sprotoent Perl_pp_shostent #define Perl_pp_sservent Perl_pp_shostent #define Perl_pp_enetent Perl_pp_ehostent #define Perl_pp_eprotoent Perl_pp_ehostent #define Perl_pp_eservent Perl_pp_ehostent #define Perl_pp_gpwnam Perl_pp_gpwent #define Perl_pp_gpwuid Perl_pp_gpwent #define Perl_pp_spwent Perl_pp_ehostent #define Perl_pp_epwent Perl_pp_ehostent #define Perl_pp_ggrnam Perl_pp_ggrent #define Perl_pp_ggrgid Perl_pp_ggrent #define Perl_pp_sgrent Perl_pp_ehostent #define Perl_pp_egrent Perl_pp_ehostent #define Perl_pp_custom Perl_unimplemented_op START_EXTERN_C #ifndef DOINIT EXTCONST char* const PL_op_name[]; #else EXTCONST char* const PL_op_name[] = { "null", "stub", "scalar", "pushmark", "wantarray", "const", "gvsv", "gv", "gelem", "padsv", "padav", "padhv", "padany", "rv2gv", "rv2sv", "av2arylen", "rv2cv", "anoncode", "prototype", "refgen", "srefgen", "ref", "bless", "backtick", "glob", "readline", "rcatline", "regcmaybe", "regcreset", "regcomp", "match", "qr", "subst", "substcont", "trans", "transr", "sassign", "aassign", "chop", "schop", "chomp", "schomp", "defined", "undef", "study", "pos", "preinc", "i_preinc", "predec", "i_predec", "postinc", "i_postinc", "postdec", "i_postdec", "pow", "multiply", "i_multiply", "divide", "i_divide", "modulo", "i_modulo", "repeat", "add", "i_add", "subtract", "i_subtract", "concat", "multiconcat", "stringify", "left_shift", "right_shift", "lt", "i_lt", "gt", "i_gt", "le", "i_le", "ge", "i_ge", "eq", "i_eq", "ne", "i_ne", "ncmp", "i_ncmp", "slt", "sgt", "sle", "sge", "seq", "sne", "scmp", "bit_and", "bit_xor", "bit_or", "nbit_and", "nbit_xor", "nbit_or", "sbit_and", "sbit_xor", "sbit_or", "negate", "i_negate", "not", "complement", "ncomplement", "scomplement", "smartmatch", "atan2", "sin", "cos", "rand", "srand", "exp", "log", "sqrt", "int", "hex", "oct", "abs", "length", "substr", "vec", "index", "rindex", "sprintf", "formline", "ord", "chr", "crypt", "ucfirst", "lcfirst", "uc", "lc", "quotemeta", "rv2av", "aelemfast", "aelemfast_lex", "aelem", "aslice", "kvaslice", "aeach", "avalues", "akeys", "each", "values", "keys", "delete", "exists", "rv2hv", "helem", "hslice", "kvhslice", "multideref", "unpack", "pack", "split", "join", "list", "lslice", "anonlist", "anonhash", "splice", "push", "pop", "shift", "unshift", "sort", "reverse", "grepstart", "grepwhile", "mapstart", "mapwhile", "range", "flip", "flop", "and", "or", "xor", "dor", "cond_expr", "andassign", "orassign", "dorassign", "entersub", "leavesub", "leavesublv", "argcheck", "argelem", "argdefelem", "caller", "warn", "die", "reset", "lineseq", "nextstate", "dbstate", "unstack", "enter", "leave", "scope", "enteriter", "iter", "enterloop", "leaveloop", "return", "last", "next", "redo", "dump", "goto", "exit", "method", "method_named", "method_super", "method_redir", "method_redir_super", "entergiven", "leavegiven", "enterwhen", "leavewhen", "break", "continue", "open", "close", "pipe_op", "fileno", "umask", "binmode", "tie", "untie", "tied", "dbmopen", "dbmclose", "sselect", "select", "getc", "read", "enterwrite", "leavewrite", "prtf", "print", "say", "sysopen", "sysseek", "sysread", "syswrite", "eof", "tell", "seek", "truncate", "fcntl", "ioctl", "flock", "send", "recv", "socket", "sockpair", "bind", "connect", "listen", "accept", "shutdown", "gsockopt", "ssockopt", "getsockname", "getpeername", "lstat", "stat", "ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec", "ftis", "ftsize", "ftmtime", "ftatime", "ftctime", "ftrowned", "fteowned", "ftzero", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir", "ftpipe", "ftsuid", "ftsgid", "ftsvtx", "ftlink", "fttty", "fttext", "ftbinary", "chdir", "chown", "chroot", "unlink", "chmod", "utime", "rename", "link", "symlink", "readlink", "mkdir", "rmdir", "open_dir", "readdir", "telldir", "seekdir", "rewinddir", "closedir", "fork", "wait", "waitpid", "system", "exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority", "setpriority", "time", "tms", "localtime", "gmtime", "alarm", "sleep", "shmget", "shmctl", "shmread", "shmwrite", "msgget", "msgctl", "msgsnd", "msgrcv", "semop", "semget", "semctl", "require", "dofile", "hintseval", "entereval", "leaveeval", "entertry", "leavetry", "ghbyname", "ghbyaddr", "ghostent", "gnbyname", "gnbyaddr", "gnetent", "gpbyname", "gpbynumber", "gprotoent", "gsbyname", "gsbyport", "gservent", "shostent", "snetent", "sprotoent", "sservent", "ehostent", "enetent", "eprotoent", "eservent", "gpwnam", "gpwuid", "gpwent", "spwent", "epwent", "ggrnam", "ggrgid", "ggrent", "sgrent", "egrent", "getlogin", "syscall", "lock", "once", "custom", "coreargs", "avhvswitch", "runcv", "fc", "padcv", "introcv", "clonecv", "padrange", "refassign", "lvref", "lvrefslice", "lvavref", "anonconst", "isa", "cmpchain_and", "cmpchain_dup", "freed", }; #endif #ifndef DOINIT EXTCONST char* const PL_op_desc[]; #else EXTCONST char* const PL_op_desc[] = { "null operation", "stub", "scalar", "pushmark", "wantarray", "constant item", "scalar variable", "glob value", "glob elem", "private variable", "private array", "private hash", "private value", "ref-to-glob cast", "scalar dereference", "array length", "subroutine dereference", "anonymous subroutine", "subroutine prototype", "reference constructor", "single ref constructor", "reference-type operator", "bless", "quoted execution (``, qx)", "glob", "<HANDLE>", "append I/O operator", "regexp internal guard", "regexp internal reset", "regexp compilation", "pattern match (m//)", "pattern quote (qr//)", "substitution (s///)", "substitution iterator", "transliteration (tr///)", "transliteration (tr///)", "scalar assignment", "list assignment", "chop", "scalar chop", "chomp", "scalar chomp", "defined operator", "undef operator", "study", "match position", "preincrement (++)", "integer preincrement (++)", "predecrement (--)", "integer predecrement (--)", "postincrement (++)", "integer postincrement (++)", "postdecrement (--)", "integer postdecrement (--)", "exponentiation (**)", "multiplication (*)", "integer multiplication (*)", "division (/)", "integer division (/)", "modulus (%)", "integer modulus (%)", "repeat (x)", "addition (+)", "integer addition (+)", "subtraction (-)", "integer subtraction (-)", "concatenation (.) or string", "concatenation (.) or string", "string", "left bitshift (<<)", "right bitshift (>>)", "numeric lt (<)", "integer lt (<)", "numeric gt (>)", "integer gt (>)", "numeric le (<=)", "integer le (<=)", "numeric ge (>=)", "integer ge (>=)", "numeric eq (==)", "integer eq (==)", "numeric ne (!=)", "integer ne (!=)", "numeric comparison (<=>)", "integer comparison (<=>)", "string lt", "string gt", "string le", "string ge", "string eq", "string ne", "string comparison (cmp)", "bitwise and (&)", "bitwise xor (^)", "bitwise or (|)", "numeric bitwise and (&)", "numeric bitwise xor (^)", "numeric bitwise or (|)", "string bitwise and (&.)", "string bitwise xor (^.)", "string bitwise or (|.)", "negation (-)", "integer negation (-)", "not", "1's complement (~)", "numeric 1's complement (~)", "string 1's complement (~)", "smart match", "atan2", "sin", "cos", "rand", "srand", "exp", "log", "sqrt", "int", "hex", "oct", "abs", "length", "substr", "vec", "index", "rindex", "sprintf", "formline", "ord", "chr", "crypt", "ucfirst", "lcfirst", "uc", "lc", "quotemeta", "array dereference", "constant array element", "constant lexical array element", "array element", "array slice", "index/value array slice", "each on array", "values on array", "keys on array", "each", "values", "keys", "delete", "exists", "hash dereference", "hash element", "hash slice", "key/value hash slice", "array or hash lookup", "unpack", "pack", "split", "join or string", "list", "list slice", "anonymous array ([])", "anonymous hash ({})", "splice", "push", "pop", "shift", "unshift", "sort", "reverse", "grep", "grep iterator", "map", "map iterator", "flipflop", "range (or flip)", "range (or flop)", "logical and (&&)", "logical or (||)", "logical xor", "defined or (//)", "conditional expression", "logical and assignment (&&=)", "logical or assignment (||=)", "defined or assignment (//=)", "subroutine entry", "subroutine exit", "lvalue subroutine return", "check subroutine arguments", "subroutine argument", "subroutine argument default value", "caller", "warn", "die", "symbol reset", "line sequence", "next statement", "debug next statement", "iteration finalizer", "block entry", "block exit", "block", "foreach loop entry", "foreach loop iterator", "loop entry", "loop exit", "return", "last", "next", "redo", "dump", "goto", "exit", "method lookup", "method with known name", "super with known name", "redirect method with known name", "redirect super method with known name", "given()", "leave given block", "when()", "leave when block", "break", "continue", "open", "close", "pipe", "fileno", "umask", "binmode", "tie", "untie", "tied", "dbmopen", "dbmclose", "select system call", "select", "getc", "read", "write", "write exit", "printf", "print", "say", "sysopen", "sysseek", "sysread", "syswrite", "eof", "tell", "seek", "truncate", "fcntl", "ioctl", "flock", "send", "recv", "socket", "socketpair", "bind", "connect", "listen", "accept", "shutdown", "getsockopt", "setsockopt", "getsockname", "getpeername", "lstat", "stat", "-R", "-W", "-X", "-r", "-w", "-x", "-e", "-s", "-M", "-A", "-C", "-O", "-o", "-z", "-S", "-c", "-b", "-f", "-d", "-p", "-u", "-g", "-k", "-l", "-t", "-T", "-B", "chdir", "chown", "chroot", "unlink", "chmod", "utime", "rename", "link", "symlink", "readlink", "mkdir", "rmdir", "opendir", "readdir", "telldir", "seekdir", "rewinddir", "closedir", "fork", "wait", "waitpid", "system", "exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority", "setpriority", "time", "times", "localtime", "gmtime", "alarm", "sleep", "shmget", "shmctl", "shmread", "shmwrite", "msgget", "msgctl", "msgsnd", "msgrcv", "semop", "semget", "semctl", "require", "do \"file\"", "eval hints", "eval \"string\"", "eval \"string\" exit", "eval {block}", "eval {block} exit", "gethostbyname", "gethostbyaddr", "gethostent", "getnetbyname", "getnetbyaddr", "getnetent", "getprotobyname", "getprotobynumber", "getprotoent", "getservbyname", "getservbyport", "getservent", "sethostent", "setnetent", "setprotoent", "setservent", "endhostent", "endnetent", "endprotoent", "endservent", "getpwnam", "getpwuid", "getpwent", "setpwent", "endpwent", "getgrnam", "getgrgid", "getgrent", "setgrent", "endgrent", "getlogin", "syscall", "lock", "once", "unknown custom operator", "CORE:: subroutine", "Array/hash switch", "__SUB__", "fc", "private subroutine", "private subroutine", "private subroutine", "list of private variables", "lvalue ref assignment", "lvalue ref assignment", "lvalue ref assignment", "lvalue array reference", "anonymous constant", "derived class test", "comparison chaining", "comparand shuffling", "freed op", }; #endif END_EXTERN_C #endif /* !PERL_GLOBAL_STRUCT_INIT */ START_EXTERN_C #ifdef PERL_GLOBAL_STRUCT_INIT # define PERL_PPADDR_INITED static const Perl_ppaddr_t Gppaddr[] #elif !defined(PERL_GLOBAL_STRUCT) # define PERL_PPADDR_INITED EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ #endif /* PERL_GLOBAL_STRUCT */ #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT) # define PERL_PPADDR_INITED = { Perl_pp_null, Perl_pp_stub, Perl_pp_scalar, /* implemented by Perl_pp_null */ Perl_pp_pushmark, Perl_pp_wantarray, Perl_pp_const, Perl_pp_gvsv, Perl_pp_gv, Perl_pp_gelem, Perl_pp_padsv, Perl_pp_padav, Perl_pp_padhv, Perl_pp_padany, /* implemented by Perl_unimplemented_op */ Perl_pp_rv2gv, Perl_pp_rv2sv, Perl_pp_av2arylen, Perl_pp_rv2cv, Perl_pp_anoncode, Perl_pp_prototype, Perl_pp_refgen, Perl_pp_srefgen, Perl_pp_ref, Perl_pp_bless, Perl_pp_backtick, Perl_pp_glob, Perl_pp_readline, Perl_pp_rcatline, Perl_pp_regcmaybe, /* implemented by Perl_pp_null */ Perl_pp_regcreset, Perl_pp_regcomp, Perl_pp_match, Perl_pp_qr, Perl_pp_subst, Perl_pp_substcont, Perl_pp_trans, Perl_pp_transr, /* implemented by Perl_pp_trans */ Perl_pp_sassign, Perl_pp_aassign, Perl_pp_chop, Perl_pp_schop, Perl_pp_chomp, /* implemented by Perl_pp_chop */ Perl_pp_schomp, /* implemented by Perl_pp_schop */ Perl_pp_defined, Perl_pp_undef, Perl_pp_study, Perl_pp_pos, Perl_pp_preinc, Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */ Perl_pp_predec, Perl_pp_i_predec, /* implemented by Perl_pp_predec */ Perl_pp_postinc, Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */ Perl_pp_postdec, Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */ Perl_pp_pow, Perl_pp_multiply, Perl_pp_i_multiply, Perl_pp_divide, Perl_pp_i_divide, Perl_pp_modulo, Perl_pp_i_modulo, Perl_pp_repeat, Perl_pp_add, Perl_pp_i_add, Perl_pp_subtract, Perl_pp_i_subtract, Perl_pp_concat, Perl_pp_multiconcat, Perl_pp_stringify, Perl_pp_left_shift, Perl_pp_right_shift, Perl_pp_lt, Perl_pp_i_lt, Perl_pp_gt, Perl_pp_i_gt, Perl_pp_le, Perl_pp_i_le, Perl_pp_ge, Perl_pp_i_ge, Perl_pp_eq, Perl_pp_i_eq, Perl_pp_ne, Perl_pp_i_ne, Perl_pp_ncmp, Perl_pp_i_ncmp, Perl_pp_slt, /* implemented by Perl_pp_sle */ Perl_pp_sgt, /* implemented by Perl_pp_sle */ Perl_pp_sle, Perl_pp_sge, /* implemented by Perl_pp_sle */ Perl_pp_seq, Perl_pp_sne, Perl_pp_scmp, Perl_pp_bit_and, Perl_pp_bit_xor, /* implemented by Perl_pp_bit_or */ Perl_pp_bit_or, Perl_pp_nbit_and, Perl_pp_nbit_xor, /* implemented by Perl_pp_nbit_or */ Perl_pp_nbit_or, Perl_pp_sbit_and, Perl_pp_sbit_xor, /* implemented by Perl_pp_sbit_or */ Perl_pp_sbit_or, Perl_pp_negate, Perl_pp_i_negate, Perl_pp_not, Perl_pp_complement, Perl_pp_ncomplement, Perl_pp_scomplement, Perl_pp_smartmatch, Perl_pp_atan2, Perl_pp_sin, Perl_pp_cos, /* implemented by Perl_pp_sin */ Perl_pp_rand, Perl_pp_srand, Perl_pp_exp, /* implemented by Perl_pp_sin */ Perl_pp_log, /* implemented by Perl_pp_sin */ Perl_pp_sqrt, /* implemented by Perl_pp_sin */ Perl_pp_int, Perl_pp_hex, /* implemented by Perl_pp_oct */ Perl_pp_oct, Perl_pp_abs, Perl_pp_length, Perl_pp_substr, Perl_pp_vec, Perl_pp_index, Perl_pp_rindex, /* implemented by Perl_pp_index */ Perl_pp_sprintf, Perl_pp_formline, Perl_pp_ord, Perl_pp_chr, Perl_pp_crypt, Perl_pp_ucfirst, Perl_pp_lcfirst, /* implemented by Perl_pp_ucfirst */ Perl_pp_uc, Perl_pp_lc, Perl_pp_quotemeta, Perl_pp_rv2av, Perl_pp_aelemfast, Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */ Perl_pp_aelem, Perl_pp_aslice, Perl_pp_kvaslice, Perl_pp_aeach, Perl_pp_avalues, /* implemented by Perl_pp_akeys */ Perl_pp_akeys, Perl_pp_each, Perl_pp_values, /* implemented by Perl_do_kv */ Perl_pp_keys, /* implemented by Perl_do_kv */ Perl_pp_delete, Perl_pp_exists, Perl_pp_rv2hv, /* implemented by Perl_pp_rv2av */ Perl_pp_helem, Perl_pp_hslice, Perl_pp_kvhslice, Perl_pp_multideref, Perl_pp_unpack, Perl_pp_pack, Perl_pp_split, Perl_pp_join, Perl_pp_list, Perl_pp_lslice, Perl_pp_anonlist, Perl_pp_anonhash, Perl_pp_splice, Perl_pp_push, Perl_pp_pop, /* implemented by Perl_pp_shift */ Perl_pp_shift, Perl_pp_unshift, Perl_pp_sort, Perl_pp_reverse, Perl_pp_grepstart, Perl_pp_grepwhile, Perl_pp_mapstart, /* implemented by Perl_pp_grepstart */ Perl_pp_mapwhile, Perl_pp_range, Perl_pp_flip, Perl_pp_flop, Perl_pp_and, Perl_pp_or, Perl_pp_xor, Perl_pp_dor, /* implemented by Perl_pp_defined */ Perl_pp_cond_expr, Perl_pp_andassign, /* implemented by Perl_pp_and */ Perl_pp_orassign, /* implemented by Perl_pp_or */ Perl_pp_dorassign, /* implemented by Perl_pp_defined */ Perl_pp_entersub, Perl_pp_leavesub, Perl_pp_leavesublv, Perl_pp_argcheck, Perl_pp_argelem, Perl_pp_argdefelem, Perl_pp_caller, Perl_pp_warn, Perl_pp_die, Perl_pp_reset, Perl_pp_lineseq, /* implemented by Perl_pp_null */ Perl_pp_nextstate, Perl_pp_dbstate, Perl_pp_unstack, Perl_pp_enter, Perl_pp_leave, Perl_pp_scope, /* implemented by Perl_pp_null */ Perl_pp_enteriter, Perl_pp_iter, Perl_pp_enterloop, Perl_pp_leaveloop, Perl_pp_return, Perl_pp_last, Perl_pp_next, Perl_pp_redo, Perl_pp_dump, /* implemented by Perl_pp_goto */ Perl_pp_goto, Perl_pp_exit, Perl_pp_method, Perl_pp_method_named, Perl_pp_method_super, Perl_pp_method_redir, Perl_pp_method_redir_super, Perl_pp_entergiven, Perl_pp_leavegiven, Perl_pp_enterwhen, Perl_pp_leavewhen, Perl_pp_break, Perl_pp_continue, Perl_pp_open, Perl_pp_close, Perl_pp_pipe_op, Perl_pp_fileno, Perl_pp_umask, Perl_pp_binmode, Perl_pp_tie, Perl_pp_untie, Perl_pp_tied, Perl_pp_dbmopen, Perl_pp_dbmclose, /* implemented by Perl_pp_untie */ Perl_pp_sselect, Perl_pp_select, Perl_pp_getc, Perl_pp_read, /* implemented by Perl_pp_sysread */ Perl_pp_enterwrite, Perl_pp_leavewrite, Perl_pp_prtf, Perl_pp_print, Perl_pp_say, /* implemented by Perl_pp_print */ Perl_pp_sysopen, Perl_pp_sysseek, Perl_pp_sysread, Perl_pp_syswrite, Perl_pp_eof, Perl_pp_tell, Perl_pp_seek, /* implemented by Perl_pp_sysseek */ Perl_pp_truncate, Perl_pp_fcntl, /* implemented by Perl_pp_ioctl */ Perl_pp_ioctl, Perl_pp_flock, Perl_pp_send, /* implemented by Perl_pp_syswrite */ Perl_pp_recv, /* implemented by Perl_pp_sysread */ Perl_pp_socket, Perl_pp_sockpair, Perl_pp_bind, Perl_pp_connect, /* implemented by Perl_pp_bind */ Perl_pp_listen, Perl_pp_accept, Perl_pp_shutdown, Perl_pp_gsockopt, /* implemented by Perl_pp_ssockopt */ Perl_pp_ssockopt, Perl_pp_getsockname, /* implemented by Perl_pp_getpeername */ Perl_pp_getpeername, Perl_pp_lstat, /* implemented by Perl_pp_stat */ Perl_pp_stat, Perl_pp_ftrread, Perl_pp_ftrwrite, /* implemented by Perl_pp_ftrread */ Perl_pp_ftrexec, /* implemented by Perl_pp_ftrread */ Perl_pp_fteread, /* implemented by Perl_pp_ftrread */ Perl_pp_ftewrite, /* implemented by Perl_pp_ftrread */ Perl_pp_fteexec, /* implemented by Perl_pp_ftrread */ Perl_pp_ftis, Perl_pp_ftsize, /* implemented by Perl_pp_ftis */ Perl_pp_ftmtime, /* implemented by Perl_pp_ftis */ Perl_pp_ftatime, /* implemented by Perl_pp_ftis */ Perl_pp_ftctime, /* implemented by Perl_pp_ftis */ Perl_pp_ftrowned, Perl_pp_fteowned, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftzero, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftsock, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftchr, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftblk, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftfile, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftdir, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftpipe, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftsuid, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftsgid, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftsvtx, /* implemented by Perl_pp_ftrowned */ Perl_pp_ftlink, Perl_pp_fttty, Perl_pp_fttext, Perl_pp_ftbinary, /* implemented by Perl_pp_fttext */ Perl_pp_chdir, Perl_pp_chown, Perl_pp_chroot, Perl_pp_unlink, /* implemented by Perl_pp_chown */ Perl_pp_chmod, /* implemented by Perl_pp_chown */ Perl_pp_utime, /* implemented by Perl_pp_chown */ Perl_pp_rename, Perl_pp_link, Perl_pp_symlink, /* implemented by Perl_pp_link */ Perl_pp_readlink, Perl_pp_mkdir, Perl_pp_rmdir, Perl_pp_open_dir, Perl_pp_readdir, Perl_pp_telldir, Perl_pp_seekdir, Perl_pp_rewinddir, Perl_pp_closedir, Perl_pp_fork, Perl_pp_wait, Perl_pp_waitpid, Perl_pp_system, Perl_pp_exec, Perl_pp_kill, /* implemented by Perl_pp_chown */ Perl_pp_getppid, Perl_pp_getpgrp, Perl_pp_setpgrp, Perl_pp_getpriority, Perl_pp_setpriority, Perl_pp_time, Perl_pp_tms, Perl_pp_localtime, /* implemented by Perl_pp_gmtime */ Perl_pp_gmtime, Perl_pp_alarm, Perl_pp_sleep, Perl_pp_shmget, /* implemented by Perl_pp_semget */ Perl_pp_shmctl, /* implemented by Perl_pp_semctl */ Perl_pp_shmread, /* implemented by Perl_pp_shmwrite */ Perl_pp_shmwrite, Perl_pp_msgget, /* implemented by Perl_pp_semget */ Perl_pp_msgctl, /* implemented by Perl_pp_semctl */ Perl_pp_msgsnd, /* implemented by Perl_pp_shmwrite */ Perl_pp_msgrcv, /* implemented by Perl_pp_shmwrite */ Perl_pp_semop, /* implemented by Perl_pp_shmwrite */ Perl_pp_semget, Perl_pp_semctl, Perl_pp_require, Perl_pp_dofile, /* implemented by Perl_pp_require */ Perl_pp_hintseval, Perl_pp_entereval, Perl_pp_leaveeval, Perl_pp_entertry, Perl_pp_leavetry, Perl_pp_ghbyname, /* implemented by Perl_pp_ghostent */ Perl_pp_ghbyaddr, /* implemented by Perl_pp_ghostent */ Perl_pp_ghostent, Perl_pp_gnbyname, /* implemented by Perl_pp_gnetent */ Perl_pp_gnbyaddr, /* implemented by Perl_pp_gnetent */ Perl_pp_gnetent, Perl_pp_gpbyname, /* implemented by Perl_pp_gprotoent */ Perl_pp_gpbynumber, /* implemented by Perl_pp_gprotoent */ Perl_pp_gprotoent, Perl_pp_gsbyname, /* implemented by Perl_pp_gservent */ Perl_pp_gsbyport, /* implemented by Perl_pp_gservent */ Perl_pp_gservent, Perl_pp_shostent, Perl_pp_snetent, /* implemented by Perl_pp_shostent */ Perl_pp_sprotoent, /* implemented by Perl_pp_shostent */ Perl_pp_sservent, /* implemented by Perl_pp_shostent */ Perl_pp_ehostent, Perl_pp_enetent, /* implemented by Perl_pp_ehostent */ Perl_pp_eprotoent, /* implemented by Perl_pp_ehostent */ Perl_pp_eservent, /* implemented by Perl_pp_ehostent */ Perl_pp_gpwnam, /* implemented by Perl_pp_gpwent */ Perl_pp_gpwuid, /* implemented by Perl_pp_gpwent */ Perl_pp_gpwent, Perl_pp_spwent, /* implemented by Perl_pp_ehostent */ Perl_pp_epwent, /* implemented by Perl_pp_ehostent */ Perl_pp_ggrnam, /* implemented by Perl_pp_ggrent */ Perl_pp_ggrgid, /* implemented by Perl_pp_ggrent */ Perl_pp_ggrent, Perl_pp_sgrent, /* implemented by Perl_pp_ehostent */ Perl_pp_egrent, /* implemented by Perl_pp_ehostent */ Perl_pp_getlogin, Perl_pp_syscall, Perl_pp_lock, Perl_pp_once, Perl_pp_custom, /* implemented by Perl_unimplemented_op */ Perl_pp_coreargs, Perl_pp_avhvswitch, Perl_pp_runcv, Perl_pp_fc, Perl_pp_padcv, Perl_pp_introcv, Perl_pp_clonecv, Perl_pp_padrange, Perl_pp_refassign, Perl_pp_lvref, Perl_pp_lvrefslice, Perl_pp_lvavref, Perl_pp_anonconst, Perl_pp_isa, Perl_pp_cmpchain_and, Perl_pp_cmpchain_dup, } #endif #ifdef PERL_PPADDR_INITED ; #endif #ifdef PERL_GLOBAL_STRUCT_INIT # define PERL_CHECK_INITED static const Perl_check_t Gcheck[] #elif !defined(PERL_GLOBAL_STRUCT) # define PERL_CHECK_INITED EXT Perl_check_t PL_check[] /* or perlvars.h */ #endif #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT) # define PERL_CHECK_INITED = { Perl_ck_null, /* null */ Perl_ck_null, /* stub */ Perl_ck_fun, /* scalar */ Perl_ck_null, /* pushmark */ Perl_ck_null, /* wantarray */ Perl_ck_svconst, /* const */ Perl_ck_null, /* gvsv */ Perl_ck_null, /* gv */ Perl_ck_null, /* gelem */ Perl_ck_null, /* padsv */ Perl_ck_null, /* padav */ Perl_ck_null, /* padhv */ Perl_ck_null, /* padany */ Perl_ck_rvconst, /* rv2gv */ Perl_ck_rvconst, /* rv2sv */ Perl_ck_null, /* av2arylen */ Perl_ck_rvconst, /* rv2cv */ Perl_ck_anoncode, /* anoncode */ Perl_ck_prototype, /* prototype */ Perl_ck_spair, /* refgen */ Perl_ck_null, /* srefgen */ Perl_ck_fun, /* ref */ Perl_ck_fun, /* bless */ Perl_ck_backtick, /* backtick */ Perl_ck_glob, /* glob */ Perl_ck_readline, /* readline */ Perl_ck_null, /* rcatline */ Perl_ck_fun, /* regcmaybe */ Perl_ck_fun, /* regcreset */ Perl_ck_null, /* regcomp */ Perl_ck_match, /* match */ Perl_ck_match, /* qr */ Perl_ck_match, /* subst */ Perl_ck_null, /* substcont */ Perl_ck_match, /* trans */ Perl_ck_match, /* transr */ Perl_ck_sassign, /* sassign */ Perl_ck_null, /* aassign */ Perl_ck_spair, /* chop */ Perl_ck_null, /* schop */ Perl_ck_spair, /* chomp */ Perl_ck_null, /* schomp */ Perl_ck_defined, /* defined */ Perl_ck_fun, /* undef */ Perl_ck_fun, /* study */ Perl_ck_fun, /* pos */ Perl_ck_lfun, /* preinc */ Perl_ck_lfun, /* i_preinc */ Perl_ck_lfun, /* predec */ Perl_ck_lfun, /* i_predec */ Perl_ck_lfun, /* postinc */ Perl_ck_lfun, /* i_postinc */ Perl_ck_lfun, /* postdec */ Perl_ck_lfun, /* i_postdec */ Perl_ck_null, /* pow */ Perl_ck_null, /* multiply */ Perl_ck_null, /* i_multiply */ Perl_ck_null, /* divide */ Perl_ck_null, /* i_divide */ Perl_ck_null, /* modulo */ Perl_ck_null, /* i_modulo */ Perl_ck_repeat, /* repeat */ Perl_ck_null, /* add */ Perl_ck_null, /* i_add */ Perl_ck_null, /* subtract */ Perl_ck_null, /* i_subtract */ Perl_ck_concat, /* concat */ Perl_ck_null, /* multiconcat */ Perl_ck_stringify, /* stringify */ Perl_ck_bitop, /* left_shift */ Perl_ck_bitop, /* right_shift */ Perl_ck_cmp, /* lt */ Perl_ck_cmp, /* i_lt */ Perl_ck_cmp, /* gt */ Perl_ck_cmp, /* i_gt */ Perl_ck_cmp, /* le */ Perl_ck_cmp, /* i_le */ Perl_ck_cmp, /* ge */ Perl_ck_cmp, /* i_ge */ Perl_ck_cmp, /* eq */ Perl_ck_cmp, /* i_eq */ Perl_ck_cmp, /* ne */ Perl_ck_cmp, /* i_ne */ Perl_ck_null, /* ncmp */ Perl_ck_null, /* i_ncmp */ Perl_ck_null, /* slt */ Perl_ck_null, /* sgt */ Perl_ck_null, /* sle */ Perl_ck_null, /* sge */ Perl_ck_null, /* seq */ Perl_ck_null, /* sne */ Perl_ck_null, /* scmp */ Perl_ck_bitop, /* bit_and */ Perl_ck_bitop, /* bit_xor */ Perl_ck_bitop, /* bit_or */ Perl_ck_bitop, /* nbit_and */ Perl_ck_bitop, /* nbit_xor */ Perl_ck_bitop, /* nbit_or */ Perl_ck_bitop, /* sbit_and */ Perl_ck_bitop, /* sbit_xor */ Perl_ck_bitop, /* sbit_or */ Perl_ck_null, /* negate */ Perl_ck_null, /* i_negate */ Perl_ck_null, /* not */ Perl_ck_bitop, /* complement */ Perl_ck_bitop, /* ncomplement */ Perl_ck_null, /* scomplement */ Perl_ck_smartmatch, /* smartmatch */ Perl_ck_fun, /* atan2 */ Perl_ck_fun, /* sin */ Perl_ck_fun, /* cos */ Perl_ck_fun, /* rand */ Perl_ck_fun, /* srand */ Perl_ck_fun, /* exp */ Perl_ck_fun, /* log */ Perl_ck_fun, /* sqrt */ Perl_ck_fun, /* int */ Perl_ck_fun, /* hex */ Perl_ck_fun, /* oct */ Perl_ck_fun, /* abs */ Perl_ck_length, /* length */ Perl_ck_substr, /* substr */ Perl_ck_fun, /* vec */ Perl_ck_index, /* index */ Perl_ck_index, /* rindex */ Perl_ck_lfun, /* sprintf */ Perl_ck_fun, /* formline */ Perl_ck_fun, /* ord */ Perl_ck_fun, /* chr */ Perl_ck_fun, /* crypt */ Perl_ck_fun, /* ucfirst */ Perl_ck_fun, /* lcfirst */ Perl_ck_fun, /* uc */ Perl_ck_fun, /* lc */ Perl_ck_fun, /* quotemeta */ Perl_ck_rvconst, /* rv2av */ Perl_ck_null, /* aelemfast */ Perl_ck_null, /* aelemfast_lex */ Perl_ck_null, /* aelem */ Perl_ck_null, /* aslice */ Perl_ck_null, /* kvaslice */ Perl_ck_each, /* aeach */ Perl_ck_each, /* avalues */ Perl_ck_each, /* akeys */ Perl_ck_each, /* each */ Perl_ck_each, /* values */ Perl_ck_each, /* keys */ Perl_ck_delete, /* delete */ Perl_ck_exists, /* exists */ Perl_ck_rvconst, /* rv2hv */ Perl_ck_null, /* helem */ Perl_ck_null, /* hslice */ Perl_ck_null, /* kvhslice */ Perl_ck_null, /* multideref */ Perl_ck_fun, /* unpack */ Perl_ck_fun, /* pack */ Perl_ck_split, /* split */ Perl_ck_join, /* join */ Perl_ck_null, /* list */ Perl_ck_null, /* lslice */ Perl_ck_fun, /* anonlist */ Perl_ck_fun, /* anonhash */ Perl_ck_fun, /* splice */ Perl_ck_fun, /* push */ Perl_ck_shift, /* pop */ Perl_ck_shift, /* shift */ Perl_ck_fun, /* unshift */ Perl_ck_sort, /* sort */ Perl_ck_fun, /* reverse */ Perl_ck_grep, /* grepstart */ Perl_ck_null, /* grepwhile */ Perl_ck_grep, /* mapstart */ Perl_ck_null, /* mapwhile */ Perl_ck_null, /* range */ Perl_ck_null, /* flip */ Perl_ck_null, /* flop */ Perl_ck_null, /* and */ Perl_ck_null, /* or */ Perl_ck_null, /* xor */ Perl_ck_null, /* dor */ Perl_ck_null, /* cond_expr */ Perl_ck_null, /* andassign */ Perl_ck_null, /* orassign */ Perl_ck_null, /* dorassign */ Perl_ck_subr, /* entersub */ Perl_ck_null, /* leavesub */ Perl_ck_null, /* leavesublv */ Perl_ck_null, /* argcheck */ Perl_ck_null, /* argelem */ Perl_ck_null, /* argdefelem */ Perl_ck_fun, /* caller */ Perl_ck_fun, /* warn */ Perl_ck_fun, /* die */ Perl_ck_fun, /* reset */ Perl_ck_null, /* lineseq */ Perl_ck_null, /* nextstate */ Perl_ck_null, /* dbstate */ Perl_ck_null, /* unstack */ Perl_ck_null, /* enter */ Perl_ck_null, /* leave */ Perl_ck_null, /* scope */ Perl_ck_null, /* enteriter */ Perl_ck_null, /* iter */ Perl_ck_null, /* enterloop */ Perl_ck_null, /* leaveloop */ Perl_ck_return, /* return */ Perl_ck_null, /* last */ Perl_ck_null, /* next */ Perl_ck_null, /* redo */ Perl_ck_null, /* dump */ Perl_ck_null, /* goto */ Perl_ck_fun, /* exit */ Perl_ck_method, /* method */ Perl_ck_null, /* method_named */ Perl_ck_null, /* method_super */ Perl_ck_null, /* method_redir */ Perl_ck_null, /* method_redir_super */ Perl_ck_null, /* entergiven */ Perl_ck_null, /* leavegiven */ Perl_ck_null, /* enterwhen */ Perl_ck_null, /* leavewhen */ Perl_ck_null, /* break */ Perl_ck_null, /* continue */ Perl_ck_open, /* open */ Perl_ck_fun, /* close */ Perl_ck_fun, /* pipe_op */ Perl_ck_fun, /* fileno */ Perl_ck_fun, /* umask */ Perl_ck_fun, /* binmode */ Perl_ck_fun, /* tie */ Perl_ck_fun, /* untie */ Perl_ck_fun, /* tied */ Perl_ck_fun, /* dbmopen */ Perl_ck_fun, /* dbmclose */ Perl_ck_select, /* sselect */ Perl_ck_select, /* select */ Perl_ck_eof, /* getc */ Perl_ck_fun, /* read */ Perl_ck_fun, /* enterwrite */ Perl_ck_null, /* leavewrite */ Perl_ck_listiob, /* prtf */ Perl_ck_listiob, /* print */ Perl_ck_listiob, /* say */ Perl_ck_fun, /* sysopen */ Perl_ck_fun, /* sysseek */ Perl_ck_fun, /* sysread */ Perl_ck_fun, /* syswrite */ Perl_ck_eof, /* eof */ Perl_ck_tell, /* tell */ Perl_ck_tell, /* seek */ Perl_ck_trunc, /* truncate */ Perl_ck_fun, /* fcntl */ Perl_ck_fun, /* ioctl */ Perl_ck_fun, /* flock */ Perl_ck_fun, /* send */ Perl_ck_fun, /* recv */ Perl_ck_fun, /* socket */ Perl_ck_fun, /* sockpair */ Perl_ck_fun, /* bind */ Perl_ck_fun, /* connect */ Perl_ck_fun, /* listen */ Perl_ck_fun, /* accept */ Perl_ck_fun, /* shutdown */ Perl_ck_fun, /* gsockopt */ Perl_ck_fun, /* ssockopt */ Perl_ck_fun, /* getsockname */ Perl_ck_fun, /* getpeername */ Perl_ck_ftst, /* lstat */ Perl_ck_ftst, /* stat */ Perl_ck_ftst, /* ftrread */ Perl_ck_ftst, /* ftrwrite */ Perl_ck_ftst, /* ftrexec */ Perl_ck_ftst, /* fteread */ Perl_ck_ftst, /* ftewrite */ Perl_ck_ftst, /* fteexec */ Perl_ck_ftst, /* ftis */ Perl_ck_ftst, /* ftsize */ Perl_ck_ftst, /* ftmtime */ Perl_ck_ftst, /* ftatime */ Perl_ck_ftst, /* ftctime */ Perl_ck_ftst, /* ftrowned */ Perl_ck_ftst, /* fteowned */ Perl_ck_ftst, /* ftzero */ Perl_ck_ftst, /* ftsock */ Perl_ck_ftst, /* ftchr */ Perl_ck_ftst, /* ftblk */ Perl_ck_ftst, /* ftfile */ Perl_ck_ftst, /* ftdir */ Perl_ck_ftst, /* ftpipe */ Perl_ck_ftst, /* ftsuid */ Perl_ck_ftst, /* ftsgid */ Perl_ck_ftst, /* ftsvtx */ Perl_ck_ftst, /* ftlink */ Perl_ck_ftst, /* fttty */ Perl_ck_ftst, /* fttext */ Perl_ck_ftst, /* ftbinary */ Perl_ck_trunc, /* chdir */ Perl_ck_fun, /* chown */ Perl_ck_fun, /* chroot */ Perl_ck_fun, /* unlink */ Perl_ck_fun, /* chmod */ Perl_ck_fun, /* utime */ Perl_ck_fun, /* rename */ Perl_ck_fun, /* link */ Perl_ck_fun, /* symlink */ Perl_ck_fun, /* readlink */ Perl_ck_fun, /* mkdir */ Perl_ck_fun, /* rmdir */ Perl_ck_fun, /* open_dir */ Perl_ck_fun, /* readdir */ Perl_ck_fun, /* telldir */ Perl_ck_fun, /* seekdir */ Perl_ck_fun, /* rewinddir */ Perl_ck_fun, /* closedir */ Perl_ck_null, /* fork */ Perl_ck_null, /* wait */ Perl_ck_fun, /* waitpid */ Perl_ck_exec, /* system */ Perl_ck_exec, /* exec */ Perl_ck_fun, /* kill */ Perl_ck_null, /* getppid */ Perl_ck_fun, /* getpgrp */ Perl_ck_fun, /* setpgrp */ Perl_ck_fun, /* getpriority */ Perl_ck_fun, /* setpriority */ Perl_ck_null, /* time */ Perl_ck_null, /* tms */ Perl_ck_fun, /* localtime */ Perl_ck_fun, /* gmtime */ Perl_ck_fun, /* alarm */ Perl_ck_fun, /* sleep */ Perl_ck_fun, /* shmget */ Perl_ck_fun, /* shmctl */ Perl_ck_fun, /* shmread */ Perl_ck_fun, /* shmwrite */ Perl_ck_fun, /* msgget */ Perl_ck_fun, /* msgctl */ Perl_ck_fun, /* msgsnd */ Perl_ck_fun, /* msgrcv */ Perl_ck_fun, /* semop */ Perl_ck_fun, /* semget */ Perl_ck_fun, /* semctl */ Perl_ck_require, /* require */ Perl_ck_fun, /* dofile */ Perl_ck_svconst, /* hintseval */ Perl_ck_eval, /* entereval */ Perl_ck_null, /* leaveeval */ Perl_ck_eval, /* entertry */ Perl_ck_null, /* leavetry */ Perl_ck_fun, /* ghbyname */ Perl_ck_fun, /* ghbyaddr */ Perl_ck_null, /* ghostent */ Perl_ck_fun, /* gnbyname */ Perl_ck_fun, /* gnbyaddr */ Perl_ck_null, /* gnetent */ Perl_ck_fun, /* gpbyname */ Perl_ck_fun, /* gpbynumber */ Perl_ck_null, /* gprotoent */ Perl_ck_fun, /* gsbyname */ Perl_ck_fun, /* gsbyport */ Perl_ck_null, /* gservent */ Perl_ck_fun, /* shostent */ Perl_ck_fun, /* snetent */ Perl_ck_fun, /* sprotoent */ Perl_ck_fun, /* sservent */ Perl_ck_null, /* ehostent */ Perl_ck_null, /* enetent */ Perl_ck_null, /* eprotoent */ Perl_ck_null, /* eservent */ Perl_ck_fun, /* gpwnam */ Perl_ck_fun, /* gpwuid */ Perl_ck_null, /* gpwent */ Perl_ck_null, /* spwent */ Perl_ck_null, /* epwent */ Perl_ck_fun, /* ggrnam */ Perl_ck_fun, /* ggrgid */ Perl_ck_null, /* ggrent */ Perl_ck_null, /* sgrent */ Perl_ck_null, /* egrent */ Perl_ck_null, /* getlogin */ Perl_ck_fun, /* syscall */ Perl_ck_rfun, /* lock */ Perl_ck_null, /* once */ Perl_ck_null, /* custom */ Perl_ck_null, /* coreargs */ Perl_ck_null, /* avhvswitch */ Perl_ck_null, /* runcv */ Perl_ck_fun, /* fc */ Perl_ck_null, /* padcv */ Perl_ck_null, /* introcv */ Perl_ck_null, /* clonecv */ Perl_ck_null, /* padrange */ Perl_ck_refassign, /* refassign */ Perl_ck_null, /* lvref */ Perl_ck_null, /* lvrefslice */ Perl_ck_null, /* lvavref */ Perl_ck_null, /* anonconst */ Perl_ck_isa, /* isa */ Perl_ck_null, /* cmpchain_and */ Perl_ck_null, /* cmpchain_dup */ } #endif #ifdef PERL_CHECK_INITED ; #endif /* #ifdef PERL_CHECK_INITED */ #ifndef PERL_GLOBAL_STRUCT_INIT #ifndef DOINIT EXTCONST U32 PL_opargs[]; #else EXTCONST U32 PL_opargs[] = { 0x00000000, /* null */ 0x00000000, /* stub */ 0x00001b04, /* scalar */ 0x00000004, /* pushmark */ 0x00000004, /* wantarray */ 0x00000604, /* const */ 0x00000644, /* gvsv */ 0x00000644, /* gv */ 0x00011244, /* gelem */ 0x00000044, /* padsv */ 0x00000040, /* padav */ 0x00000040, /* padhv */ 0x00000040, /* padany */ 0x00000144, /* rv2gv */ 0x00000144, /* rv2sv */ 0x00000104, /* av2arylen */ 0x00000140, /* rv2cv */ 0x00000604, /* anoncode */ 0x00009b84, /* prototype */ 0x00002101, /* refgen */ 0x00001106, /* srefgen */ 0x00009b8c, /* ref */ 0x00091404, /* bless */ 0x00009b88, /* backtick */ 0x00009408, /* glob */ 0x0000eb08, /* readline */ 0x00000608, /* rcatline */ 0x00001104, /* regcmaybe */ 0x00001104, /* regcreset */ 0x00001304, /* regcomp */ 0x00000500, /* match */ 0x00000504, /* qr */ 0x00001504, /* subst */ 0x00000304, /* substcont */ 0x00001804, /* trans */ 0x00001804, /* transr */ 0x00011204, /* sassign */ 0x00022208, /* aassign */ 0x00002b0d, /* chop */ 0x00009b8c, /* schop */ 0x00002b1d, /* chomp */ 0x00009b9c, /* schomp */ 0x00009b84, /* defined */ 0x0000fb04, /* undef */ 0x00009b84, /* study */ 0x0000fb8c, /* pos */ 0x00001164, /* preinc */ 0x00001144, /* i_preinc */ 0x00001164, /* predec */ 0x00001144, /* i_predec */ 0x0000112c, /* postinc */ 0x0000110c, /* i_postinc */ 0x0000112c, /* postdec */ 0x0000110c, /* i_postdec */ 0x0001121e, /* pow */ 0x0001123e, /* multiply */ 0x0001121e, /* i_multiply */ 0x0001123e, /* divide */ 0x0001121e, /* i_divide */ 0x0001123e, /* modulo */ 0x0001121e, /* i_modulo */ 0x0001220b, /* repeat */ 0x0001123e, /* add */ 0x0001121e, /* i_add */ 0x0001123e, /* subtract */ 0x0001121e, /* i_subtract */ 0x0001121e, /* concat */ 0x00000f1c, /* multiconcat */ 0x0000141e, /* stringify */ 0x0001121e, /* left_shift */ 0x0001121e, /* right_shift */ 0x00011226, /* lt */ 0x00011206, /* i_lt */ 0x00011226, /* gt */ 0x00011206, /* i_gt */ 0x00011226, /* le */ 0x00011206, /* i_le */ 0x00011226, /* ge */ 0x00011206, /* i_ge */ 0x00011226, /* eq */ 0x00011206, /* i_eq */ 0x00011226, /* ne */ 0x00011206, /* i_ne */ 0x0001122e, /* ncmp */ 0x0001120e, /* i_ncmp */ 0x00011206, /* slt */ 0x00011206, /* sgt */ 0x00011206, /* sle */ 0x00011206, /* sge */ 0x00011206, /* seq */ 0x00011206, /* sne */ 0x0001120e, /* scmp */ 0x0001120e, /* bit_and */ 0x0001120e, /* bit_xor */ 0x0001120e, /* bit_or */ 0x0001121e, /* nbit_and */ 0x0001121e, /* nbit_xor */ 0x0001121e, /* nbit_or */ 0x0001120e, /* sbit_and */ 0x0001120e, /* sbit_xor */ 0x0001120e, /* sbit_or */ 0x0000112e, /* negate */ 0x0000110e, /* i_negate */ 0x00001106, /* not */ 0x0000110e, /* complement */ 0x0000111e, /* ncomplement */ 0x0000111e, /* scomplement */ 0x00000204, /* smartmatch */ 0x0001141e, /* atan2 */ 0x00009b9e, /* sin */ 0x00009b9e, /* cos */ 0x00009b1c, /* rand */ 0x00009b1c, /* srand */ 0x00009b9e, /* exp */ 0x00009b9e, /* log */ 0x00009b9e, /* sqrt */ 0x00009b9e, /* int */ 0x00009b9e, /* hex */ 0x00009b9e, /* oct */ 0x00009b9e, /* abs */ 0x00009b9e, /* length */ 0x0991140c, /* substr */ 0x0011140c, /* vec */ 0x0091141c, /* index */ 0x0091141c, /* rindex */ 0x0002140f, /* sprintf */ 0x00021405, /* formline */ 0x00009b9e, /* ord */ 0x00009b9e, /* chr */ 0x0001141e, /* crypt */ 0x00009b8e, /* ucfirst */ 0x00009b8e, /* lcfirst */ 0x00009b8e, /* uc */ 0x00009b8e, /* lc */ 0x00009b8e, /* quotemeta */ 0x00000148, /* rv2av */ 0x00013644, /* aelemfast */ 0x00013040, /* aelemfast_lex */ 0x00013204, /* aelem */ 0x00023401, /* aslice */ 0x00023401, /* kvaslice */ 0x00003b40, /* aeach */ 0x00003b48, /* avalues */ 0x00003b08, /* akeys */ 0x00004b40, /* each */ 0x00004b48, /* values */ 0x00004b08, /* keys */ 0x00001b00, /* delete */ 0x00001b04, /* exists */ 0x00000148, /* rv2hv */ 0x00014204, /* helem */ 0x00024401, /* hslice */ 0x00024401, /* kvhslice */ 0x00000f44, /* multideref */ 0x00091480, /* unpack */ 0x0002140f, /* pack */ 0x00111508, /* split */ 0x0002140f, /* join */ 0x00002401, /* list */ 0x00224200, /* lslice */ 0x00002405, /* anonlist */ 0x00002405, /* anonhash */ 0x02993401, /* splice */ 0x0002341d, /* push */ 0x0000bb04, /* pop */ 0x0000bb04, /* shift */ 0x0002341d, /* unshift */ 0x0002d401, /* sort */ 0x00002409, /* reverse */ 0x00025401, /* grepstart */ 0x00000308, /* grepwhile */ 0x00025401, /* mapstart */ 0x00000308, /* mapwhile */ 0x00011300, /* range */ 0x00011100, /* flip */ 0x00000100, /* flop */ 0x00000300, /* and */ 0x00000300, /* or */ 0x00011206, /* xor */ 0x00000300, /* dor */ 0x00000300, /* cond_expr */ 0x00000304, /* andassign */ 0x00000304, /* orassign */ 0x00000304, /* dorassign */ 0x00002141, /* entersub */ 0x00000100, /* leavesub */ 0x00000100, /* leavesublv */ 0x00000f00, /* argcheck */ 0x00000f00, /* argelem */ 0x00000300, /* argdefelem */ 0x00009b08, /* caller */ 0x0000240d, /* warn */ 0x0000240d, /* die */ 0x00009b04, /* reset */ 0x00000400, /* lineseq */ 0x00000a04, /* nextstate */ 0x00000a04, /* dbstate */ 0x00000004, /* unstack */ 0x00000000, /* enter */ 0x00000400, /* leave */ 0x00000400, /* scope */ 0x00000940, /* enteriter */ 0x00000000, /* iter */ 0x00000940, /* enterloop */ 0x00000200, /* leaveloop */ 0x00002401, /* return */ 0x00000d04, /* last */ 0x00000d04, /* next */ 0x00000d04, /* redo */ 0x00000d44, /* dump */ 0x00000d04, /* goto */ 0x00009b04, /* exit */ 0x00000e40, /* method */ 0x00000e40, /* method_named */ 0x00000e40, /* method_super */ 0x00000e40, /* method_redir */ 0x00000e40, /* method_redir_super */ 0x00000340, /* entergiven */ 0x00000100, /* leavegiven */ 0x00000340, /* enterwhen */ 0x00000100, /* leavewhen */ 0x00000000, /* break */ 0x00000000, /* continue */ 0x0029640d, /* open */ 0x0000eb04, /* close */ 0x00066404, /* pipe_op */ 0x00006b0c, /* fileno */ 0x00009b0c, /* umask */ 0x00096404, /* binmode */ 0x00217445, /* tie */ 0x00007b04, /* untie */ 0x00007b44, /* tied */ 0x00114404, /* dbmopen */ 0x00004b04, /* dbmclose */ 0x01111408, /* sselect */ 0x0000e40c, /* select */ 0x0000eb0c, /* getc */ 0x0917640d, /* read */ 0x0000eb04, /* enterwrite */ 0x00000100, /* leavewrite */ 0x0002e405, /* prtf */ 0x0002e405, /* print */ 0x0002e405, /* say */ 0x09116404, /* sysopen */ 0x00116404, /* sysseek */ 0x0917640d, /* sysread */ 0x0991640d, /* syswrite */ 0x0000eb04, /* eof */ 0x0000eb0c, /* tell */ 0x00116404, /* seek */ 0x00011404, /* truncate */ 0x0011640c, /* fcntl */ 0x0011640c, /* ioctl */ 0x0001641c, /* flock */ 0x0911640d, /* send */ 0x0117640d, /* recv */ 0x01116404, /* socket */ 0x11166404, /* sockpair */ 0x00016404, /* bind */ 0x00016404, /* connect */ 0x00016404, /* listen */ 0x0006640c, /* accept */ 0x0001640c, /* shutdown */ 0x00116404, /* gsockopt */ 0x01116404, /* ssockopt */ 0x00006b04, /* getsockname */ 0x00006b04, /* getpeername */ 0x0000ec80, /* lstat */ 0x0000ec80, /* stat */ 0x00006c84, /* ftrread */ 0x00006c84, /* ftrwrite */ 0x00006c84, /* ftrexec */ 0x00006c84, /* fteread */ 0x00006c84, /* ftewrite */ 0x00006c84, /* fteexec */ 0x00006c84, /* ftis */ 0x00006c8c, /* ftsize */ 0x00006c8c, /* ftmtime */ 0x00006c8c, /* ftatime */ 0x00006c8c, /* ftctime */ 0x00006c84, /* ftrowned */ 0x00006c84, /* fteowned */ 0x00006c84, /* ftzero */ 0x00006c84, /* ftsock */ 0x00006c84, /* ftchr */ 0x00006c84, /* ftblk */ 0x00006c84, /* ftfile */ 0x00006c84, /* ftdir */ 0x00006c84, /* ftpipe */ 0x00006c84, /* ftsuid */ 0x00006c84, /* ftsgid */ 0x00006c84, /* ftsvtx */ 0x00006c84, /* ftlink */ 0x00006c04, /* fttty */ 0x00006c84, /* fttext */ 0x00006c84, /* ftbinary */ 0x00009b1c, /* chdir */ 0x0000241d, /* chown */ 0x00009b9c, /* chroot */ 0x0000249d, /* unlink */ 0x0000241d, /* chmod */ 0x0000241d, /* utime */ 0x0001141c, /* rename */ 0x0001141c, /* link */ 0x0001141c, /* symlink */ 0x00009b8c, /* readlink */ 0x0009949c, /* mkdir */ 0x00009b9c, /* rmdir */ 0x00016404, /* open_dir */ 0x00006b00, /* readdir */ 0x00006b0c, /* telldir */ 0x00016404, /* seekdir */ 0x00006b04, /* rewinddir */ 0x00006b04, /* closedir */ 0x0000000c, /* fork */ 0x0000001c, /* wait */ 0x0001141c, /* waitpid */ 0x0002941d, /* system */ 0x0002941d, /* exec */ 0x0000241d, /* kill */ 0x0000001c, /* getppid */ 0x00009b1c, /* getpgrp */ 0x0009941c, /* setpgrp */ 0x0001141c, /* getpriority */ 0x0011141c, /* setpriority */ 0x0000001c, /* time */ 0x00000000, /* tms */ 0x00009b08, /* localtime */ 0x00009b08, /* gmtime */ 0x00009b8c, /* alarm */ 0x00009b1c, /* sleep */ 0x0011140d, /* shmget */ 0x0011140d, /* shmctl */ 0x0111140d, /* shmread */ 0x0111140d, /* shmwrite */ 0x0001140d, /* msgget */ 0x0011140d, /* msgctl */ 0x0011140d, /* msgsnd */ 0x1111140d, /* msgrcv */ 0x0001140d, /* semop */ 0x0011140d, /* semget */ 0x0111140d, /* semctl */ 0x00009bc4, /* require */ 0x00001140, /* dofile */ 0x00000604, /* hintseval */ 0x00009bc0, /* entereval */ 0x00001100, /* leaveeval */ 0x00000340, /* entertry */ 0x00000400, /* leavetry */ 0x00001b00, /* ghbyname */ 0x00011400, /* ghbyaddr */ 0x00000000, /* ghostent */ 0x00001b00, /* gnbyname */ 0x00011400, /* gnbyaddr */ 0x00000000, /* gnetent */ 0x00001b00, /* gpbyname */ 0x00001400, /* gpbynumber */ 0x00000000, /* gprotoent */ 0x00011400, /* gsbyname */ 0x00011400, /* gsbyport */ 0x00000000, /* gservent */ 0x00001b04, /* shostent */ 0x00001b04, /* snetent */ 0x00001b04, /* sprotoent */ 0x00001b04, /* sservent */ 0x00000004, /* ehostent */ 0x00000004, /* enetent */ 0x00000004, /* eprotoent */ 0x00000004, /* eservent */ 0x00001b00, /* gpwnam */ 0x00001b00, /* gpwuid */ 0x00000000, /* gpwent */ 0x00000004, /* spwent */ 0x00000004, /* epwent */ 0x00001b00, /* ggrnam */ 0x00001b00, /* ggrgid */ 0x00000000, /* ggrent */ 0x00000004, /* sgrent */ 0x00000004, /* egrent */ 0x0000000c, /* getlogin */ 0x0002140d, /* syscall */ 0x00007b04, /* lock */ 0x00000300, /* once */ 0x00000000, /* custom */ 0x00000600, /* coreargs */ 0x00000108, /* avhvswitch */ 0x00000004, /* runcv */ 0x00009b8e, /* fc */ 0x00000040, /* padcv */ 0x00000040, /* introcv */ 0x00000040, /* clonecv */ 0x00000040, /* padrange */ 0x00000244, /* refassign */ 0x00000b40, /* lvref */ 0x00000440, /* lvrefslice */ 0x00000b40, /* lvavref */ 0x00000144, /* anonconst */ 0x00000204, /* isa */ 0x00000300, /* cmpchain_and */ 0x00000100, /* cmpchain_dup */ }; #endif #endif /* !PERL_GLOBAL_STRUCT_INIT */ END_EXTERN_C #define OPpARGELEM_SV 0x00 #define OPpLVREF_SV 0x00 #define OPpARG1_MASK 0x01 #define OPpCOREARGS_DEREF1 0x01 #define OPpENTERSUB_INARGS 0x01 #define OPpPADHV_ISKEYS 0x01 #define OPpRV2HV_ISKEYS 0x01 #define OPpSORT_NUMERIC 0x01 #define OPpTRANS_CAN_FORCE_UTF8 0x01 #define OPpARGELEM_AV 0x02 #define OPpCONST_NOVER 0x02 #define OPpCOREARGS_DEREF2 0x02 #define OPpEVAL_HAS_HH 0x02 #define OPpFT_ACCESS 0x02 #define OPpHINT_STRICT_REFS 0x02 #define OPpITER_REVERSED 0x02 #define OPpSORT_INTEGER 0x02 #define OPpTRANS_USE_SVOP 0x02 #define OPpARG2_MASK 0x03 #define OPpAVHVSWITCH_MASK 0x03 #define OPpARGELEM_HV 0x04 #define OPpASSIGN_TRUEBOOL 0x04 #define OPpCONST_SHORTCIRCUIT 0x04 #define OPpDONT_INIT_GV 0x04 #define OPpENTERSUB_HASTARG 0x04 #define OPpEVAL_UNICODE 0x04 #define OPpFT_STACKED 0x04 #define OPpLVREF_ELEM 0x04 #define OPpSLICEWARNING 0x04 #define OPpSORT_REVERSE 0x04 #define OPpSPLIT_IMPLIM 0x04 #define OPpTRANS_IDENTICAL 0x04 #define OPpARGELEM_MASK 0x06 #define OPpARG3_MASK 0x07 #define OPpPADRANGE_COUNTSHIFT 0x07 #define OPpCONST_STRICT 0x08 #define OPpENTERSUB_AMPER 0x08 #define OPpEVAL_BYTES 0x08 #define OPpFT_STACKING 0x08 #define OPpITER_DEF 0x08 #define OPpLVREF_ITER 0x08 #define OPpMAYBE_LVSUB 0x08 #define OPpMULTICONCAT_STRINGIFY 0x08 #define OPpREVERSE_INPLACE 0x08 #define OPpSORT_INPLACE 0x08 #define OPpSPLIT_LEX 0x08 #define OPpTRANS_SQUASH 0x08 #define OPpARG4_MASK 0x0f #define OPpASSIGN_COMMON_AGG 0x10 #define OPpCONST_ENTERED 0x10 #define OPpDEREF_AV 0x10 #define OPpEVAL_COPHH 0x10 #define OPpFT_AFTER_t 0x10 #define OPpLVREF_AV 0x10 #define OPpMAYBE_TRUEBOOL 0x10 #define OPpMULTIDEREF_EXISTS 0x10 #define OPpOPEN_IN_RAW 0x10 #define OPpSORT_DESCEND 0x10 #define OPpSPLIT_ASSIGN 0x10 #define OPpSUBSTR_REPL_FIRST 0x10 #define OPpTARGET_MY 0x10 #define OPpASSIGN_COMMON_RC1 0x20 #define OPpDEREF_HV 0x20 #define OPpEARLY_CV 0x20 #define OPpEVAL_RE_REPARSING 0x20 #define OPpHUSH_VMSISH 0x20 #define OPpKVSLICE 0x20 #define OPpLVREF_HV 0x20 #define OPpMAY_RETURN_CONSTANT 0x20 #define OPpMULTICONCAT_FAKE 0x20 #define OPpMULTIDEREF_DELETE 0x20 #define OPpOPEN_IN_CRLF 0x20 #define OPpTRANS_COMPLEMENT 0x20 #define OPpTRUEBOOL 0x20 #define OPpDEREF 0x30 #define OPpDEREF_SV 0x30 #define OPpLVREF_CV 0x30 #define OPpLVREF_TYPE 0x30 #define OPpALLOW_FAKE 0x40 #define OPpASSIGN_BACKWARDS 0x40 #define OPpASSIGN_COMMON_SCALAR 0x40 #define OPpCONCAT_NESTED 0x40 #define OPpCONST_BARE 0x40 #define OPpCOREARGS_SCALARMOD 0x40 #define OPpENTERSUB_DB 0x40 #define OPpEXISTS_SUB 0x40 #define OPpFLIP_LINENUM 0x40 #define OPpINDEX_BOOLNEG 0x40 #define OPpLIST_GUESSED 0x40 #define OPpLVAL_DEFER 0x40 #define OPpMULTICONCAT_APPEND 0x40 #define OPpOPEN_OUT_RAW 0x40 #define OPpOUR_INTRO 0x40 #define OPpPAD_STATE 0x40 #define OPpREFCOUNTED 0x40 #define OPpREPEAT_DOLIST 0x40 #define OPpSLICE 0x40 #define OPpSORT_STABLE 0x40 #define OPpTRANS_GROWS 0x40 #define OPpPADRANGE_COUNTMASK 0x7f #define OPpASSIGN_CV_TO_GV 0x80 #define OPpCOREARGS_PUSHMARK 0x80 #define OPpENTERSUB_NOPAREN 0x80 #define OPpLVALUE 0x80 #define OPpLVAL_INTRO 0x80 #define OPpOFFBYONE 0x80 #define OPpOPEN_OUT_CRLF 0x80 #define OPpPV_IS_UTF8 0x80 #define OPpSORT_UNSTABLE 0x80 #define OPpTRANS_DELETE 0x80 START_EXTERN_C #ifndef PERL_GLOBAL_STRUCT_INIT # ifndef DOINIT /* data about the flags in op_private */ EXTCONST I16 PL_op_private_bitdef_ix[]; EXTCONST U16 PL_op_private_bitdefs[]; EXTCONST char PL_op_private_labels[]; EXTCONST I16 PL_op_private_bitfields[]; EXTCONST U8 PL_op_private_valid[]; # else /* PL_op_private_labels[]: the short descriptions of private flags. * All labels are concatenated into a single char array * (separated by \0's) for compactness. */ EXTCONST char PL_op_private_labels[] = { '$','M','O','D','\0', '+','1','\0', '-','\0', 'A','M','P','E','R','\0', 'A','P','P','E','N','D','\0', 'A','S','S','I','G','N','\0', 'A','V','\0', 'B','A','R','E','\0', 'B','K','W','A','R','D','\0', 'B','O','O','L','\0', 'B','O','O','L','?','\0', 'B','Y','T','E','S','\0', 'C','A','N','_','F','O','R','C','E','_','U','T','F','8','\0', 'C','O','M','P','L','\0', 'C','O','M','_','A','G','G','\0', 'C','O','M','_','R','C','1','\0', 'C','O','M','_','S','C','A','L','A','R','\0', 'C','O','N','S','T','\0', 'C','O','P','H','H','\0', 'C','V','\0', 'C','V','2','G','V','\0', 'D','B','G','\0', 'D','E','F','\0', 'D','E','L','\0', 'D','E','L','E','T','E','\0', 'D','E','R','E','F','1','\0', 'D','E','R','E','F','2','\0', 'D','E','S','C','\0', 'D','O','L','I','S','T','\0', 'D','R','E','F','A','V','\0', 'D','R','E','F','H','V','\0', 'D','R','E','F','S','V','\0', 'E','A','R','L','Y','C','V','\0', 'E','L','E','M','\0', 'E','N','T','E','R','E','D','\0', 'E','X','I','S','T','S','\0', 'F','A','K','E','\0', 'F','T','A','C','C','E','S','S','\0', 'F','T','A','F','T','E','R','t','\0', 'F','T','S','T','A','C','K','E','D','\0', 'F','T','S','T','A','C','K','I','N','G','\0', 'G','R','O','W','S','\0', 'G','U','E','S','S','E','D','\0', 'H','A','S','_','H','H','\0', 'H','U','S','H','\0', 'H','V','\0', 'I','D','E','N','T','\0', 'I','M','P','L','I','M','\0', 'I','N','A','R','G','S','\0', 'I','N','B','I','N','\0', 'I','N','C','R','\0', 'I','N','P','L','A','C','E','\0', 'I','N','T','\0', 'I','T','E','R','\0', 'K','E','Y','S','\0', 'K','V','S','L','I','C','E','\0', 'L','E','X','\0', 'L','I','N','E','N','U','M','\0', 'L','V','\0', 'L','V','D','E','F','E','R','\0', 'L','V','I','N','T','R','O','\0', 'L','V','S','U','B','\0', 'M','A','R','K','\0', 'N','E','G','\0', 'N','E','S','T','E','D','\0', 'N','O','(',')','\0', 'N','O','I','N','I','T','\0', 'N','O','V','E','R','\0', 'N','U','M','\0', 'O','U','R','I','N','T','R','\0', 'O','U','T','B','I','N','\0', 'O','U','T','C','R','\0', 'R','E','F','C','\0', 'R','E','P','A','R','S','E','\0', 'R','E','P','L','1','S','T','\0', 'R','E','V','\0', 'R','E','V','E','R','S','E','D','\0', 'S','H','O','R','T','\0', 'S','L','I','C','E','\0', 'S','L','I','C','E','W','A','R','N','\0', 'S','Q','U','A','S','H','\0', 'S','T','A','B','L','E','\0', 'S','T','A','T','E','\0', 'S','T','R','I','C','T','\0', 'S','T','R','I','N','G','I','F','Y','\0', 'S','U','B','\0', 'S','V','\0', 'T','A','R','G','\0', 'T','A','R','G','M','Y','\0', 'U','N','I','\0', 'U','N','S','T','A','B','L','E','\0', 'U','S','E','_','S','V','O','P','\0', 'U','T','F','\0', 'k','e','y','\0', 'o','f','f','s','e','t','\0', 'r','a','n','g','e','\0', }; /* PL_op_private_bitfields[]: details about each bit field type. * Each definition consists of the following list of words: * bitmin * label (index into PL_op_private_labels[]; -1 if no label) * repeat for each enum entry (if any): * enum value * enum label (index into PL_op_private_labels[]) * -1 */ EXTCONST I16 PL_op_private_bitfields[] = { 0, 8, -1, 0, 8, -1, 0, 597, -1, 0, 8, -1, 0, 8, -1, 0, 604, -1, 0, 593, -1, 1, -1, 0, 552, 1, 30, 2, 295, -1, 4, -1, 1, 176, 2, 183, 3, 190, -1, 4, -1, 0, 552, 1, 30, 2, 295, 3, 122, -1, }; /* PL_op_private_bitdef_ix[]: map an op number to a starting position * in PL_op_private_bitdefs. If -1, the op has no bits defined */ EXTCONST I16 PL_op_private_bitdef_ix[] = { -1, /* null */ -1, /* stub */ 0, /* scalar */ 1, /* pushmark */ 3, /* wantarray */ 4, /* const */ 9, /* gvsv */ 11, /* gv */ 12, /* gelem */ 13, /* padsv */ 16, /* padav */ 21, /* padhv */ -1, /* padany */ 28, /* rv2gv */ 35, /* rv2sv */ 40, /* av2arylen */ 42, /* rv2cv */ -1, /* anoncode */ 0, /* prototype */ 0, /* refgen */ 0, /* srefgen */ 49, /* ref */ 52, /* bless */ 53, /* backtick */ 52, /* glob */ 0, /* readline */ -1, /* rcatline */ 0, /* regcmaybe */ 0, /* regcreset */ 0, /* regcomp */ -1, /* match */ -1, /* qr */ 58, /* subst */ 0, /* substcont */ 59, /* trans */ 59, /* transr */ 66, /* sassign */ 69, /* aassign */ 0, /* chop */ 0, /* schop */ 75, /* chomp */ 75, /* schomp */ 0, /* defined */ 0, /* undef */ 0, /* study */ 77, /* pos */ 0, /* preinc */ 0, /* i_preinc */ 0, /* predec */ 0, /* i_predec */ 0, /* postinc */ 0, /* i_postinc */ 0, /* postdec */ 0, /* i_postdec */ 80, /* pow */ 80, /* multiply */ 80, /* i_multiply */ 80, /* divide */ 80, /* i_divide */ 80, /* modulo */ 80, /* i_modulo */ 82, /* repeat */ 80, /* add */ 80, /* i_add */ 80, /* subtract */ 80, /* i_subtract */ 84, /* concat */ 87, /* multiconcat */ 93, /* stringify */ 80, /* left_shift */ 80, /* right_shift */ 12, /* lt */ 12, /* i_lt */ 12, /* gt */ 12, /* i_gt */ 12, /* le */ 12, /* i_le */ 12, /* ge */ 12, /* i_ge */ 12, /* eq */ 12, /* i_eq */ 12, /* ne */ 12, /* i_ne */ 12, /* ncmp */ 12, /* i_ncmp */ 12, /* slt */ 12, /* sgt */ 12, /* sle */ 12, /* sge */ 12, /* seq */ 12, /* sne */ 12, /* scmp */ 12, /* bit_and */ 12, /* bit_xor */ 12, /* bit_or */ 80, /* nbit_and */ 80, /* nbit_xor */ 80, /* nbit_or */ 12, /* sbit_and */ 12, /* sbit_xor */ 12, /* sbit_or */ 0, /* negate */ 0, /* i_negate */ 0, /* not */ 0, /* complement */ 75, /* ncomplement */ 75, /* scomplement */ 12, /* smartmatch */ 93, /* atan2 */ 75, /* sin */ 75, /* cos */ 93, /* rand */ 93, /* srand */ 75, /* exp */ 75, /* log */ 75, /* sqrt */ 75, /* int */ 75, /* hex */ 75, /* oct */ 75, /* abs */ 95, /* length */ 98, /* substr */ 101, /* vec */ 103, /* index */ 103, /* rindex */ 52, /* sprintf */ 52, /* formline */ 75, /* ord */ 75, /* chr */ 93, /* crypt */ 0, /* ucfirst */ 0, /* lcfirst */ 0, /* uc */ 0, /* lc */ 0, /* quotemeta */ 107, /* rv2av */ 114, /* aelemfast */ 114, /* aelemfast_lex */ 115, /* aelem */ 120, /* aslice */ 123, /* kvaslice */ 0, /* aeach */ 0, /* avalues */ 40, /* akeys */ 0, /* each */ 40, /* values */ 40, /* keys */ 124, /* delete */ 128, /* exists */ 130, /* rv2hv */ 115, /* helem */ 120, /* hslice */ 123, /* kvhslice */ 138, /* multideref */ 52, /* unpack */ 52, /* pack */ 145, /* split */ 52, /* join */ 150, /* list */ 12, /* lslice */ 52, /* anonlist */ 52, /* anonhash */ 52, /* splice */ 93, /* push */ 0, /* pop */ 0, /* shift */ 93, /* unshift */ 152, /* sort */ 159, /* reverse */ 0, /* grepstart */ 161, /* grepwhile */ 0, /* mapstart */ 0, /* mapwhile */ 0, /* range */ 163, /* flip */ 163, /* flop */ 0, /* and */ 0, /* or */ 12, /* xor */ 0, /* dor */ 165, /* cond_expr */ 0, /* andassign */ 0, /* orassign */ 0, /* dorassign */ 167, /* entersub */ 174, /* leavesub */ 174, /* leavesublv */ 0, /* argcheck */ 176, /* argelem */ 0, /* argdefelem */ 178, /* caller */ 52, /* warn */ 52, /* die */ 52, /* reset */ -1, /* lineseq */ 180, /* nextstate */ 180, /* dbstate */ -1, /* unstack */ -1, /* enter */ 181, /* leave */ -1, /* scope */ 183, /* enteriter */ 187, /* iter */ -1, /* enterloop */ 188, /* leaveloop */ -1, /* return */ 190, /* last */ 190, /* next */ 190, /* redo */ 190, /* dump */ 190, /* goto */ 52, /* exit */ 0, /* method */ 0, /* method_named */ 0, /* method_super */ 0, /* method_redir */ 0, /* method_redir_super */ 0, /* entergiven */ 0, /* leavegiven */ 0, /* enterwhen */ 0, /* leavewhen */ -1, /* break */ -1, /* continue */ 192, /* open */ 52, /* close */ 52, /* pipe_op */ 52, /* fileno */ 52, /* umask */ 52, /* binmode */ 52, /* tie */ 0, /* untie */ 0, /* tied */ 52, /* dbmopen */ 0, /* dbmclose */ 52, /* sselect */ 52, /* select */ 52, /* getc */ 52, /* read */ 52, /* enterwrite */ 174, /* leavewrite */ -1, /* prtf */ -1, /* print */ -1, /* say */ 52, /* sysopen */ 52, /* sysseek */ 52, /* sysread */ 52, /* syswrite */ 52, /* eof */ 52, /* tell */ 52, /* seek */ 52, /* truncate */ 52, /* fcntl */ 52, /* ioctl */ 93, /* flock */ 52, /* send */ 52, /* recv */ 52, /* socket */ 52, /* sockpair */ 52, /* bind */ 52, /* connect */ 52, /* listen */ 52, /* accept */ 52, /* shutdown */ 52, /* gsockopt */ 52, /* ssockopt */ 0, /* getsockname */ 0, /* getpeername */ 0, /* lstat */ 0, /* stat */ 197, /* ftrread */ 197, /* ftrwrite */ 197, /* ftrexec */ 197, /* fteread */ 197, /* ftewrite */ 197, /* fteexec */ 202, /* ftis */ 202, /* ftsize */ 202, /* ftmtime */ 202, /* ftatime */ 202, /* ftctime */ 202, /* ftrowned */ 202, /* fteowned */ 202, /* ftzero */ 202, /* ftsock */ 202, /* ftchr */ 202, /* ftblk */ 202, /* ftfile */ 202, /* ftdir */ 202, /* ftpipe */ 202, /* ftsuid */ 202, /* ftsgid */ 202, /* ftsvtx */ 202, /* ftlink */ 202, /* fttty */ 202, /* fttext */ 202, /* ftbinary */ 93, /* chdir */ 93, /* chown */ 75, /* chroot */ 93, /* unlink */ 93, /* chmod */ 93, /* utime */ 93, /* rename */ 93, /* link */ 93, /* symlink */ 0, /* readlink */ 93, /* mkdir */ 75, /* rmdir */ 52, /* open_dir */ 0, /* readdir */ 0, /* telldir */ 52, /* seekdir */ 0, /* rewinddir */ 0, /* closedir */ -1, /* fork */ 206, /* wait */ 93, /* waitpid */ 93, /* system */ 93, /* exec */ 93, /* kill */ 206, /* getppid */ 93, /* getpgrp */ 93, /* setpgrp */ 93, /* getpriority */ 93, /* setpriority */ 206, /* time */ -1, /* tms */ 0, /* localtime */ 52, /* gmtime */ 0, /* alarm */ 93, /* sleep */ 52, /* shmget */ 52, /* shmctl */ 52, /* shmread */ 52, /* shmwrite */ 52, /* msgget */ 52, /* msgctl */ 52, /* msgsnd */ 52, /* msgrcv */ 52, /* semop */ 52, /* semget */ 52, /* semctl */ 0, /* require */ 0, /* dofile */ -1, /* hintseval */ 207, /* entereval */ 174, /* leaveeval */ 0, /* entertry */ -1, /* leavetry */ 0, /* ghbyname */ 52, /* ghbyaddr */ -1, /* ghostent */ 0, /* gnbyname */ 52, /* gnbyaddr */ -1, /* gnetent */ 0, /* gpbyname */ 52, /* gpbynumber */ -1, /* gprotoent */ 52, /* gsbyname */ 52, /* gsbyport */ -1, /* gservent */ 0, /* shostent */ 0, /* snetent */ 0, /* sprotoent */ 0, /* sservent */ -1, /* ehostent */ -1, /* enetent */ -1, /* eprotoent */ -1, /* eservent */ 0, /* gpwnam */ 0, /* gpwuid */ -1, /* gpwent */ -1, /* spwent */ -1, /* epwent */ 0, /* ggrnam */ 0, /* ggrgid */ -1, /* ggrent */ -1, /* sgrent */ -1, /* egrent */ -1, /* getlogin */ 52, /* syscall */ 0, /* lock */ 0, /* once */ -1, /* custom */ 213, /* coreargs */ 217, /* avhvswitch */ 3, /* runcv */ 0, /* fc */ -1, /* padcv */ -1, /* introcv */ -1, /* clonecv */ 219, /* padrange */ 221, /* refassign */ 227, /* lvref */ 233, /* lvrefslice */ 234, /* lvavref */ 0, /* anonconst */ 12, /* isa */ 0, /* cmpchain_and */ 0, /* cmpchain_dup */ }; /* PL_op_private_bitdefs[]: given a starting position in this array (as * supplied by PL_op_private_bitdef_ix[]), each word (until a stop bit is * seen) defines the meaning of a particular op_private bit for a * particular op. Each word consists of: * bit 0: stop bit: this is the last bit def for the current op * bit 1: bitfield: if set, this defines a bit field rather than a flag * bits 2..4: unsigned number in the range 0..7 which is the bit number * bits 5..15: unsigned number in the range 0..2047 which is an index * into PL_op_private_labels[] (for a flag), or * into PL_op_private_bitfields[] (for a bit field) */ EXTCONST U16 PL_op_private_bitdefs[] = { 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst, cmpchain_and, cmpchain_dup */ 0x2fdc, 0x41b9, /* pushmark */ 0x00bd, /* wantarray, runcv */ 0x0438, 0x1a50, 0x426c, 0x3d28, 0x3505, /* const */ 0x2fdc, 0x3659, /* gvsv */ 0x18b5, /* gv */ 0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor, isa */ 0x2fdc, 0x41b8, 0x03d7, /* padsv */ 0x2fdc, 0x41b8, 0x05b4, 0x30cc, 0x3ea9, /* padav */ 0x2fdc, 0x41b8, 0x05b4, 0x0650, 0x30cc, 0x3ea8, 0x2b41, /* padhv */ 0x2fdc, 0x1c38, 0x03d6, 0x30cc, 0x3428, 0x4264, 0x0003, /* rv2gv */ 0x2fdc, 0x3658, 0x03d6, 0x4264, 0x0003, /* rv2sv */ 0x30cc, 0x0003, /* av2arylen, akeys, values, keys */ 0x339c, 0x1078, 0x0dd4, 0x014c, 0x4568, 0x4264, 0x0003, /* rv2cv */ 0x05b4, 0x0650, 0x0003, /* ref */ 0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, binmode, tie, dbmopen, sselect, select, getc, read, enterwrite, sysopen, sysseek, sysread, syswrite, eof, tell, seek, truncate, fcntl, ioctl, send, recv, socket, sockpair, bind, connect, listen, accept, shutdown, gsockopt, ssockopt, open_dir, seekdir, gmtime, shmget, shmctl, shmread, shmwrite, msgget, msgctl, msgsnd, msgrcv, semop, semget, semctl, ghbyaddr, gnbyaddr, gpbynumber, gsbyname, gsbyport, syscall */ 0x383c, 0x3758, 0x2894, 0x27d0, 0x0003, /* backtick */ 0x05b5, /* subst */ 0x117c, 0x21b8, 0x09b4, 0x3fec, 0x2548, 0x4884, 0x07c1, /* trans, transr */ 0x0fbc, 0x04d8, 0x0067, /* sassign */ 0x0c78, 0x0b74, 0x0a70, 0x30cc, 0x05a8, 0x0067, /* aassign */ 0x4610, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir */ 0x05b4, 0x30cc, 0x0003, /* pos */ 0x4610, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract, left_shift, right_shift, nbit_and, nbit_xor, nbit_or */ 0x1538, 0x0067, /* repeat */ 0x32b8, 0x4610, 0x0067, /* concat */ 0x2fdc, 0x0218, 0x1c34, 0x4610, 0x434c, 0x0003, /* multiconcat */ 0x4610, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */ 0x05b4, 0x4610, 0x0003, /* length */ 0x3a90, 0x30cc, 0x012b, /* substr */ 0x30cc, 0x0067, /* vec */ 0x3238, 0x05b4, 0x4610, 0x018f, /* index, rindex */ 0x2fdc, 0x3658, 0x05b4, 0x30cc, 0x3ea8, 0x4264, 0x0003, /* rv2av */ 0x025f, /* aelemfast, aelemfast_lex */ 0x2fdc, 0x2ed8, 0x03d6, 0x30cc, 0x0067, /* aelem, helem */ 0x2fdc, 0x30cc, 0x3ea9, /* aslice, hslice */ 0x30cd, /* kvaslice, kvhslice */ 0x2fdc, 0x3df8, 0x2bf4, 0x0003, /* delete */ 0x4498, 0x0003, /* exists */ 0x2fdc, 0x3658, 0x05b4, 0x0650, 0x30cc, 0x3ea8, 0x4264, 0x2b41, /* rv2hv */ 0x2fdc, 0x2ed8, 0x11f4, 0x1b50, 0x30cc, 0x4264, 0x0003, /* multideref */ 0x2fdc, 0x3658, 0x02f0, 0x2cec, 0x2609, /* split */ 0x2fdc, 0x2279, /* list */ 0x477c, 0x40d8, 0x1490, 0x292c, 0x3b88, 0x2a24, 0x35c1, /* sort */ 0x292c, 0x0003, /* reverse */ 0x05b4, 0x0003, /* grepwhile */ 0x2d78, 0x0003, /* flip, flop */ 0x2fdc, 0x0003, /* cond_expr */ 0x2fdc, 0x1078, 0x03d6, 0x014c, 0x4568, 0x4264, 0x26e1, /* entersub */ 0x38f8, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */ 0x02aa, 0x0003, /* argelem */ 0x00bc, 0x018f, /* caller */ 0x2455, /* nextstate, dbstate */ 0x2e7c, 0x38f9, /* leave */ 0x2fdc, 0x3658, 0x10ec, 0x3c05, /* enteriter */ 0x3c05, /* iter */ 0x2e7c, 0x0067, /* leaveloop */ 0x49bc, 0x0003, /* last, next, redo, dump, goto */ 0x383c, 0x3758, 0x2894, 0x27d0, 0x018f, /* open */ 0x1df0, 0x204c, 0x1f08, 0x1cc4, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */ 0x1df0, 0x204c, 0x1f08, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */ 0x4611, /* wait, getppid, time */ 0x3994, 0x0e90, 0x070c, 0x46e8, 0x2364, 0x0003, /* entereval */ 0x319c, 0x0018, 0x13a4, 0x12c1, /* coreargs */ 0x30cc, 0x00c7, /* avhvswitch */ 0x2fdc, 0x01fb, /* padrange */ 0x2fdc, 0x41b8, 0x04f6, 0x2aac, 0x19a8, 0x0067, /* refassign */ 0x2fdc, 0x41b8, 0x04f6, 0x2aac, 0x19a8, 0x0003, /* lvref */ 0x2fdd, /* lvrefslice */ 0x2fdc, 0x41b8, 0x0003, /* lvavref */ }; /* PL_op_private_valid: for each op, indexed by op_type, indicate which * flags bits in op_private are legal */ EXTCONST U8 PL_op_private_valid[] = { /* NULL */ (0xff), /* STUB */ (0), /* SCALAR */ (OPpARG1_MASK), /* PUSHMARK */ (OPpPAD_STATE|OPpLVAL_INTRO), /* WANTARRAY */ (OPpOFFBYONE), /* CONST */ (OPpCONST_NOVER|OPpCONST_SHORTCIRCUIT|OPpCONST_STRICT|OPpCONST_ENTERED|OPpCONST_BARE), /* GVSV */ (OPpOUR_INTRO|OPpLVAL_INTRO), /* GV */ (OPpEARLY_CV), /* GELEM */ (OPpARG2_MASK), /* PADSV */ (OPpDEREF|OPpPAD_STATE|OPpLVAL_INTRO), /* PADAV */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO), /* PADHV */ (OPpPADHV_ISKEYS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO), /* PADANY */ (0), /* RV2GV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDONT_INIT_GV|OPpMAYBE_LVSUB|OPpDEREF|OPpALLOW_FAKE|OPpLVAL_INTRO), /* RV2SV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDEREF|OPpOUR_INTRO|OPpLVAL_INTRO), /* AV2ARYLEN */ (OPpARG1_MASK|OPpMAYBE_LVSUB), /* RV2CV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpMAY_RETURN_CONSTANT|OPpENTERSUB_DB|OPpENTERSUB_NOPAREN), /* ANONCODE */ (0), /* PROTOTYPE */ (OPpARG1_MASK), /* REFGEN */ (OPpARG1_MASK), /* SREFGEN */ (OPpARG1_MASK), /* REF */ (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL), /* BLESS */ (OPpARG4_MASK), /* BACKTICK */ (OPpARG1_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF), /* GLOB */ (OPpARG4_MASK), /* READLINE */ (OPpARG1_MASK), /* RCATLINE */ (0), /* REGCMAYBE */ (OPpARG1_MASK), /* REGCRESET */ (OPpARG1_MASK), /* REGCOMP */ (OPpARG1_MASK), /* MATCH */ (0), /* QR */ (0), /* SUBST */ (OPpTRUEBOOL), /* SUBSTCONT */ (OPpARG1_MASK), /* TRANS */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), /* TRANSR */ (OPpTRANS_CAN_FORCE_UTF8|OPpTRANS_USE_SVOP|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE), /* SASSIGN */ (OPpARG2_MASK|OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV), /* AASSIGN */ (OPpARG2_MASK|OPpASSIGN_TRUEBOOL|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR), /* CHOP */ (OPpARG1_MASK), /* SCHOP */ (OPpARG1_MASK), /* CHOMP */ (OPpARG1_MASK|OPpTARGET_MY), /* SCHOMP */ (OPpARG1_MASK|OPpTARGET_MY), /* DEFINED */ (OPpARG1_MASK), /* UNDEF */ (OPpARG1_MASK), /* STUDY */ (OPpARG1_MASK), /* POS */ (OPpARG1_MASK|OPpMAYBE_LVSUB|OPpTRUEBOOL), /* PREINC */ (OPpARG1_MASK), /* I_PREINC */ (OPpARG1_MASK), /* PREDEC */ (OPpARG1_MASK), /* I_PREDEC */ (OPpARG1_MASK), /* POSTINC */ (OPpARG1_MASK), /* I_POSTINC */ (OPpARG1_MASK), /* POSTDEC */ (OPpARG1_MASK), /* I_POSTDEC */ (OPpARG1_MASK), /* POW */ (OPpARG2_MASK|OPpTARGET_MY), /* MULTIPLY */ (OPpARG2_MASK|OPpTARGET_MY), /* I_MULTIPLY */ (OPpARG2_MASK|OPpTARGET_MY), /* DIVIDE */ (OPpARG2_MASK|OPpTARGET_MY), /* I_DIVIDE */ (OPpARG2_MASK|OPpTARGET_MY), /* MODULO */ (OPpARG2_MASK|OPpTARGET_MY), /* I_MODULO */ (OPpARG2_MASK|OPpTARGET_MY), /* REPEAT */ (OPpARG2_MASK|OPpREPEAT_DOLIST), /* ADD */ (OPpARG2_MASK|OPpTARGET_MY), /* I_ADD */ (OPpARG2_MASK|OPpTARGET_MY), /* SUBTRACT */ (OPpARG2_MASK|OPpTARGET_MY), /* I_SUBTRACT */ (OPpARG2_MASK|OPpTARGET_MY), /* CONCAT */ (OPpARG2_MASK|OPpTARGET_MY|OPpCONCAT_NESTED), /* MULTICONCAT */ (OPpARG1_MASK|OPpMULTICONCAT_STRINGIFY|OPpTARGET_MY|OPpMULTICONCAT_FAKE|OPpMULTICONCAT_APPEND|OPpLVAL_INTRO), /* STRINGIFY */ (OPpARG4_MASK|OPpTARGET_MY), /* LEFT_SHIFT */ (OPpARG2_MASK|OPpTARGET_MY), /* RIGHT_SHIFT */ (OPpARG2_MASK|OPpTARGET_MY), /* LT */ (OPpARG2_MASK), /* I_LT */ (OPpARG2_MASK), /* GT */ (OPpARG2_MASK), /* I_GT */ (OPpARG2_MASK), /* LE */ (OPpARG2_MASK), /* I_LE */ (OPpARG2_MASK), /* GE */ (OPpARG2_MASK), /* I_GE */ (OPpARG2_MASK), /* EQ */ (OPpARG2_MASK), /* I_EQ */ (OPpARG2_MASK), /* NE */ (OPpARG2_MASK), /* I_NE */ (OPpARG2_MASK), /* NCMP */ (OPpARG2_MASK), /* I_NCMP */ (OPpARG2_MASK), /* SLT */ (OPpARG2_MASK), /* SGT */ (OPpARG2_MASK), /* SLE */ (OPpARG2_MASK), /* SGE */ (OPpARG2_MASK), /* SEQ */ (OPpARG2_MASK), /* SNE */ (OPpARG2_MASK), /* SCMP */ (OPpARG2_MASK), /* BIT_AND */ (OPpARG2_MASK), /* BIT_XOR */ (OPpARG2_MASK), /* BIT_OR */ (OPpARG2_MASK), /* NBIT_AND */ (OPpARG2_MASK|OPpTARGET_MY), /* NBIT_XOR */ (OPpARG2_MASK|OPpTARGET_MY), /* NBIT_OR */ (OPpARG2_MASK|OPpTARGET_MY), /* SBIT_AND */ (OPpARG2_MASK), /* SBIT_XOR */ (OPpARG2_MASK), /* SBIT_OR */ (OPpARG2_MASK), /* NEGATE */ (OPpARG1_MASK), /* I_NEGATE */ (OPpARG1_MASK), /* NOT */ (OPpARG1_MASK), /* COMPLEMENT */ (OPpARG1_MASK), /* NCOMPLEMENT */ (OPpARG1_MASK|OPpTARGET_MY), /* SCOMPLEMENT */ (OPpARG1_MASK|OPpTARGET_MY), /* SMARTMATCH */ (OPpARG2_MASK), /* ATAN2 */ (OPpARG4_MASK|OPpTARGET_MY), /* SIN */ (OPpARG1_MASK|OPpTARGET_MY), /* COS */ (OPpARG1_MASK|OPpTARGET_MY), /* RAND */ (OPpARG4_MASK|OPpTARGET_MY), /* SRAND */ (OPpARG4_MASK|OPpTARGET_MY), /* EXP */ (OPpARG1_MASK|OPpTARGET_MY), /* LOG */ (OPpARG1_MASK|OPpTARGET_MY), /* SQRT */ (OPpARG1_MASK|OPpTARGET_MY), /* INT */ (OPpARG1_MASK|OPpTARGET_MY), /* HEX */ (OPpARG1_MASK|OPpTARGET_MY), /* OCT */ (OPpARG1_MASK|OPpTARGET_MY), /* ABS */ (OPpARG1_MASK|OPpTARGET_MY), /* LENGTH */ (OPpARG1_MASK|OPpTARGET_MY|OPpTRUEBOOL), /* SUBSTR */ (OPpARG3_MASK|OPpMAYBE_LVSUB|OPpSUBSTR_REPL_FIRST), /* VEC */ (OPpARG2_MASK|OPpMAYBE_LVSUB), /* INDEX */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG), /* RINDEX */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG), /* SPRINTF */ (OPpARG4_MASK), /* FORMLINE */ (OPpARG4_MASK), /* ORD */ (OPpARG1_MASK|OPpTARGET_MY), /* CHR */ (OPpARG1_MASK|OPpTARGET_MY), /* CRYPT */ (OPpARG4_MASK|OPpTARGET_MY), /* UCFIRST */ (OPpARG1_MASK), /* LCFIRST */ (OPpARG1_MASK), /* UC */ (OPpARG1_MASK), /* LC */ (OPpARG1_MASK), /* QUOTEMETA */ (OPpARG1_MASK), /* RV2AV */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO), /* AELEMFAST */ (255), /* AELEMFAST_LEX */ (255), /* AELEM */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO), /* ASLICE */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO), /* KVASLICE */ (OPpMAYBE_LVSUB), /* AEACH */ (OPpARG1_MASK), /* AVALUES */ (OPpARG1_MASK), /* AKEYS */ (OPpARG1_MASK|OPpMAYBE_LVSUB), /* EACH */ (OPpARG1_MASK), /* VALUES */ (OPpARG1_MASK|OPpMAYBE_LVSUB), /* KEYS */ (OPpARG1_MASK|OPpMAYBE_LVSUB), /* DELETE */ (OPpARG1_MASK|OPpKVSLICE|OPpSLICE|OPpLVAL_INTRO), /* EXISTS */ (OPpARG1_MASK|OPpEXISTS_SUB), /* RV2HV */ (OPpRV2HV_ISKEYS|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO), /* HELEM */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO), /* HSLICE */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO), /* KVHSLICE */ (OPpMAYBE_LVSUB), /* MULTIDEREF */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpMAYBE_LVSUB|OPpMULTIDEREF_EXISTS|OPpMULTIDEREF_DELETE|OPpLVAL_DEFER|OPpLVAL_INTRO), /* UNPACK */ (OPpARG4_MASK), /* PACK */ (OPpARG4_MASK), /* SPLIT */ (OPpSPLIT_IMPLIM|OPpSPLIT_LEX|OPpSPLIT_ASSIGN|OPpOUR_INTRO|OPpLVAL_INTRO), /* JOIN */ (OPpARG4_MASK), /* LIST */ (OPpLIST_GUESSED|OPpLVAL_INTRO), /* LSLICE */ (OPpARG2_MASK), /* ANONLIST */ (OPpARG4_MASK), /* ANONHASH */ (OPpARG4_MASK), /* SPLICE */ (OPpARG4_MASK), /* PUSH */ (OPpARG4_MASK|OPpTARGET_MY), /* POP */ (OPpARG1_MASK), /* SHIFT */ (OPpARG1_MASK), /* UNSHIFT */ (OPpARG4_MASK|OPpTARGET_MY), /* SORT */ (OPpSORT_NUMERIC|OPpSORT_INTEGER|OPpSORT_REVERSE|OPpSORT_INPLACE|OPpSORT_DESCEND|OPpSORT_STABLE|OPpSORT_UNSTABLE), /* REVERSE */ (OPpARG1_MASK|OPpREVERSE_INPLACE), /* GREPSTART */ (OPpARG1_MASK), /* GREPWHILE */ (OPpARG1_MASK|OPpTRUEBOOL), /* MAPSTART */ (OPpARG1_MASK), /* MAPWHILE */ (OPpARG1_MASK), /* RANGE */ (OPpARG1_MASK), /* FLIP */ (OPpARG1_MASK|OPpFLIP_LINENUM), /* FLOP */ (OPpARG1_MASK|OPpFLIP_LINENUM), /* AND */ (OPpARG1_MASK), /* OR */ (OPpARG1_MASK), /* XOR */ (OPpARG2_MASK), /* DOR */ (OPpARG1_MASK), /* COND_EXPR */ (OPpARG1_MASK|OPpLVAL_INTRO), /* ANDASSIGN */ (OPpARG1_MASK), /* ORASSIGN */ (OPpARG1_MASK), /* DORASSIGN */ (OPpARG1_MASK), /* ENTERSUB */ (OPpENTERSUB_INARGS|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpDEREF|OPpENTERSUB_DB|OPpLVAL_INTRO), /* LEAVESUB */ (OPpARG1_MASK|OPpREFCOUNTED), /* LEAVESUBLV */ (OPpARG1_MASK|OPpREFCOUNTED), /* ARGCHECK */ (OPpARG1_MASK), /* ARGELEM */ (OPpARG1_MASK|OPpARGELEM_MASK), /* ARGDEFELEM */ (OPpARG1_MASK), /* CALLER */ (OPpARG4_MASK|OPpOFFBYONE), /* WARN */ (OPpARG4_MASK), /* DIE */ (OPpARG4_MASK), /* RESET */ (OPpARG4_MASK), /* LINESEQ */ (0), /* NEXTSTATE */ (OPpHUSH_VMSISH), /* DBSTATE */ (OPpHUSH_VMSISH), /* UNSTACK */ (0), /* ENTER */ (0), /* LEAVE */ (OPpREFCOUNTED|OPpLVALUE), /* SCOPE */ (0), /* ENTERITER */ (OPpITER_REVERSED|OPpITER_DEF|OPpOUR_INTRO|OPpLVAL_INTRO), /* ITER */ (OPpITER_REVERSED), /* ENTERLOOP */ (0), /* LEAVELOOP */ (OPpARG2_MASK|OPpLVALUE), /* RETURN */ (0), /* LAST */ (OPpARG1_MASK|OPpPV_IS_UTF8), /* NEXT */ (OPpARG1_MASK|OPpPV_IS_UTF8), /* REDO */ (OPpARG1_MASK|OPpPV_IS_UTF8), /* DUMP */ (OPpARG1_MASK|OPpPV_IS_UTF8), /* GOTO */ (OPpARG1_MASK|OPpPV_IS_UTF8), /* EXIT */ (OPpARG4_MASK), /* METHOD */ (OPpARG1_MASK), /* METHOD_NAMED */ (OPpARG1_MASK), /* METHOD_SUPER */ (OPpARG1_MASK), /* METHOD_REDIR */ (OPpARG1_MASK), /* METHOD_REDIR_SUPER */ (OPpARG1_MASK), /* ENTERGIVEN */ (OPpARG1_MASK), /* LEAVEGIVEN */ (OPpARG1_MASK), /* ENTERWHEN */ (OPpARG1_MASK), /* LEAVEWHEN */ (OPpARG1_MASK), /* BREAK */ (0), /* CONTINUE */ (0), /* OPEN */ (OPpARG4_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF), /* CLOSE */ (OPpARG4_MASK), /* PIPE_OP */ (OPpARG4_MASK), /* FILENO */ (OPpARG4_MASK), /* UMASK */ (OPpARG4_MASK), /* BINMODE */ (OPpARG4_MASK), /* TIE */ (OPpARG4_MASK), /* UNTIE */ (OPpARG1_MASK), /* TIED */ (OPpARG1_MASK), /* DBMOPEN */ (OPpARG4_MASK), /* DBMCLOSE */ (OPpARG1_MASK), /* SSELECT */ (OPpARG4_MASK), /* SELECT */ (OPpARG4_MASK), /* GETC */ (OPpARG4_MASK), /* READ */ (OPpARG4_MASK), /* ENTERWRITE */ (OPpARG4_MASK), /* LEAVEWRITE */ (OPpARG1_MASK|OPpREFCOUNTED), /* PRTF */ (0), /* PRINT */ (0), /* SAY */ (0), /* SYSOPEN */ (OPpARG4_MASK), /* SYSSEEK */ (OPpARG4_MASK), /* SYSREAD */ (OPpARG4_MASK), /* SYSWRITE */ (OPpARG4_MASK), /* EOF */ (OPpARG4_MASK), /* TELL */ (OPpARG4_MASK), /* SEEK */ (OPpARG4_MASK), /* TRUNCATE */ (OPpARG4_MASK), /* FCNTL */ (OPpARG4_MASK), /* IOCTL */ (OPpARG4_MASK), /* FLOCK */ (OPpARG4_MASK|OPpTARGET_MY), /* SEND */ (OPpARG4_MASK), /* RECV */ (OPpARG4_MASK), /* SOCKET */ (OPpARG4_MASK), /* SOCKPAIR */ (OPpARG4_MASK), /* BIND */ (OPpARG4_MASK), /* CONNECT */ (OPpARG4_MASK), /* LISTEN */ (OPpARG4_MASK), /* ACCEPT */ (OPpARG4_MASK), /* SHUTDOWN */ (OPpARG4_MASK), /* GSOCKOPT */ (OPpARG4_MASK), /* SSOCKOPT */ (OPpARG4_MASK), /* GETSOCKNAME */ (OPpARG1_MASK), /* GETPEERNAME */ (OPpARG1_MASK), /* LSTAT */ (OPpARG1_MASK), /* STAT */ (OPpARG1_MASK), /* FTRREAD */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTRWRITE */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTREXEC */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTEREAD */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTEWRITE */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTEEXEC */ (OPpARG1_MASK|OPpFT_ACCESS|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTIS */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTSIZE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTMTIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTATIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTCTIME */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTROWNED */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTEOWNED */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTZERO */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTSOCK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTCHR */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTBLK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTFILE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTDIR */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTPIPE */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTSUID */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTSGID */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTSVTX */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTLINK */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTTTY */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTTEXT */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* FTBINARY */ (OPpARG1_MASK|OPpFT_STACKED|OPpFT_STACKING|OPpFT_AFTER_t), /* CHDIR */ (OPpARG4_MASK|OPpTARGET_MY), /* CHOWN */ (OPpARG4_MASK|OPpTARGET_MY), /* CHROOT */ (OPpARG1_MASK|OPpTARGET_MY), /* UNLINK */ (OPpARG4_MASK|OPpTARGET_MY), /* CHMOD */ (OPpARG4_MASK|OPpTARGET_MY), /* UTIME */ (OPpARG4_MASK|OPpTARGET_MY), /* RENAME */ (OPpARG4_MASK|OPpTARGET_MY), /* LINK */ (OPpARG4_MASK|OPpTARGET_MY), /* SYMLINK */ (OPpARG4_MASK|OPpTARGET_MY), /* READLINK */ (OPpARG1_MASK), /* MKDIR */ (OPpARG4_MASK|OPpTARGET_MY), /* RMDIR */ (OPpARG1_MASK|OPpTARGET_MY), /* OPEN_DIR */ (OPpARG4_MASK), /* READDIR */ (OPpARG1_MASK), /* TELLDIR */ (OPpARG1_MASK), /* SEEKDIR */ (OPpARG4_MASK), /* REWINDDIR */ (OPpARG1_MASK), /* CLOSEDIR */ (OPpARG1_MASK), /* FORK */ (0), /* WAIT */ (OPpTARGET_MY), /* WAITPID */ (OPpARG4_MASK|OPpTARGET_MY), /* SYSTEM */ (OPpARG4_MASK|OPpTARGET_MY), /* EXEC */ (OPpARG4_MASK|OPpTARGET_MY), /* KILL */ (OPpARG4_MASK|OPpTARGET_MY), /* GETPPID */ (OPpTARGET_MY), /* GETPGRP */ (OPpARG4_MASK|OPpTARGET_MY), /* SETPGRP */ (OPpARG4_MASK|OPpTARGET_MY), /* GETPRIORITY */ (OPpARG4_MASK|OPpTARGET_MY), /* SETPRIORITY */ (OPpARG4_MASK|OPpTARGET_MY), /* TIME */ (OPpTARGET_MY), /* TMS */ (0), /* LOCALTIME */ (OPpARG1_MASK), /* GMTIME */ (OPpARG4_MASK), /* ALARM */ (OPpARG1_MASK), /* SLEEP */ (OPpARG4_MASK|OPpTARGET_MY), /* SHMGET */ (OPpARG4_MASK), /* SHMCTL */ (OPpARG4_MASK), /* SHMREAD */ (OPpARG4_MASK), /* SHMWRITE */ (OPpARG4_MASK), /* MSGGET */ (OPpARG4_MASK), /* MSGCTL */ (OPpARG4_MASK), /* MSGSND */ (OPpARG4_MASK), /* MSGRCV */ (OPpARG4_MASK), /* SEMOP */ (OPpARG4_MASK), /* SEMGET */ (OPpARG4_MASK), /* SEMCTL */ (OPpARG4_MASK), /* REQUIRE */ (OPpARG1_MASK), /* DOFILE */ (OPpARG1_MASK), /* HINTSEVAL */ (0), /* ENTEREVAL */ (OPpARG1_MASK|OPpEVAL_HAS_HH|OPpEVAL_UNICODE|OPpEVAL_BYTES|OPpEVAL_COPHH|OPpEVAL_RE_REPARSING), /* LEAVEEVAL */ (OPpARG1_MASK|OPpREFCOUNTED), /* ENTERTRY */ (OPpARG1_MASK), /* LEAVETRY */ (0), /* GHBYNAME */ (OPpARG1_MASK), /* GHBYADDR */ (OPpARG4_MASK), /* GHOSTENT */ (0), /* GNBYNAME */ (OPpARG1_MASK), /* GNBYADDR */ (OPpARG4_MASK), /* GNETENT */ (0), /* GPBYNAME */ (OPpARG1_MASK), /* GPBYNUMBER */ (OPpARG4_MASK), /* GPROTOENT */ (0), /* GSBYNAME */ (OPpARG4_MASK), /* GSBYPORT */ (OPpARG4_MASK), /* GSERVENT */ (0), /* SHOSTENT */ (OPpARG1_MASK), /* SNETENT */ (OPpARG1_MASK), /* SPROTOENT */ (OPpARG1_MASK), /* SSERVENT */ (OPpARG1_MASK), /* EHOSTENT */ (0), /* ENETENT */ (0), /* EPROTOENT */ (0), /* ESERVENT */ (0), /* GPWNAM */ (OPpARG1_MASK), /* GPWUID */ (OPpARG1_MASK), /* GPWENT */ (0), /* SPWENT */ (0), /* EPWENT */ (0), /* GGRNAM */ (OPpARG1_MASK), /* GGRGID */ (OPpARG1_MASK), /* GGRENT */ (0), /* SGRENT */ (0), /* EGRENT */ (0), /* GETLOGIN */ (0), /* SYSCALL */ (OPpARG4_MASK), /* LOCK */ (OPpARG1_MASK), /* ONCE */ (OPpARG1_MASK), /* CUSTOM */ (0xff), /* COREARGS */ (OPpCOREARGS_DEREF1|OPpCOREARGS_DEREF2|OPpCOREARGS_SCALARMOD|OPpCOREARGS_PUSHMARK), /* AVHVSWITCH */ (OPpAVHVSWITCH_MASK|OPpMAYBE_LVSUB), /* RUNCV */ (OPpOFFBYONE), /* FC */ (OPpARG1_MASK), /* PADCV */ (0), /* INTROCV */ (0), /* CLONECV */ (0), /* PADRANGE */ (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO), /* REFASSIGN */ (OPpARG2_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO), /* LVREF */ (OPpARG1_MASK|OPpLVREF_ELEM|OPpLVREF_ITER|OPpLVREF_TYPE|OPpPAD_STATE|OPpLVAL_INTRO), /* LVREFSLICE */ (OPpLVAL_INTRO), /* LVAVREF */ (OPpARG1_MASK|OPpPAD_STATE|OPpLVAL_INTRO), /* ANONCONST */ (OPpARG1_MASK), /* ISA */ (OPpARG2_MASK), /* CMPCHAIN_AND */ (OPpARG1_MASK), /* CMPCHAIN_DUP */ (OPpARG1_MASK), }; # endif /* !DOINIT */ #endif /* !PERL_GLOBAL_STRUCT_INIT */ END_EXTERN_C /* ex: set ro: */ fakesdio.h 0000644 00000006212 15140731057 0006506 0 ustar 00 /* fakesdio.h * * Copyright (C) 2000, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * This is "source level" stdio compatibility mode. * We try and #define stdio functions in terms of PerlIO. */ #define _CANNOT "CANNOT" #undef FILE #define FILE PerlIO #undef clearerr #undef fclose #undef fdopen #undef feof #undef ferror #undef fflush #undef fgetc #undef fgetpos #undef fgets #undef fileno #undef flockfile #undef fopen #undef fprintf #undef fputc #undef fputs #undef fread #undef freopen #undef fscanf #undef fseek #undef fsetpos #undef ftell #undef ftrylockfile #undef funlockfile #undef fwrite #undef getc #undef getc_unlocked #undef getw #undef pclose #undef popen #undef putc #undef putc_unlocked #undef putw #undef rewind #undef setbuf #undef setvbuf #undef stderr #undef stdin #undef stdout #undef tmpfile #undef ungetc #undef vfprintf #undef printf /* printf used to live in perl.h like this - more sophisticated than the rest */ #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC) #define printf(fmt,args...) PerlIO_stdoutf(fmt,##args) #else #define printf PerlIO_stdoutf #endif #define fprintf PerlIO_printf #define stdin PerlIO_stdin() #define stdout PerlIO_stdout() #define stderr PerlIO_stderr() #define tmpfile() PerlIO_tmpfile() #define fclose(f) PerlIO_close(f) #define fflush(f) PerlIO_flush(f) #define fopen(p,m) PerlIO_open(p,m) #define vfprintf(f,fmt,a) PerlIO_vprintf(f,fmt,a) #define fgetc(f) PerlIO_getc(f) #define fputc(c,f) PerlIO_putc(f,c) #define fputs(s,f) PerlIO_puts(f,s) #define getc(f) PerlIO_getc(f) #define getc_unlocked(f) PerlIO_getc(f) #define putc(c,f) PerlIO_putc(f,c) #define putc_unlocked(c,f) PerlIO_putc(c,f) #define ungetc(c,f) PerlIO_ungetc(f,c) #if 0 /* return values of read/write need work */ #define fread(b,s,c,f) PerlIO_read(f,b,(s*c)) #define fwrite(b,s,c,f) PerlIO_write(f,b,(s*c)) #else #define fread(b,s,c,f) _CANNOT fread #define fwrite(b,s,c,f) _CANNOT fwrite #endif #define fseek(f,o,w) PerlIO_seek(f,o,w) #define ftell(f) PerlIO_tell(f) #define rewind(f) PerlIO_rewind(f) #define clearerr(f) PerlIO_clearerr(f) #define feof(f) PerlIO_eof(f) #define ferror(f) PerlIO_error(f) #define fdopen(fd,p) PerlIO_fdopen(fd,p) #define fileno(f) PerlIO_fileno(f) #define popen(c,m) my_popen(c,m) #define pclose(f) my_pclose(f) #define fsetpos(f,p) _CANNOT _fsetpos_ #define fgetpos(f,p) _CANNOT _fgetpos_ #define __filbuf(f) _CANNOT __filbuf_ #define _filbuf(f) _CANNOT _filbuf_ #define __flsbuf(c,f) _CANNOT __flsbuf_ #define _flsbuf(c,f) _CANNOT _flsbuf_ #define getw(f) _CANNOT _getw_ #define putw(v,f) _CANNOT _putw_ #if SFIO_VERSION < 20000101L #define flockfile(f) _CANNOT _flockfile_ #define ftrylockfile(f) _CANNOT _ftrylockfile_ #define funlockfile(f) _CANNOT _funlockfile_ #endif #define freopen(p,m,f) _CANNOT _freopen_ #define setbuf(f,b) _CANNOT _setbuf_ #define setvbuf(f,b,x,s) _CANNOT _setvbuf_ #define fscanf _CANNOT _fscanf_ #define fgets(s,n,f) _CANNOT _fgets_ /* * ex: set ts=8 sts=4 sw=4 et: */ proto.h 0000644 00001035603 15140731057 0006073 0 ustar 00 /* -*- buffer-read-only: t -*- * * proto.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/embed.pl from data in embed.fnc, * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h. * Any changes made here will be lost! * * Edit those files and run 'make regen_headers' to effect changes. */ START_EXTERN_C #ifndef NO_MATHOMS PERL_CALLCONV UV ASCII_TO_NEED(const UV enc, const UV ch) __attribute__deprecated__ __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_ASCII_TO_NEED #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 * Perl_CvDEPTH(const CV * const sv); #define PERL_ARGS_ASSERT_CVDEPTH \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE GV * Perl_CvGV(pTHX_ CV *sv); #define PERL_ARGS_ASSERT_CVGV \ assert(sv) #endif PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing); #define PERL_ARGS_ASSERT_GV_AMUPDATE \ assert(stash) #ifndef NO_MATHOMS PERL_CALLCONV UV NATIVE_TO_NEED(const UV enc, const UV ch) __attribute__deprecated__ __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_NATIVE_TO_NEED #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 Perl_POPMARK(pTHX); #define PERL_ARGS_ASSERT_POPMARK #endif PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode); #define PERL_ARGS_ASSERT_PERLIO_CONTEXT_LAYERS PERL_CALLCONV int Perl_PerlLIO_dup2_cloexec(pTHX_ int oldfd, int newfd); #define PERL_ARGS_ASSERT_PERLLIO_DUP2_CLOEXEC PERL_CALLCONV int Perl_PerlLIO_dup_cloexec(pTHX_ int oldfd) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLLIO_DUP_CLOEXEC PERL_CALLCONV int Perl_PerlLIO_open3_cloexec(pTHX_ const char *file, int flag, int perm) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLLIO_OPEN3_CLOEXEC \ assert(file) PERL_CALLCONV int Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLLIO_OPEN_CLOEXEC \ assert(file) /* PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o); */ #define PERL_ARGS_ASSERT_PERL_CUSTOM_OP_XOP PERL_CALLCONV const char* Perl_setlocale(const int category, const char* locale); #define PERL_ARGS_ASSERT_PERL_SETLOCALE #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE struct regexp * Perl_ReANY(const REGEXP * const re); #define PERL_ARGS_ASSERT_REANY \ assert(re) #endif PERL_CALLCONV void* Perl_Slab_Alloc(pTHX_ size_t sz) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SLAB_ALLOC PERL_CALLCONV void Perl_Slab_Free(pTHX_ void *op); #define PERL_ARGS_ASSERT_SLAB_FREE \ assert(op) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_SvAMAGIC_off(SV *sv); #define PERL_ARGS_ASSERT_SVAMAGIC_OFF \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_SvAMAGIC_on(SV *sv); #define PERL_ARGS_ASSERT_SVAMAGIC_ON \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_SvREFCNT_dec(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SVREFCNT_DEC #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_SvREFCNT_dec_NN(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SVREFCNT_DEC_NN \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc(SV *sv); #define PERL_ARGS_ASSERT_SVREFCNT_INC #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE SV * Perl_SvREFCNT_inc_NN(SV *sv); #define PERL_ARGS_ASSERT_SVREFCNT_INC_NN \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_SvREFCNT_inc_void(SV *sv); #define PERL_ARGS_ASSERT_SVREFCNT_INC_VOID #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 Perl_TOPMARK(pTHX); #define PERL_ARGS_ASSERT_TOPMARK #endif PERL_CALLCONV char * Perl__byte_dump_string(pTHX_ const U8 * const start, const STRLEN len, const bool format); #define PERL_ARGS_ASSERT__BYTE_DUMP_STRING \ assert(start) PERL_CALLCONV void Perl__force_out_malformed_utf8_message(pTHX_ const U8 *const p, const U8 * const e, const U32 flags, const bool die_here); #define PERL_ARGS_ASSERT__FORCE_OUT_MALFORMED_UTF8_MESSAGE \ assert(p); assert(e) PERL_CALLCONV Size_t Perl__inverse_folds(pTHX_ const UV cp, U32 * first_folds_to, const U32 ** remaining_folds_to) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVERSE_FOLDS \ assert(first_folds_to); assert(remaining_folds_to) PERL_CALLCONV bool Perl__is_in_locale_category(pTHX_ const bool compiling, const int category); #define PERL_ARGS_ASSERT__IS_IN_LOCALE_CATEGORY PERL_CALLCONV bool Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UNI_FOO PERL_CALLCONV bool Perl__is_uni_perl_idcont(pTHX_ UV c) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UNI_PERL_IDCONT PERL_CALLCONV bool Perl__is_uni_perl_idstart(pTHX_ UV c) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UNI_PERL_IDSTART PERL_CALLCONV bool Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UTF8_FOO \ assert(p); assert(e) PERL_CALLCONV bool Perl__is_utf8_perl_idcont(pTHX_ const U8 *p, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT \ assert(p); assert(e) PERL_CALLCONV bool Perl__is_utf8_perl_idstart(pTHX_ const U8 *p, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART \ assert(p); assert(e) PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags); #define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \ assert(p); assert(lenp) PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, U8 flags); #define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \ assert(p); assert(ustrp) PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \ assert(p); assert(ustrp) PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, const U8* e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \ assert(p); assert(ustrp) PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, const U8 *e, U8* ustrp, STRLEN *lenp, bool flags); #define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \ assert(p); assert(ustrp) PERL_CALLCONV UV Perl__utf8n_to_uvchr_msgs_helper(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs); #define PERL_ARGS_ASSERT__UTF8N_TO_UVCHR_MSGS_HELPER \ assert(s) PERL_CALLCONV void Perl__warn_problematic_locale(void); #define PERL_ARGS_ASSERT__WARN_PROBLEMATIC_LOCALE PERL_CALLCONV_NO_RET void Perl_abort_execution(pTHX_ const char * const msg, const char * const name) __attribute__noreturn__; #define PERL_ARGS_ASSERT_ABORT_EXECUTION \ assert(msg); assert(name) PERL_CALLCONV LOGOP* Perl_alloc_LOGOP(pTHX_ I32 type, OP *first, OP *other); #define PERL_ARGS_ASSERT_ALLOC_LOGOP PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_ALLOCMY \ assert(name) PERL_CALLCONV SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir); #define PERL_ARGS_ASSERT_AMAGIC_CALL \ assert(left); assert(right) PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method); #define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \ assert(ref) PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method); #define PERL_ARGS_ASSERT_AMAGIC_IS_ENABLED #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_append_utf8_from_native_byte(const U8 byte, U8** dest); #define PERL_ARGS_ASSERT_APPEND_UTF8_FROM_NATIVE_BYTE \ assert(dest) #endif PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_APPLY \ assert(mark); assert(sp) PERL_CALLCONV void Perl_apply_attrs_string(pTHX_ const char *stashpv, CV *cv, const char *attrstr, STRLEN len); #define PERL_ARGS_ASSERT_APPLY_ATTRS_STRING \ assert(stashpv); assert(cv); assert(attrstr) PERL_CALLCONV void Perl_atfork_lock(void); #define PERL_ARGS_ASSERT_ATFORK_LOCK PERL_CALLCONV void Perl_atfork_unlock(void); #define PERL_ARGS_ASSERT_ATFORK_UNLOCK PERL_CALLCONV SV** Perl_av_arylen_p(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_ARYLEN_P \ assert(av) PERL_CALLCONV void Perl_av_clear(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_CLEAR \ assert(av) PERL_CALLCONV void Perl_av_create_and_push(pTHX_ AV **const avp, SV *const val); #define PERL_ARGS_ASSERT_AV_CREATE_AND_PUSH \ assert(avp); assert(val) PERL_CALLCONV SV** Perl_av_create_and_unshift_one(pTHX_ AV **const avp, SV *const val); #define PERL_ARGS_ASSERT_AV_CREATE_AND_UNSHIFT_ONE \ assert(avp); assert(val) PERL_CALLCONV SV* Perl_av_delete(pTHX_ AV *av, SSize_t key, I32 flags); #define PERL_ARGS_ASSERT_AV_DELETE \ assert(av) PERL_CALLCONV bool Perl_av_exists(pTHX_ AV *av, SSize_t key) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_EXISTS \ assert(av) PERL_CALLCONV void Perl_av_extend(pTHX_ AV *av, SSize_t key); #define PERL_ARGS_ASSERT_AV_EXTEND \ assert(av) PERL_CALLCONV void Perl_av_extend_guts(pTHX_ AV *av, SSize_t key, SSize_t *maxp, SV ***allocp, SV ***arrayp); #define PERL_ARGS_ASSERT_AV_EXTEND_GUTS \ assert(maxp); assert(allocp); assert(arrayp) PERL_CALLCONV SV** Perl_av_fetch(pTHX_ AV *av, SSize_t key, I32 lval) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_FETCH \ assert(av) PERL_CALLCONV void Perl_av_fill(pTHX_ AV *av, SSize_t fill); #define PERL_ARGS_ASSERT_AV_FILL \ assert(av) PERL_CALLCONV IV* Perl_av_iter_p(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_ITER_P \ assert(av) PERL_CALLCONV SSize_t Perl_av_len(pTHX_ AV *av) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_LEN \ assert(av) PERL_CALLCONV AV* Perl_av_make(pTHX_ SSize_t size, SV **strp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_MAKE \ assert(strp) PERL_CALLCONV SV* Perl_av_nonelem(pTHX_ AV *av, SSize_t ix); #define PERL_ARGS_ASSERT_AV_NONELEM \ assert(av) PERL_CALLCONV SV* Perl_av_pop(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_POP \ assert(av) PERL_CALLCONV void Perl_av_push(pTHX_ AV *av, SV *val); #define PERL_ARGS_ASSERT_AV_PUSH \ assert(av); assert(val) PERL_CALLCONV void Perl_av_reify(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_REIFY \ assert(av) PERL_CALLCONV SV* Perl_av_shift(pTHX_ AV *av) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_SHIFT \ assert(av) PERL_CALLCONV SV** Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val); #define PERL_ARGS_ASSERT_AV_STORE \ assert(av) /* PERL_CALLCONV SSize_t av_tindex(pTHX_ AV *av) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_AV_TINDEX #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE SSize_t Perl_av_top_index(pTHX_ AV *av) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_AV_TOP_INDEX \ assert(av) #endif PERL_CALLCONV void Perl_av_undef(pTHX_ AV *av); #define PERL_ARGS_ASSERT_AV_UNDEF \ assert(av) PERL_CALLCONV void Perl_av_unshift(pTHX_ AV *av, SSize_t num); #define PERL_ARGS_ASSERT_AV_UNSHIFT \ assert(av) PERL_CALLCONV OP* Perl_bind_match(pTHX_ I32 type, OP *left, OP *right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BIND_MATCH \ assert(left); assert(right) PERL_CALLCONV OP* Perl_block_end(pTHX_ I32 floor, OP* seq) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BLOCK_END PERL_CALLCONV U8 Perl_block_gimme(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BLOCK_GIMME PERL_CALLCONV int Perl_block_start(pTHX_ int full) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BLOCK_START PERL_CALLCONV void Perl_blockhook_register(pTHX_ BHK *hk); #define PERL_ARGS_ASSERT_BLOCKHOOK_REGISTER \ assert(hk) PERL_CALLCONV void Perl_boot_core_PerlIO(pTHX); #define PERL_ARGS_ASSERT_BOOT_CORE_PERLIO PERL_CALLCONV void Perl_boot_core_UNIVERSAL(pTHX); #define PERL_ARGS_ASSERT_BOOT_CORE_UNIVERSAL PERL_CALLCONV void Perl_boot_core_mro(pTHX); #define PERL_ARGS_ASSERT_BOOT_CORE_MRO PERL_CALLCONV int Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen); #define PERL_ARGS_ASSERT_BYTES_CMP_UTF8 \ assert(b); assert(u) PERL_CALLCONV U8* Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *lenp, bool *is_utf8p); #define PERL_ARGS_ASSERT_BYTES_FROM_UTF8 \ assert(s); assert(lenp); assert(is_utf8p) PERL_CALLCONV U8* Perl_bytes_from_utf8_loc(const U8 *s, STRLEN *lenp, bool *is_utf8p, const U8 ** first_unconverted); #define PERL_ARGS_ASSERT_BYTES_FROM_UTF8_LOC \ assert(s); assert(lenp); assert(is_utf8p) PERL_CALLCONV U8* Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *lenp); #define PERL_ARGS_ASSERT_BYTES_TO_UTF8 \ assert(s); assert(lenp) PERL_CALLCONV I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv); #define PERL_ARGS_ASSERT_CALL_ARGV \ assert(sub_name); assert(argv) PERL_CALLCONV void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr); #define PERL_ARGS_ASSERT_CALL_ATEXIT PERL_CALLCONV void Perl_call_list(pTHX_ I32 oldscope, AV *paramList); #define PERL_ARGS_ASSERT_CALL_LIST \ assert(paramList) PERL_CALLCONV I32 Perl_call_method(pTHX_ const char* methname, I32 flags); #define PERL_ARGS_ASSERT_CALL_METHOD \ assert(methname) PERL_CALLCONV I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags); #define PERL_ARGS_ASSERT_CALL_PV \ assert(sub_name) PERL_CALLCONV I32 Perl_call_sv(pTHX_ SV* sv, volatile I32 flags); #define PERL_ARGS_ASSERT_CALL_SV \ assert(sv) PERL_CALLCONV const PERL_CONTEXT * Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp); #define PERL_ARGS_ASSERT_CALLER_CX PERL_CALLCONV Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CALLOC PERL_CALLCONV bool Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t* statbufp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CANDO \ assert(statbufp) PERL_CALLCONV I32 Perl_cast_i32(NV f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CAST_I32 PERL_CALLCONV IV Perl_cast_iv(NV f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CAST_IV PERL_CALLCONV U32 Perl_cast_ulong(NV f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CAST_ULONG PERL_CALLCONV UV Perl_cast_uv(NV f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CAST_UV PERL_CALLCONV bool Perl_check_utf8_print(pTHX_ const U8 *s, const STRLEN len); #define PERL_ARGS_ASSERT_CHECK_UTF8_PRINT \ assert(s) PERL_CALLCONV OP * Perl_ck_anoncode(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_ANONCODE \ assert(o) PERL_CALLCONV OP * Perl_ck_backtick(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_BACKTICK \ assert(o) PERL_CALLCONV OP * Perl_ck_bitop(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_BITOP \ assert(o) PERL_CALLCONV OP * Perl_ck_cmp(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_CMP \ assert(o) PERL_CALLCONV OP * Perl_ck_concat(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_CONCAT \ assert(o) PERL_CALLCONV OP * Perl_ck_defined(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_DEFINED \ assert(o) PERL_CALLCONV OP * Perl_ck_delete(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_DELETE \ assert(o) PERL_CALLCONV OP * Perl_ck_each(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_EACH \ assert(o) PERL_CALLCONV OP* Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv); #define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE \ assert(entersubop); assert(namegv); assert(protosv) PERL_CALLCONV OP* Perl_ck_entersub_args_list(pTHX_ OP *entersubop); #define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST \ assert(entersubop) PERL_CALLCONV OP* Perl_ck_entersub_args_proto(pTHX_ OP *entersubop, GV *namegv, SV *protosv); #define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO \ assert(entersubop); assert(namegv); assert(protosv) PERL_CALLCONV OP* Perl_ck_entersub_args_proto_or_list(pTHX_ OP *entersubop, GV *namegv, SV *protosv); #define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO_OR_LIST \ assert(entersubop); assert(namegv); assert(protosv) PERL_CALLCONV OP * Perl_ck_eof(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_EOF \ assert(o) PERL_CALLCONV OP * Perl_ck_eval(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_EVAL \ assert(o) PERL_CALLCONV OP * Perl_ck_exec(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_EXEC \ assert(o) PERL_CALLCONV OP * Perl_ck_exists(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_EXISTS \ assert(o) PERL_CALLCONV OP * Perl_ck_ftst(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_FTST \ assert(o) PERL_CALLCONV OP * Perl_ck_fun(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_FUN \ assert(o) PERL_CALLCONV OP * Perl_ck_glob(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_GLOB \ assert(o) PERL_CALLCONV OP * Perl_ck_grep(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_GREP \ assert(o) PERL_CALLCONV OP * Perl_ck_index(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_INDEX \ assert(o) PERL_CALLCONV OP * Perl_ck_isa(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_ISA \ assert(o) PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_JOIN \ assert(o) PERL_CALLCONV OP * Perl_ck_length(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_LENGTH \ assert(o) PERL_CALLCONV OP * Perl_ck_lfun(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_LFUN \ assert(o) PERL_CALLCONV OP * Perl_ck_listiob(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_LISTIOB \ assert(o) PERL_CALLCONV OP * Perl_ck_match(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_MATCH \ assert(o) PERL_CALLCONV OP * Perl_ck_method(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_METHOD \ assert(o) PERL_CALLCONV OP * Perl_ck_null(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_NULL \ assert(o) PERL_CALLCONV OP * Perl_ck_open(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_OPEN \ assert(o) PERL_CALLCONV OP * Perl_ck_prototype(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_PROTOTYPE \ assert(o) PERL_CALLCONV OP * Perl_ck_readline(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_READLINE \ assert(o) PERL_CALLCONV OP * Perl_ck_refassign(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_REFASSIGN \ assert(o) PERL_CALLCONV OP * Perl_ck_repeat(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_REPEAT \ assert(o) PERL_CALLCONV OP * Perl_ck_require(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_REQUIRE \ assert(o) PERL_CALLCONV OP * Perl_ck_return(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_RETURN \ assert(o) PERL_CALLCONV OP * Perl_ck_rfun(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_RFUN \ assert(o) PERL_CALLCONV OP * Perl_ck_rvconst(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_RVCONST \ assert(o) PERL_CALLCONV OP * Perl_ck_sassign(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SASSIGN \ assert(o) PERL_CALLCONV OP * Perl_ck_select(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SELECT \ assert(o) PERL_CALLCONV OP * Perl_ck_shift(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SHIFT \ assert(o) PERL_CALLCONV OP * Perl_ck_smartmatch(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SMARTMATCH \ assert(o) PERL_CALLCONV OP * Perl_ck_sort(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SORT \ assert(o) PERL_CALLCONV OP * Perl_ck_spair(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SPAIR \ assert(o) PERL_CALLCONV OP * Perl_ck_split(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SPLIT \ assert(o) PERL_CALLCONV OP * Perl_ck_stringify(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_STRINGIFY \ assert(o) PERL_CALLCONV OP * Perl_ck_subr(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SUBR \ assert(o) PERL_CALLCONV OP * Perl_ck_substr(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SUBSTR \ assert(o) PERL_CALLCONV OP * Perl_ck_svconst(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_SVCONST \ assert(o) PERL_CALLCONV OP * Perl_ck_tell(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_TELL \ assert(o) PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CK_TRUNC \ assert(o) PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_CK_WARNER \ assert(pat) PERL_CALLCONV void Perl_ck_warner_d(pTHX_ U32 err, const char* pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_CK_WARNER_D \ assert(pat) PERL_CALLCONV bool Perl_ckwarn(pTHX_ U32 w) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_CKWARN PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_CKWARN_D PERL_CALLCONV void Perl_clear_defarray(pTHX_ AV* av, bool abandon); #define PERL_ARGS_ASSERT_CLEAR_DEFARRAY \ assert(av) PERL_CALLCONV const COP* Perl_closest_cop(pTHX_ const COP *cop, const OP *o, const OP *curop, bool opnext); #define PERL_ARGS_ASSERT_CLOSEST_COP \ assert(cop) PERL_CALLCONV OP* Perl_cmpchain_extend(pTHX_ I32 type, OP* ch, OP* right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CMPCHAIN_EXTEND \ assert(ch) PERL_CALLCONV OP* Perl_cmpchain_finish(pTHX_ OP* ch) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CMPCHAIN_FINISH \ assert(ch) PERL_CALLCONV OP* Perl_cmpchain_start(pTHX_ I32 type, OP* left, OP* right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CMPCHAIN_START PERL_CALLCONV const char * Perl_cntrl_to_mnemonic(const U8 c) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CNTRL_TO_MNEMONIC PERL_CALLCONV const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags); #define PERL_ARGS_ASSERT_COP_FETCH_LABEL \ assert(cop) PERL_CALLCONV void Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_COP_STORE_LABEL \ assert(cop); assert(label) PERL_CALLCONV SV * Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code, int * const opnum); #define PERL_ARGS_ASSERT_CORE_PROTOTYPE \ assert(name) PERL_CALLCONV OP * Perl_coresub_op(pTHX_ SV *const coreargssv, const int code, const int opnum); #define PERL_ARGS_ASSERT_CORESUB_OP \ assert(coreargssv) PERL_CALLCONV void Perl_create_eval_scope(pTHX_ OP *retop, U32 flags); #define PERL_ARGS_ASSERT_CREATE_EVAL_SCOPE PERL_CALLCONV_NO_RET void Perl_croak(pTHX_ const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_CROAK PERL_CALLCONV_NO_RET void Perl_croak_caller(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); #define PERL_ARGS_ASSERT_CROAK_CALLER PERL_CALLCONV_NO_RET void Perl_croak_memory_wrap(void) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_MEMORY_WRAP PERL_CALLCONV_NO_RET void Perl_croak_no_mem(void) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_NO_MEM PERL_CALLCONV_NO_RET void Perl_croak_no_modify(void) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_NO_MODIFY PERL_CALLCONV_NO_RET void Perl_croak_popstack(void) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_POPSTACK PERL_CALLCONV_NO_RET void Perl_croak_sv(pTHX_ SV *baseex) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_SV \ assert(baseex) PERL_CALLCONV_NO_RET void Perl_croak_xs_usage(const CV *const cv, const char *const params) __attribute__noreturn__; #define PERL_ARGS_ASSERT_CROAK_XS_USAGE \ assert(cv); assert(params) PERL_CALLCONV Signal_t Perl_csighandler1(int sig); #define PERL_ARGS_ASSERT_CSIGHANDLER1 PERL_CALLCONV Signal_t Perl_csighandler3(int sig, Siginfo_t *info, void *uap); #define PERL_ARGS_ASSERT_CSIGHANDLER3 PERL_CALLCONV regexp_engine const * Perl_current_re_engine(pTHX); #define PERL_ARGS_ASSERT_CURRENT_RE_ENGINE #ifndef NO_MATHOMS PERL_CALLCONV const char * Perl_custom_op_desc(pTHX_ const OP *o) __attribute__deprecated__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CUSTOM_OP_DESC \ assert(o) #endif PERL_CALLCONV XOPRETANY Perl_custom_op_get_field(pTHX_ const OP *o, const xop_flags_enum field) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CUSTOM_OP_GET_FIELD \ assert(o) #ifndef NO_MATHOMS PERL_CALLCONV const char * Perl_custom_op_name(pTHX_ const OP *o) __attribute__deprecated__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CUSTOM_OP_NAME \ assert(o) #endif PERL_CALLCONV void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop); #define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER \ assert(ppaddr); assert(xop) PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \ assert(cv) PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto); #define PERL_ARGS_ASSERT_CV_CLONE \ assert(proto) PERL_CALLCONV CV* Perl_cv_clone_into(pTHX_ CV* proto, CV *target); #define PERL_ARGS_ASSERT_CV_CLONE_INTO \ assert(proto); assert(target) PERL_CALLCONV SV* Perl_cv_const_sv(const CV *const cv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CV_CONST_SV PERL_CALLCONV SV* Perl_cv_const_sv_or_av(const CV *const cv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CV_CONST_SV_OR_AV PERL_CALLCONV void Perl_cv_forget_slab(pTHX_ CV *cv); #define PERL_ARGS_ASSERT_CV_FORGET_SLAB PERL_CALLCONV void Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p); #define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER \ assert(cv); assert(ckfun_p); assert(ckobj_p) PERL_CALLCONV void Perl_cv_get_call_checker_flags(pTHX_ CV *cv, U32 gflags, Perl_call_checker *ckfun_p, SV **ckobj_p, U32 *ckflags_p); #define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER_FLAGS \ assert(cv); assert(ckfun_p); assert(ckobj_p); assert(ckflags_p) PERL_CALLCONV SV * Perl_cv_name(pTHX_ CV *cv, SV *sv, U32 flags); #define PERL_ARGS_ASSERT_CV_NAME \ assert(cv) PERL_CALLCONV void Perl_cv_set_call_checker(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj); #define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER \ assert(cv); assert(ckfun); assert(ckobj) PERL_CALLCONV void Perl_cv_set_call_checker_flags(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj, U32 ckflags); #define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER_FLAGS \ assert(cv); assert(ckfun); assert(ckobj) PERL_CALLCONV void Perl_cv_undef(pTHX_ CV* cv); #define PERL_ARGS_ASSERT_CV_UNDEF \ assert(cv) PERL_CALLCONV void Perl_cv_undef_flags(pTHX_ CV* cv, U32 flags); #define PERL_ARGS_ASSERT_CV_UNDEF_FLAGS \ assert(cv) PERL_CALLCONV GV * Perl_cvgv_from_hek(pTHX_ CV* cv); #define PERL_ARGS_ASSERT_CVGV_FROM_HEK \ assert(cv) PERL_CALLCONV void Perl_cvgv_set(pTHX_ CV* cv, GV* gv); #define PERL_ARGS_ASSERT_CVGV_SET \ assert(cv) PERL_CALLCONV void Perl_cvstash_set(pTHX_ CV* cv, HV* stash); #define PERL_ARGS_ASSERT_CVSTASH_SET \ assert(cv) PERL_CALLCONV void Perl_cx_dump(pTHX_ PERL_CONTEXT* cx); #define PERL_ARGS_ASSERT_CX_DUMP \ assert(cx) PERL_CALLCONV I32 Perl_cxinc(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CXINC PERL_CALLCONV void Perl_deb(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_DEB \ assert(pat) PERL_CALLCONV void Perl_deb_stack_all(pTHX); #define PERL_ARGS_ASSERT_DEB_STACK_ALL PERL_CALLCONV I32 Perl_debop(pTHX_ const OP* o); #define PERL_ARGS_ASSERT_DEBOP \ assert(o) PERL_CALLCONV void Perl_debprofdump(pTHX); #define PERL_ARGS_ASSERT_DEBPROFDUMP PERL_CALLCONV I32 Perl_debstack(pTHX); #define PERL_ARGS_ASSERT_DEBSTACK PERL_CALLCONV I32 Perl_debstackptrs(pTHX); #define PERL_ARGS_ASSERT_DEBSTACKPTRS PERL_CALLCONV SV * Perl_defelem_target(pTHX_ SV *sv, MAGIC *mg) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DEFELEM_TARGET \ assert(sv) PERL_CALLCONV void Perl_delete_eval_scope(pTHX); #define PERL_ARGS_ASSERT_DELETE_EVAL_SCOPE PERL_CALLCONV char* Perl_delimcpy(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen); #define PERL_ARGS_ASSERT_DELIMCPY \ assert(to); assert(toend); assert(from); assert(fromend); assert(retlen) PERL_CALLCONV char* Perl_delimcpy_no_escape(char* to, const char* toend, const char* from, const char* fromend, int delim, I32* retlen); #define PERL_ARGS_ASSERT_DELIMCPY_NO_ESCAPE \ assert(to); assert(toend); assert(from); assert(fromend); assert(retlen) PERL_CALLCONV void Perl_despatch_signals(pTHX); #define PERL_ARGS_ASSERT_DESPATCH_SIGNALS PERL_CALLCONV_NO_RET OP* Perl_die(pTHX_ const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_DIE PERL_CALLCONV_NO_RET OP* Perl_die_sv(pTHX_ SV *baseex) __attribute__noreturn__; #define PERL_ARGS_ASSERT_DIE_SV \ assert(baseex) PERL_CALLCONV_NO_RET void Perl_die_unwind(pTHX_ SV* msv) __attribute__noreturn__; #define PERL_ARGS_ASSERT_DIE_UNWIND \ assert(msv) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_AEXEC \ assert(mark); assert(sp) #endif PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report); #define PERL_ARGS_ASSERT_DO_AEXEC5 \ assert(mark); assert(sp) #ifndef NO_MATHOMS PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode) __attribute__deprecated__; #define PERL_ARGS_ASSERT_DO_BINMODE \ assert(fp) #endif PERL_CALLCONV bool Perl_do_close(pTHX_ GV* gv, bool not_implicit); #define PERL_ARGS_ASSERT_DO_CLOSE PERL_CALLCONV void Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full); #define PERL_ARGS_ASSERT_DO_DUMP_PAD \ assert(file) PERL_CALLCONV bool Perl_do_eof(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_DO_EOF \ assert(gv) PERL_CALLCONV void Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv); #define PERL_ARGS_ASSERT_DO_GV_DUMP \ assert(file); assert(name) PERL_CALLCONV void Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv); #define PERL_ARGS_ASSERT_DO_GVGV_DUMP \ assert(file); assert(name) PERL_CALLCONV void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, const char *name, HV *sv); #define PERL_ARGS_ASSERT_DO_HV_DUMP \ assert(file); assert(name) PERL_CALLCONV void Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp); #define PERL_ARGS_ASSERT_DO_JOIN \ assert(sv); assert(delim); assert(mark); assert(sp) PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); #define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \ assert(file) PERL_CALLCONV I32 Perl_do_ncmp(pTHX_ SV *const left, SV *const right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_NCMP \ assert(left); assert(right) PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o); #define PERL_ARGS_ASSERT_DO_OP_DUMP \ assert(file) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_do_open(pTHX_ GV* gv, const char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp); #define PERL_ARGS_ASSERT_DO_OPEN \ assert(gv); assert(name) #endif PERL_CALLCONV bool Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, PerlIO *supplied_fp, SV **svp, U32 num); #define PERL_ARGS_ASSERT_DO_OPEN6 \ assert(gv); assert(oname) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num) __attribute__deprecated__; #define PERL_ARGS_ASSERT_DO_OPEN9 \ assert(gv); assert(name); assert(svs) #endif PERL_CALLCONV bool Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm, Stat_t *statbufp); #define PERL_ARGS_ASSERT_DO_OPEN_RAW \ assert(gv); assert(oname) PERL_CALLCONV bool Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num); #define PERL_ARGS_ASSERT_DO_OPENN \ assert(gv); assert(oname) PERL_CALLCONV void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, const PMOP *pm); #define PERL_ARGS_ASSERT_DO_PMOP_DUMP \ assert(file) PERL_CALLCONV bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp); #define PERL_ARGS_ASSERT_DO_PRINT \ assert(fp) PERL_CALLCONV OP* Perl_do_readline(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_READLINE PERL_CALLCONV bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence); #define PERL_ARGS_ASSERT_DO_SEEK PERL_CALLCONV void Perl_do_sprintf(pTHX_ SV* sv, SSize_t len, SV** sarg); #define PERL_ARGS_ASSERT_DO_SPRINTF \ assert(sv); assert(sarg) PERL_CALLCONV void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim); #define PERL_ARGS_ASSERT_DO_SV_DUMP \ assert(file) PERL_CALLCONV Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence); #define PERL_ARGS_ASSERT_DO_SYSSEEK \ assert(gv) PERL_CALLCONV Off_t Perl_do_tell(pTHX_ GV* gv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TELL \ assert(gv) PERL_CALLCONV Size_t Perl_do_trans(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_DO_TRANS \ assert(sv) PERL_CALLCONV I16 Perl_do_uniprop_match(const char * const key, const U16 key_len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_UNIPROP_MATCH \ assert(key) PERL_CALLCONV UV Perl_do_vecget(pTHX_ SV* sv, STRLEN offset, int size); #define PERL_ARGS_ASSERT_DO_VECGET \ assert(sv) PERL_CALLCONV void Perl_do_vecset(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_DO_VECSET \ assert(sv) PERL_CALLCONV void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right); #define PERL_ARGS_ASSERT_DO_VOP \ assert(sv); assert(left); assert(right) PERL_CALLCONV OP* Perl_dofile(pTHX_ OP* term, I32 force_builtin); #define PERL_ARGS_ASSERT_DOFILE \ assert(term) PERL_CALLCONV bool Perl_doing_taint(int argc, char** argv, char** env) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOING_TAINT PERL_CALLCONV OP * Perl_doref(pTHX_ OP *o, I32 type, bool set_op_ref); #define PERL_ARGS_ASSERT_DOREF \ assert(o) PERL_CALLCONV void Perl_dounwind(pTHX_ I32 cxix); #define PERL_ARGS_ASSERT_DOUNWIND PERL_CALLCONV U8 Perl_dowantarray(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOWANTARRAY PERL_CALLCONV void Perl_drand48_init_r(perl_drand48_t *random_state, U32 seed); #define PERL_ARGS_ASSERT_DRAND48_INIT_R \ assert(random_state) PERL_CALLCONV double Perl_drand48_r(perl_drand48_t *random_state); #define PERL_ARGS_ASSERT_DRAND48_R \ assert(random_state) PERL_CALLCONV void Perl_dump_all(pTHX); #define PERL_ARGS_ASSERT_DUMP_ALL PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl); #define PERL_ARGS_ASSERT_DUMP_ALL_PERL PERL_CALLCONV void Perl_dump_eval(pTHX); #define PERL_ARGS_ASSERT_DUMP_EVAL PERL_CALLCONV void Perl_dump_form(pTHX_ const GV* gv); #define PERL_ARGS_ASSERT_DUMP_FORM \ assert(gv) PERL_CALLCONV void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...) __attribute__format__(__printf__,pTHX_3,pTHX_4); #define PERL_ARGS_ASSERT_DUMP_INDENT \ assert(file); assert(pat) PERL_CALLCONV void Perl_dump_packsubs(pTHX_ const HV* stash); #define PERL_ARGS_ASSERT_DUMP_PACKSUBS \ assert(stash) PERL_CALLCONV void Perl_dump_packsubs_perl(pTHX_ const HV* stash, bool justperl); #define PERL_ARGS_ASSERT_DUMP_PACKSUBS_PERL \ assert(stash) PERL_CALLCONV void Perl_dump_sub(pTHX_ const GV* gv); #define PERL_ARGS_ASSERT_DUMP_SUB \ assert(gv) PERL_CALLCONV void Perl_dump_sub_perl(pTHX_ const GV* gv, bool justperl); #define PERL_ARGS_ASSERT_DUMP_SUB_PERL \ assert(gv) PERL_CALLCONV void Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args); #define PERL_ARGS_ASSERT_DUMP_VINDENT \ assert(file); assert(pat) PERL_CALLCONV STRLEN* Perl_dup_warnings(pTHX_ STRLEN* warnings); #define PERL_ARGS_ASSERT_DUP_WARNINGS PERL_CALLCONV void Perl_emulate_cop_io(pTHX_ const COP *const c, SV *const sv); #define PERL_ARGS_ASSERT_EMULATE_COP_IO \ assert(c); assert(sv) PERL_CALLCONV SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error); #define PERL_ARGS_ASSERT_EVAL_PV \ assert(p) PERL_CALLCONV I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags); #define PERL_ARGS_ASSERT_EVAL_SV \ assert(sv) PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags); #define PERL_ARGS_ASSERT_FBM_COMPILE \ assert(sv) PERL_CALLCONV char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlestr, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FBM_INSTR \ assert(big); assert(bigend); assert(littlestr) PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv); #define PERL_ARGS_ASSERT_FILTER_ADD PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp); #define PERL_ARGS_ASSERT_FILTER_DEL \ assert(funcp) PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FILTER_READ \ assert(buf_sv) PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o); #define PERL_ARGS_ASSERT_FINALIZE_OPTREE \ assert(o) PERL_CALLCONV CV * Perl_find_lexical_cv(pTHX_ PADOFFSET off); #define PERL_ARGS_ASSERT_FIND_LEXICAL_CV PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_RUNCV PERL_CALLCONV CV* Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_RUNCV_WHERE PERL_CALLCONV SV* Perl_find_rundefsv(pTHX); #define PERL_ARGS_ASSERT_FIND_RUNDEFSV PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX) __attribute__deprecated__; #define PERL_ARGS_ASSERT_FIND_RUNDEFSVOFFSET PERL_CALLCONV char* Perl_find_script(pTHX_ const char *scriptname, bool dosearch, const char *const *const search_ext, I32 flags); #define PERL_ARGS_ASSERT_FIND_SCRIPT \ assert(scriptname) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 Perl_foldEQ(const char* a, const char* b, I32 len); #define PERL_ARGS_ASSERT_FOLDEQ \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 Perl_foldEQ_latin1(const char* a, const char* b, I32 len); #define PERL_ARGS_ASSERT_FOLDEQ_LATIN1 \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 Perl_foldEQ_locale(const char* a, const char* b, I32 len); #define PERL_ARGS_ASSERT_FOLDEQ_LOCALE \ assert(a); assert(b) #endif /* PERL_CALLCONV I32 foldEQ_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */ #define PERL_ARGS_ASSERT_FOLDEQ_UTF8 PERL_CALLCONV I32 Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags); #define PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS \ assert(s1); assert(s2) PERL_CALLCONV char* Perl_form(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_FORM \ assert(pat) PERL_CALLCONV void Perl_free_tied_hv_pool(pTHX); #define PERL_ARGS_ASSERT_FREE_TIED_HV_POOL PERL_CALLCONV void Perl_free_tmps(pTHX); #define PERL_ARGS_ASSERT_FREE_TMPS PERL_CALLCONV SV* Perl_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e, const bool is_utf8, const char** error_msg) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME \ assert(s); assert(e); assert(error_msg) PERL_CALLCONV AV* Perl_get_av(pTHX_ const char *name, I32 flags); #define PERL_ARGS_ASSERT_GET_AV \ assert(name) PERL_CALLCONV void* Perl_get_context(void) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_CONTEXT PERL_CALLCONV CV* Perl_get_cv(pTHX_ const char* name, I32 flags); #define PERL_ARGS_ASSERT_GET_CV \ assert(name) PERL_CALLCONV CV* Perl_get_cvn_flags(pTHX_ const char* name, STRLEN len, I32 flags); #define PERL_ARGS_ASSERT_GET_CVN_FLAGS \ assert(name) PERL_CALLCONV void Perl_get_db_sub(pTHX_ SV **svp, CV *cv); #define PERL_ARGS_ASSERT_GET_DB_SUB \ assert(cv) PERL_CALLCONV const char * Perl_get_deprecated_property_msg(const Size_t warning_offset) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_DEPRECATED_PROPERTY_MSG PERL_CALLCONV void Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer); #define PERL_ARGS_ASSERT_GET_HASH_SEED \ assert(seed_buffer) PERL_CALLCONV HV* Perl_get_hv(pTHX_ const char *name, I32 flags); #define PERL_ARGS_ASSERT_GET_HV \ assert(name) PERL_CALLCONV const char* Perl_get_no_modify(pTHX) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_GET_NO_MODIFY PERL_CALLCONV char** Perl_get_op_descs(pTHX) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_GET_OP_DESCS PERL_CALLCONV char** Perl_get_op_names(pTHX) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_GET_OP_NAMES PERL_CALLCONV U32* Perl_get_opargs(pTHX) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_GET_OPARGS PERL_CALLCONV PPADDR_t* Perl_get_ppaddr(pTHX) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_GET_PPADDR PERL_CALLCONV SV * Perl_get_prop_definition(pTHX_ const int table_index) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_PROP_DEFINITION PERL_CALLCONV const char * const * Perl_get_prop_values(const int table_index) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_PROP_VALUES PERL_CALLCONV REGEXP * Perl_get_re_arg(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_GET_RE_ARG PERL_CALLCONV SV* Perl_get_sv(pTHX_ const char *name, I32 flags); #define PERL_ARGS_ASSERT_GET_SV \ assert(name) PERL_CALLCONV MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_VTBL PERL_CALLCONV int Perl_getcwd_sv(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_GETCWD_SV \ assert(sv) PERL_CALLCONV void Perl_gp_free(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_GP_FREE PERL_CALLCONV GP* Perl_gp_ref(pTHX_ GP* gp); #define PERL_ARGS_ASSERT_GP_REF PERL_CALLCONV bool Perl_grok_atoUV(const char* pv, UV* valptr, const char** endptr); #define PERL_ARGS_ASSERT_GROK_ATOUV \ assert(pv); assert(valptr) PERL_CALLCONV UV Perl_grok_bin(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result); #define PERL_ARGS_ASSERT_GROK_BIN \ assert(start); assert(len_p); assert(flags) PERL_CALLCONV UV Perl_grok_bin_oct_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result, const unsigned shift, const U8 lookup_bit, const char prefix); #define PERL_ARGS_ASSERT_GROK_BIN_OCT_HEX \ assert(start); assert(len_p); assert(flags) PERL_CALLCONV UV Perl_grok_hex(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result); #define PERL_ARGS_ASSERT_GROK_HEX \ assert(start); assert(len_p); assert(flags) PERL_CALLCONV int Perl_grok_infnan(pTHX_ const char** sp, const char *send); #define PERL_ARGS_ASSERT_GROK_INFNAN \ assert(sp); assert(send) PERL_CALLCONV int Perl_grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep); #define PERL_ARGS_ASSERT_GROK_NUMBER \ assert(pv) PERL_CALLCONV int Perl_grok_number_flags(pTHX_ const char *pv, STRLEN len, UV *valuep, U32 flags); #define PERL_ARGS_ASSERT_GROK_NUMBER_FLAGS \ assert(pv) PERL_CALLCONV bool Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX \ assert(sp); assert(send) PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flags, NV *result); #define PERL_ARGS_ASSERT_GROK_OCT \ assert(start); assert(len_p); assert(flags) #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_AVadd(pTHX_ GV *gv); #define PERL_ARGS_ASSERT_GV_AVADD #endif #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv); #define PERL_ARGS_ASSERT_GV_HVADD #endif #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_GV_IOADD #endif PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type); #define PERL_ARGS_ASSERT_GV_ADD_BY_TYPE /* PERL_CALLCONV GV* gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_GV_AUTOLOAD4 PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV \ assert(namepv) PERL_CALLCONV GV* Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN \ assert(name) PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \ assert(namesv) PERL_CALLCONV void Perl_gv_check(pTHX_ HV* stash); #define PERL_ARGS_ASSERT_GV_CHECK \ assert(stash) PERL_CALLCONV SV* Perl_gv_const_sv(pTHX_ GV* gv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GV_CONST_SV \ assert(gv) PERL_CALLCONV void Perl_gv_dump(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_GV_DUMP #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_efullname(pTHX_ SV* sv, const GV* gv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_GV_EFULLNAME \ assert(sv); assert(gv) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix); #define PERL_ARGS_ASSERT_GV_EFULLNAME3 \ assert(sv); assert(gv) #endif PERL_CALLCONV void Perl_gv_efullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain); #define PERL_ARGS_ASSERT_GV_EFULLNAME4 \ assert(sv); assert(gv) PERL_CALLCONV GV* Perl_gv_fetchfile(pTHX_ const char* name); #define PERL_ARGS_ASSERT_GV_FETCHFILE \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS \ assert(name) /* PERL_CALLCONV GV* gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */ #define PERL_ARGS_ASSERT_GV_FETCHMETH /* PERL_CALLCONV GV* gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level); */ #define PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD PERL_CALLCONV GV* Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_PV \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchmeth_pv_autoload(pTHX_ HV* stash, const char* name, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchmeth_sv(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_SV \ assert(namesv) PERL_CALLCONV GV* Perl_gv_fetchmeth_sv_autoload(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD \ assert(namesv) #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name); #define PERL_ARGS_ASSERT_GV_FETCHMETHOD \ assert(stash); assert(name) #endif PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload); #define PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD \ assert(stash); assert(name) PERL_CALLCONV GV* Perl_gv_fetchmethod_pv_flags(pTHX_ HV* stash, const char* name, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS \ assert(stash); assert(name) PERL_CALLCONV GV* Perl_gv_fetchmethod_pvn_flags(pTHX_ HV* stash, const char* name, const STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS \ assert(stash); assert(name) PERL_CALLCONV GV* Perl_gv_fetchmethod_sv_flags(pTHX_ HV* stash, SV* namesv, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS \ assert(stash); assert(namesv) PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_FETCHPV \ assert(nambeg) PERL_CALLCONV GV* Perl_gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, I32 flags, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_FETCHPVN_FLAGS \ assert(name) PERL_CALLCONV GV* Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_FETCHSV \ assert(name) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_fullname(pTHX_ SV* sv, const GV* gv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_GV_FULLNAME \ assert(sv); assert(gv) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix); #define PERL_ARGS_ASSERT_GV_FULLNAME3 \ assert(sv); assert(gv) #endif PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* prefix, bool keepmain); #define PERL_ARGS_ASSERT_GV_FULLNAME4 \ assert(sv); assert(gv) PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GV_HANDLER /* PERL_CALLCONV void gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi); */ #define PERL_ARGS_ASSERT_GV_INIT PERL_CALLCONV void Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags); #define PERL_ARGS_ASSERT_GV_INIT_PV \ assert(gv); assert(name) PERL_CALLCONV void Perl_gv_init_pvn(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_GV_INIT_PVN \ assert(gv); assert(name) PERL_CALLCONV void Perl_gv_init_sv(pTHX_ GV* gv, HV* stash, SV* namesv, U32 flags); #define PERL_ARGS_ASSERT_GV_INIT_SV \ assert(gv); assert(namesv) PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags); #define PERL_ARGS_ASSERT_GV_NAME_SET \ assert(gv); assert(name) PERL_CALLCONV GV * Perl_gv_override(pTHX_ const char * const name, const STRLEN len); #define PERL_ARGS_ASSERT_GV_OVERRIDE \ assert(name) PERL_CALLCONV void Perl_gv_setref(pTHX_ SV *const dstr, SV *const sstr); #define PERL_ARGS_ASSERT_GV_SETREF \ assert(dstr); assert(sstr) PERL_CALLCONV HV* Perl_gv_stashpv(pTHX_ const char* name, I32 flags); #define PERL_ARGS_ASSERT_GV_STASHPV \ assert(name) PERL_CALLCONV HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 flags); #define PERL_ARGS_ASSERT_GV_STASHPVN \ assert(name) PERL_CALLCONV HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 flags); #define PERL_ARGS_ASSERT_GV_STASHSV \ assert(sv) PERL_CALLCONV void Perl_gv_try_downgrade(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_GV_TRY_DOWNGRADE \ assert(gv) PERL_CALLCONV AV** Perl_hv_backreferences_p(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_BACKREFERENCES_P \ assert(hv) PERL_CALLCONV SV* Perl_hv_bucket_ratio(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_BUCKET_RATIO \ assert(hv) PERL_CALLCONV void Perl_hv_clear(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_CLEAR PERL_CALLCONV void Perl_hv_clear_placeholders(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_CLEAR_PLACEHOLDERS \ assert(hv) PERL_CALLCONV void* Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char* key, STRLEN klen, int flags, int action, SV *val, U32 hash); #define PERL_ARGS_ASSERT_HV_COMMON PERL_CALLCONV void* Perl_hv_common_key_len(pTHX_ HV *hv, const char *key, I32 klen_i32, const int action, SV *val, const U32 hash); #define PERL_ARGS_ASSERT_HV_COMMON_KEY_LEN \ assert(key) PERL_CALLCONV HV * Perl_hv_copy_hints_hv(pTHX_ HV *const ohv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_COPY_HINTS_HV PERL_CALLCONV void Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry); #define PERL_ARGS_ASSERT_HV_DELAYFREE_ENT \ assert(hv) #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_hv_delete(pTHX_ HV *hv, const char *key, I32 klen, I32 flags); #define PERL_ARGS_ASSERT_HV_DELETE \ assert(key) #endif #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash); #define PERL_ARGS_ASSERT_HV_DELETE_ENT \ assert(keysv) #endif PERL_CALLCONV HE** Perl_hv_eiter_p(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_EITER_P \ assert(hv) PERL_CALLCONV void Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter); #define PERL_ARGS_ASSERT_HV_EITER_SET \ assert(hv) PERL_CALLCONV void Perl_hv_ename_add(pTHX_ HV *hv, const char *name, U32 len, U32 flags); #define PERL_ARGS_ASSERT_HV_ENAME_ADD \ assert(hv); assert(name) PERL_CALLCONV void Perl_hv_ename_delete(pTHX_ HV *hv, const char *name, U32 len, U32 flags); #define PERL_ARGS_ASSERT_HV_ENAME_DELETE \ assert(hv); assert(name) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_hv_exists(pTHX_ HV *hv, const char *key, I32 klen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_EXISTS \ assert(key) #endif #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_EXISTS_ENT \ assert(keysv) #endif #ifndef NO_MATHOMS PERL_CALLCONV SV** Perl_hv_fetch(pTHX_ HV *hv, const char *key, I32 klen, I32 lval); #define PERL_ARGS_ASSERT_HV_FETCH \ assert(key) #endif #ifndef NO_MATHOMS PERL_CALLCONV HE* Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, U32 hash); #define PERL_ARGS_ASSERT_HV_FETCH_ENT \ assert(keysv) #endif PERL_CALLCONV STRLEN Perl_hv_fill(pTHX_ HV *const hv); #define PERL_ARGS_ASSERT_HV_FILL \ assert(hv) PERL_CALLCONV void Perl_hv_free_ent(pTHX_ HV *hv, HE *entry); #define PERL_ARGS_ASSERT_HV_FREE_ENT \ assert(hv) PERL_CALLCONV I32 Perl_hv_iterinit(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_ITERINIT \ assert(hv) PERL_CALLCONV char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERKEY \ assert(entry); assert(retlen) PERL_CALLCONV SV* Perl_hv_iterkeysv(pTHX_ HE* entry) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERKEYSV \ assert(entry) #ifndef NO_MATHOMS PERL_CALLCONV HE* Perl_hv_iternext(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERNEXT \ assert(hv) #endif PERL_CALLCONV HE* Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERNEXT_FLAGS \ assert(hv) PERL_CALLCONV SV* Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERNEXTSV \ assert(hv); assert(key); assert(retlen) PERL_CALLCONV SV* Perl_hv_iterval(pTHX_ HV *hv, HE *entry) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_ITERVAL \ assert(hv); assert(entry) PERL_CALLCONV void Perl_hv_ksplit(pTHX_ HV *hv, IV newmax); #define PERL_ARGS_ASSERT_HV_KSPLIT \ assert(hv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how); #define PERL_ARGS_ASSERT_HV_MAGIC \ assert(hv) #endif PERL_CALLCONV void Perl_hv_name_set(pTHX_ HV *hv, const char *name, U32 len, U32 flags); #define PERL_ARGS_ASSERT_HV_NAME_SET \ assert(hv) PERL_CALLCONV I32 Perl_hv_placeholders_get(pTHX_ const HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_GET \ assert(hv) PERL_CALLCONV SSize_t* Perl_hv_placeholders_p(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_P \ assert(hv) PERL_CALLCONV void Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph); #define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET \ assert(hv) PERL_CALLCONV void Perl_hv_pushkv(pTHX_ HV *hv, U32 flags); #define PERL_ARGS_ASSERT_HV_PUSHKV \ assert(hv) PERL_CALLCONV void Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand); #define PERL_ARGS_ASSERT_HV_RAND_SET \ assert(hv) PERL_CALLCONV I32* Perl_hv_riter_p(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_RITER_P \ assert(hv) PERL_CALLCONV void Perl_hv_riter_set(pTHX_ HV *hv, I32 riter); #define PERL_ARGS_ASSERT_HV_RITER_SET \ assert(hv) PERL_CALLCONV SV* Perl_hv_scalar(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HV_SCALAR \ assert(hv) #ifndef NO_MATHOMS PERL_CALLCONV SV** Perl_hv_store(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash); #define PERL_ARGS_ASSERT_HV_STORE #endif #ifndef NO_MATHOMS PERL_CALLCONV HE* Perl_hv_store_ent(pTHX_ HV *hv, SV *key, SV *val, U32 hash); #define PERL_ARGS_ASSERT_HV_STORE_ENT #endif #ifndef NO_MATHOMS PERL_CALLCONV SV** Perl_hv_store_flags(pTHX_ HV *hv, const char *key, I32 klen, SV *val, U32 hash, int flags); #define PERL_ARGS_ASSERT_HV_STORE_FLAGS #endif /* PERL_CALLCONV void hv_undef(pTHX_ HV *hv); */ #define PERL_ARGS_ASSERT_HV_UNDEF PERL_CALLCONV void Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags); #define PERL_ARGS_ASSERT_HV_UNDEF_FLAGS /* PERL_CALLCONV I32 ibcmp(pTHX_ const char* a, const char* b, I32 len) __attribute__warn_unused_result__ __attribute__pure__; */ #define PERL_ARGS_ASSERT_IBCMP /* PERL_CALLCONV I32 ibcmp_locale(pTHX_ const char* a, const char* b, I32 len) __attribute__warn_unused_result__ __attribute__pure__; */ #define PERL_ARGS_ASSERT_IBCMP_LOCALE /* PERL_CALLCONV I32 ibcmp_utf8(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2); */ #define PERL_ARGS_ASSERT_IBCMP_UTF8 PERL_CALLCONV void Perl_init_argv_symbols(pTHX_ int argc, char **argv); #define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS \ assert(argv) PERL_CALLCONV void Perl_init_constants(pTHX); #define PERL_ARGS_ASSERT_INIT_CONSTANTS PERL_CALLCONV void Perl_init_dbargs(pTHX); #define PERL_ARGS_ASSERT_INIT_DBARGS PERL_CALLCONV void Perl_init_debugger(pTHX); #define PERL_ARGS_ASSERT_INIT_DEBUGGER PERL_CALLCONV int Perl_init_i18nl10n(pTHX_ int printwarn); #define PERL_ARGS_ASSERT_INIT_I18NL10N #ifndef NO_MATHOMS PERL_CALLCONV int Perl_init_i18nl14n(pTHX_ int printwarn) __attribute__deprecated__; #define PERL_ARGS_ASSERT_INIT_I18NL14N #endif PERL_CALLCONV void Perl_init_named_cv(pTHX_ CV *cv, OP *nameop); #define PERL_ARGS_ASSERT_INIT_NAMED_CV \ assert(cv); assert(nameop) PERL_CALLCONV void Perl_init_stacks(pTHX); #define PERL_ARGS_ASSERT_INIT_STACKS PERL_CALLCONV void Perl_init_tm(pTHX_ struct tm *ptm); #define PERL_ARGS_ASSERT_INIT_TM \ assert(ptm) PERL_CALLCONV void Perl_init_uniprops(pTHX); #define PERL_ARGS_ASSERT_INIT_UNIPROPS #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_instr(const char* big, const char* little) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_INSTR \ assert(big); assert(little) #endif PERL_CALLCONV U32 Perl_intro_my(pTHX); #define PERL_ARGS_ASSERT_INTRO_MY PERL_CALLCONV OP* Perl_invert(pTHX_ OP* cmd) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVERT PERL_CALLCONV void Perl_invmap_dump(pTHX_ SV* invlist, UV * map); #define PERL_ARGS_ASSERT_INVMAP_DUMP \ assert(invlist); assert(map) PERL_CALLCONV bool Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail); #define PERL_ARGS_ASSERT_IO_CLOSE \ assert(io) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t Perl_isC9_STRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISC9_STRICT_UTF8_CHAR \ assert(s0); assert(e) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t Perl_isSTRICT_UTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISSTRICT_UTF8_CHAR \ assert(s0); assert(e) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t Perl_isUTF8_CHAR(const U8 * const s0, const U8 * const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISUTF8_CHAR \ assert(s0); assert(e) #endif /* PERL_CALLCONV bool is_ascii_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__ __attribute__pure__; */ #define PERL_ARGS_ASSERT_IS_ASCII_STRING /* PERL_CALLCONV bool is_c9strict_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING /* PERL_CALLCONV bool is_c9strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */ #define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOC #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); #define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN \ assert(s) #endif /* PERL_CALLCONV bool is_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__ __attribute__pure__; */ #define PERL_ARGS_ASSERT_IS_INVARIANT_STRING PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_LVALUE_SUB #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_safe_syscall(pTHX_ const char *pv, STRLEN len, const char *what, const char *op_name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_SAFE_SYSCALL \ assert(pv); assert(what); assert(op_name) #endif /* PERL_CALLCONV bool is_strict_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING /* PERL_CALLCONV bool is_strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */ #define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOC #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); #define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN \ assert(s) #endif #ifndef NO_MATHOMS PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s) __attribute__deprecated__; #define PERL_ARGS_ASSERT_IS_UTF8_CHAR \ assert(s) #endif #ifndef NO_MATHOMS PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end); #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \ assert(buf); assert(buf_end) #endif PERL_CALLCONV STRLEN Perl_is_utf8_char_helper(const U8 * const s, const U8 * e, const U32 flags) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_HELPER \ assert(s); assert(e) /* PERL_CALLCONV bool is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */ #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_FLAGS /* PERL_CALLCONV bool is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */ #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOC_FLAGS #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS \ assert(s) #endif /* PERL_CALLCONV bool is_utf8_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC \ assert(s) #endif /* PERL_CALLCONV bool is_utf8_string(const U8 *s, STRLEN len) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_IS_UTF8_STRING #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS \ assert(s) #endif #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_is_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep); #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC \ assert(s); assert(ep) #endif /* PERL_CALLCONV bool is_utf8_string_loc_flags(const U8 *s, STRLEN len, const U8 **ep, const U32 flags); */ #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC_FLAGS #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el); #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN \ assert(s) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags); #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS \ assert(s) #endif /* PERL_CALLCONV bool is_utf8_valid_partial_char(const U8 * const s, const U8 * const e) __attribute__warn_unused_result__ __attribute__pure__; */ #define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_valid_partial_char_flags(const U8 * const s, const U8 * const e, const U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS \ assert(s); assert(e) #endif PERL_CALLCONV bool Perl_isinfnan(NV nv) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_ISINFNAN PERL_CALLCONV bool Perl_isinfnansv(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_ISINFNANSV \ assert(sv) PERL_CALLCONV OP* Perl_jmaybe(pTHX_ OP *o); #define PERL_ARGS_ASSERT_JMAYBE \ assert(o) PERL_CALLCONV I32 Perl_keyword(pTHX_ const char *name, I32 len, bool all_keywords) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_KEYWORD \ assert(name) PERL_CALLCONV int Perl_keyword_plugin_standard(pTHX_ char* keyword_ptr, STRLEN keyword_len, OP** op_ptr); #define PERL_ARGS_ASSERT_KEYWORD_PLUGIN_STANDARD \ assert(keyword_ptr); assert(op_ptr) PERL_CALLCONV void Perl_leave_adjust_stacks(pTHX_ SV **from_sp, SV **to_sp, U8 gimme, int filter); #define PERL_ARGS_ASSERT_LEAVE_ADJUST_STACKS \ assert(from_sp); assert(to_sp) PERL_CALLCONV void Perl_leave_scope(pTHX_ I32 base); #define PERL_ARGS_ASSERT_LEAVE_SCOPE PERL_CALLCONV bool Perl_lex_bufutf8(pTHX); #define PERL_ARGS_ASSERT_LEX_BUFUTF8 PERL_CALLCONV void Perl_lex_discard_to(pTHX_ char* ptr); #define PERL_ARGS_ASSERT_LEX_DISCARD_TO \ assert(ptr) PERL_CALLCONV char* Perl_lex_grow_linestr(pTHX_ STRLEN len); #define PERL_ARGS_ASSERT_LEX_GROW_LINESTR PERL_CALLCONV bool Perl_lex_next_chunk(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_LEX_NEXT_CHUNK PERL_CALLCONV I32 Perl_lex_peek_unichar(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_LEX_PEEK_UNICHAR PERL_CALLCONV void Perl_lex_read_space(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_LEX_READ_SPACE PERL_CALLCONV void Perl_lex_read_to(pTHX_ char* ptr); #define PERL_ARGS_ASSERT_LEX_READ_TO \ assert(ptr) PERL_CALLCONV I32 Perl_lex_read_unichar(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_LEX_READ_UNICHAR PERL_CALLCONV void Perl_lex_start(pTHX_ SV* line, PerlIO *rsfp, U32 flags); #define PERL_ARGS_ASSERT_LEX_START PERL_CALLCONV void Perl_lex_stuff_pv(pTHX_ const char* pv, U32 flags); #define PERL_ARGS_ASSERT_LEX_STUFF_PV \ assert(pv) PERL_CALLCONV void Perl_lex_stuff_pvn(pTHX_ const char* pv, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_LEX_STUFF_PVN \ assert(pv) PERL_CALLCONV void Perl_lex_stuff_sv(pTHX_ SV* sv, U32 flags); #define PERL_ARGS_ASSERT_LEX_STUFF_SV \ assert(sv) PERL_CALLCONV void Perl_lex_unstuff(pTHX_ char* ptr); #define PERL_ARGS_ASSERT_LEX_UNSTUFF \ assert(ptr) PERL_CALLCONV OP* Perl_list(pTHX_ OP* o); #define PERL_ARGS_ASSERT_LIST PERL_CALLCONV HV* Perl_load_charnames(pTHX_ SV * char_name, const char * context, const STRLEN context_len, const char ** error_msg) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_LOAD_CHARNAMES \ assert(char_name); assert(context); assert(error_msg) PERL_CALLCONV void Perl_load_module(pTHX_ U32 flags, SV* name, SV* ver, ...); #define PERL_ARGS_ASSERT_LOAD_MODULE \ assert(name) PERL_CALLCONV OP* Perl_localize(pTHX_ OP *o, I32 lex); #define PERL_ARGS_ASSERT_LOCALIZE \ assert(o) PERL_CALLCONV I32 Perl_looks_like_number(pTHX_ SV *const sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER \ assert(sv) PERL_CALLCONV int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_cleararylen_p(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARENV \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_clearhint(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARHINT \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_clearhints(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARHINTS \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_clearisa(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARISA \ assert(mg) PERL_CALLCONV int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARPACK \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_CLEARSIG \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_copycallchecker(pTHX_ SV* sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen); #define PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER \ assert(sv); assert(mg); assert(nsv) PERL_CALLCONV void Perl_magic_dump(pTHX_ const MAGIC *mg); #define PERL_ARGS_ASSERT_MAGIC_DUMP PERL_CALLCONV int Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_EXISTSPACK \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_freearylen_p(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_FREEARYLEN_P \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_freeovrld(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_FREEOVRLD \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GET \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getarylen(pTHX_ SV* sv, const MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETARYLEN \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getdebugvar(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETDEBUGVAR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETDEFELEM \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETNKEYS \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETPACK \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETPOS \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETSIG \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETSUBSTR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETTAINT \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETUVAR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_GETVEC \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg); #define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS \ assert(sv); assert(mg) PERL_CALLCONV SV* Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, U32 argc, ...); #define PERL_ARGS_ASSERT_MAGIC_METHCALL \ assert(sv); assert(mg); assert(meth) PERL_CALLCONV int Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key); #define PERL_ARGS_ASSERT_MAGIC_NEXTPACK \ assert(sv); assert(mg); assert(key) PERL_CALLCONV U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_REGDATA_CNT \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET \ assert(sv); assert(mg) PERL_CALLCONV SV* Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg); #define PERL_ARGS_ASSERT_MAGIC_SCALARPACK \ assert(hv); assert(mg) PERL_CALLCONV int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SET \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETARYLEN \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETDBLINE \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setdebugvar(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETDEBUGVAR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETDEFELEM \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETENV \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_sethint(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETHINT \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETISA \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setlvref(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETLVREF \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETMGLOB \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETNKEYS \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setnonelem(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETNONELEM \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETPACK \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETPOS \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setregexp(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETREGEXP \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETSIG \ assert(mg) PERL_CALLCONV int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETSUBSTR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETTAINT \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setutf8(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETUTF8 \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETUVAR \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETVEC \ assert(sv); assert(mg) PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SIZEPACK \ assert(sv); assert(mg) PERL_CALLCONV int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_WIPEPACK \ assert(sv); assert(mg) PERL_CALLCONV Malloc_t Perl_malloc(MEM_SIZE nbytes) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MALLOC PERL_CALLCONV I32 * Perl_markstack_grow(pTHX); #define PERL_ARGS_ASSERT_MARKSTACK_GROW PERL_CALLCONV SV* Perl_mess(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_MESS \ assert(pat) PERL_CALLCONV SV* Perl_mess_sv(pTHX_ SV* basemsg, bool consume); #define PERL_ARGS_ASSERT_MESS_SV \ assert(basemsg) PERL_CALLCONV Free_t Perl_mfree(Malloc_t where); #define PERL_ARGS_ASSERT_MFREE PERL_CALLCONV int Perl_mg_clear(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_CLEAR \ assert(sv) PERL_CALLCONV int Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen); #define PERL_ARGS_ASSERT_MG_COPY \ assert(sv); assert(nsv) PERL_CALLCONV MAGIC* Perl_mg_find(const SV* sv, int type) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MG_FIND PERL_CALLCONV MAGIC* Perl_mg_find_mglob(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MG_FIND_MGLOB \ assert(sv) PERL_CALLCONV MAGIC* Perl_mg_findext(const SV* sv, int type, const MGVTBL *vtbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MG_FINDEXT PERL_CALLCONV int Perl_mg_free(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_FREE \ assert(sv) PERL_CALLCONV void Perl_mg_free_type(pTHX_ SV* sv, int how); #define PERL_ARGS_ASSERT_MG_FREE_TYPE \ assert(sv) PERL_CALLCONV void Perl_mg_freeext(pTHX_ SV* sv, int how, const MGVTBL *vtbl); #define PERL_ARGS_ASSERT_MG_FREEEXT \ assert(sv) PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_GET \ assert(sv) PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_MG_LENGTH \ assert(sv) PERL_CALLCONV void Perl_mg_localize(pTHX_ SV* sv, SV* nsv, bool setmagic); #define PERL_ARGS_ASSERT_MG_LOCALIZE \ assert(sv); assert(nsv) PERL_CALLCONV void Perl_mg_magical(SV* sv); #define PERL_ARGS_ASSERT_MG_MAGICAL \ assert(sv) PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_SET \ assert(sv) PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_MG_SIZE \ assert(sv) PERL_CALLCONV void Perl_mini_mktime(struct tm *ptm); #define PERL_ARGS_ASSERT_MINI_MKTIME \ assert(ptm) PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len); #define PERL_ARGS_ASSERT_MODE_FROM_DISCIPLINE PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size); #define PERL_ARGS_ASSERT_MORE_BODIES PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s); #define PERL_ARGS_ASSERT_MORESWITCHES \ assert(s) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE char * Perl_mortal_getenv(const char * str) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MORTAL_GETENV \ assert(str) #endif PERL_CALLCONV const struct mro_alg * Perl_mro_get_from_name(pTHX_ SV *name); #define PERL_ARGS_ASSERT_MRO_GET_FROM_NAME \ assert(name) PERL_CALLCONV AV* Perl_mro_get_linear_isa(pTHX_ HV* stash); #define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA \ assert(stash) PERL_CALLCONV SV* Perl_mro_get_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which); #define PERL_ARGS_ASSERT_MRO_GET_PRIVATE_DATA \ assert(smeta); assert(which) PERL_CALLCONV void Perl_mro_isa_changed_in(pTHX_ HV* stash); #define PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN \ assert(stash) PERL_CALLCONV struct mro_meta* Perl_mro_meta_init(pTHX_ HV* stash); #define PERL_ARGS_ASSERT_MRO_META_INIT \ assert(stash) PERL_CALLCONV void Perl_mro_method_changed_in(pTHX_ HV* stash); #define PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN \ assert(stash) PERL_CALLCONV void Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash, const GV * const gv, U32 flags); #define PERL_ARGS_ASSERT_MRO_PACKAGE_MOVED \ assert(gv) PERL_CALLCONV void Perl_mro_register(pTHX_ const struct mro_alg *mro); #define PERL_ARGS_ASSERT_MRO_REGISTER \ assert(mro) PERL_CALLCONV void Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name); #define PERL_ARGS_ASSERT_MRO_SET_MRO \ assert(meta); assert(name) PERL_CALLCONV SV* Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data); #define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA \ assert(smeta); assert(which); assert(data) PERL_CALLCONV SV* Perl_multiconcat_stringify(pTHX_ const OP* o); #define PERL_ARGS_ASSERT_MULTICONCAT_STRINGIFY \ assert(o) PERL_CALLCONV SV* Perl_multideref_stringify(pTHX_ const OP* o, CV *cv); #define PERL_ARGS_ASSERT_MULTIDEREF_STRINGIFY \ assert(o) PERL_CALLCONV NV Perl_my_atof(pTHX_ const char *s); #define PERL_ARGS_ASSERT_MY_ATOF \ assert(s) PERL_CALLCONV char* Perl_my_atof2(pTHX_ const char *orig, NV* value); #define PERL_ARGS_ASSERT_MY_ATOF2 \ assert(orig); assert(value) PERL_CALLCONV char* Perl_my_atof3(pTHX_ const char *orig, NV* value, const STRLEN len); #define PERL_ARGS_ASSERT_MY_ATOF3 \ assert(orig); assert(value) PERL_CALLCONV OP * Perl_my_attrs(pTHX_ OP *o, OP *attrs); #define PERL_ARGS_ASSERT_MY_ATTRS \ assert(o) PERL_CALLCONV void Perl_my_clearenv(pTHX); #define PERL_ARGS_ASSERT_MY_CLEARENV PERL_CALLCONV int Perl_my_dirfd(DIR* dir); #define PERL_ARGS_ASSERT_MY_DIRFD PERL_CALLCONV_NO_RET void Perl_my_exit(pTHX_ U32 status) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MY_EXIT PERL_CALLCONV_NO_RET void Perl_my_failure_exit(pTHX) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MY_FAILURE_EXIT PERL_CALLCONV I32 Perl_my_fflush_all(pTHX); #define PERL_ARGS_ASSERT_MY_FFLUSH_ALL PERL_CALLCONV Pid_t Perl_my_fork(void); #define PERL_ARGS_ASSERT_MY_FORK #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_my_lstat(pTHX); #define PERL_ARGS_ASSERT_MY_LSTAT #endif PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags); #define PERL_ARGS_ASSERT_MY_LSTAT_FLAGS PERL_CALLCONV int Perl_my_mkostemp_cloexec(char *templte, int flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_MKOSTEMP_CLOEXEC \ assert(templte) PERL_CALLCONV int Perl_my_mkstemp_cloexec(char *templte) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_MKSTEMP_CLOEXEC \ assert(templte) PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args); #define PERL_ARGS_ASSERT_MY_POPEN_LIST \ assert(mode); assert(args) PERL_CALLCONV void Perl_my_setenv(pTHX_ const char* nam, const char* val); #define PERL_ARGS_ASSERT_MY_SETENV PERL_CALLCONV int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...) __attribute__format__(__printf__,3,4); #define PERL_ARGS_ASSERT_MY_SNPRINTF \ assert(buffer); assert(format) PERL_CALLCONV int Perl_my_socketpair(int family, int type, int protocol, int fd[2]); #define PERL_ARGS_ASSERT_MY_SOCKETPAIR #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_my_stat(pTHX); #define PERL_ARGS_ASSERT_MY_STAT #endif PERL_CALLCONV I32 Perl_my_stat_flags(pTHX_ const U32 flags); #define PERL_ARGS_ASSERT_MY_STAT_FLAGS PERL_CALLCONV char* Perl_my_strerror(pTHX_ const int errnum); #define PERL_ARGS_ASSERT_MY_STRERROR PERL_CALLCONV char * Perl_my_strftime(pTHX_ const char *fmt, int sec, int min, int hour, int mday, int mon, int year, int wday, int yday, int isdst) __attribute__format__(__strftime__,pTHX_1,0); #define PERL_ARGS_ASSERT_MY_STRFTIME \ assert(fmt) PERL_CALLCONV NV Perl_my_strtod(const char * const s, char ** e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_STRTOD \ assert(s) PERL_CALLCONV void Perl_my_unexec(pTHX); #define PERL_ARGS_ASSERT_MY_UNEXEC PERL_CALLCONV int Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap); #define PERL_ARGS_ASSERT_MY_VSNPRINTF \ assert(buffer); assert(format) PERL_CALLCONV OP* Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block); #define PERL_ARGS_ASSERT_NEWANONATTRSUB PERL_CALLCONV OP* Perl_newANONHASH(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWANONHASH PERL_CALLCONV OP* Perl_newANONLIST(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWANONLIST PERL_CALLCONV OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block); #define PERL_ARGS_ASSERT_NEWANONSUB PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWASSIGNOP /* PERL_CALLCONV CV* newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block); */ #define PERL_ARGS_ASSERT_NEWATTRSUB PERL_CALLCONV CV* Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv); #define PERL_ARGS_ASSERT_NEWATTRSUB_X #ifndef NO_MATHOMS PERL_CALLCONV AV* Perl_newAV(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWAV #endif PERL_CALLCONV OP* Perl_newAVREF(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWAVREF \ assert(o) PERL_CALLCONV OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWBINOP PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* falseop) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWCONDOP \ assert(first) PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv); #define PERL_ARGS_ASSERT_NEWCONSTSUB PERL_CALLCONV CV* Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv); #define PERL_ARGS_ASSERT_NEWCONSTSUB_FLAGS PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWCVREF PERL_CALLCONV OP* Perl_newDEFSVOP(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWDEFSVOP PERL_CALLCONV void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block); #define PERL_ARGS_ASSERT_NEWFORM PERL_CALLCONV OP* Perl_newFOROP(pTHX_ I32 flags, OP* sv, OP* expr, OP* block, OP* cont) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWFOROP \ assert(expr) PERL_CALLCONV OP* Perl_newGIVENOP(pTHX_ OP* cond, OP* block, PADOFFSET defsv_off) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWGIVENOP \ assert(cond); assert(block) PERL_CALLCONV GP * Perl_newGP(pTHX_ GV *const gv); #define PERL_ARGS_ASSERT_NEWGP \ assert(gv) PERL_CALLCONV OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWGVOP \ assert(gv) PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWGVREF /* PERL_CALLCONV GV* newGVgen(pTHX_ const char* pack); */ #define PERL_ARGS_ASSERT_NEWGVGEN PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS \ assert(pack) #ifndef NO_MATHOMS PERL_CALLCONV HV* Perl_newHV(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWHV #endif PERL_CALLCONV OP* Perl_newHVREF(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWHVREF \ assert(o) PERL_CALLCONV HV* Perl_newHVhv(pTHX_ HV *hv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWHVHV #ifndef NO_MATHOMS PERL_CALLCONV IO* Perl_newIO(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWIO #endif PERL_CALLCONV OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWLISTOP PERL_CALLCONV OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP *first, OP *other) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWLOGOP \ assert(first); assert(other) PERL_CALLCONV OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWLOOPEX \ assert(label) PERL_CALLCONV OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWLOOPOP PERL_CALLCONV OP* Perl_newMETHOP(pTHX_ I32 type, I32 flags, OP* dynamic_meth) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWMETHOP \ assert(dynamic_meth) PERL_CALLCONV OP* Perl_newMETHOP_named(pTHX_ I32 type, I32 flags, SV* const_meth) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWMETHOP_NAMED \ assert(const_meth) PERL_CALLCONV CV * Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block); #define PERL_ARGS_ASSERT_NEWMYSUB \ assert(o) PERL_CALLCONV OP* Perl_newNULLLIST(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWNULLLIST PERL_CALLCONV OP* Perl_newOP(pTHX_ I32 optype, I32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWOP PERL_CALLCONV PADNAMELIST * Perl_newPADNAMELIST(size_t max) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPADNAMELIST PERL_CALLCONV PADNAME * Perl_newPADNAMEouter(PADNAME *outer) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPADNAMEOUTER \ assert(outer) PERL_CALLCONV PADNAME * Perl_newPADNAMEpvn(const char *s, STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPADNAMEPVN \ assert(s) PERL_CALLCONV OP* Perl_newPMOP(pTHX_ I32 type, I32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPMOP PERL_CALLCONV void Perl_newPROG(pTHX_ OP* o); #define PERL_ARGS_ASSERT_NEWPROG \ assert(o) PERL_CALLCONV OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPVOP PERL_CALLCONV OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWRANGE \ assert(left); assert(right) PERL_CALLCONV SV* Perl_newRV(pTHX_ SV *const sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWRV \ assert(sv) PERL_CALLCONV SV* Perl_newRV_noinc(pTHX_ SV *const tmpRef) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWRV_NOINC \ assert(tmpRef) PERL_CALLCONV OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSLICEOP PERL_CALLCONV OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSTATEOP PERL_CALLCONV CV* Perl_newSTUB(pTHX_ GV *gv, bool fake); #define PERL_ARGS_ASSERT_NEWSTUB \ assert(gv) #ifndef NO_MATHOMS PERL_CALLCONV CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); #define PERL_ARGS_ASSERT_NEWSUB #endif PERL_CALLCONV SV* Perl_newSV(pTHX_ const STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSV PERL_CALLCONV OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVOP \ assert(sv) PERL_CALLCONV OP* Perl_newSVREF(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVREF \ assert(o) PERL_CALLCONV SV* Perl_newSV_type(pTHX_ const svtype type) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSV_TYPE PERL_CALLCONV SV* Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVAVDEFELEM \ assert(av) PERL_CALLCONV SV* Perl_newSVhek(pTHX_ const HEK *const hek) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVHEK PERL_CALLCONV SV* Perl_newSViv(pTHX_ const IV i) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVIV PERL_CALLCONV SV* Perl_newSVnv(pTHX_ const NV n) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVNV PERL_CALLCONV SV* Perl_newSVpv(pTHX_ const char *const s, const STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVPV PERL_CALLCONV SV* Perl_newSVpv_share(pTHX_ const char* s, U32 hash) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVPV_SHARE PERL_CALLCONV SV* Perl_newSVpvf(pTHX_ const char *const pat, ...) __attribute__warn_unused_result__ __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_NEWSVPVF \ assert(pat) PERL_CALLCONV SV* Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVPVN PERL_CALLCONV SV* Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVPVN_FLAGS PERL_CALLCONV SV* Perl_newSVpvn_share(pTHX_ const char* s, I32 len, U32 hash) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVPVN_SHARE PERL_CALLCONV SV* Perl_newSVrv(pTHX_ SV *const rv, const char *const classname); #define PERL_ARGS_ASSERT_NEWSVRV \ assert(rv) #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_newSVsv(pTHX_ SV *const old) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVSV #endif PERL_CALLCONV SV* Perl_newSVsv_flags(pTHX_ SV *const old, I32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVSV_FLAGS /* PERL_CALLCONV SV* newSVsv_nomg(pTHX_ SV *const old) __attribute__warn_unused_result__; */ #define PERL_ARGS_ASSERT_NEWSVSV_NOMG PERL_CALLCONV SV* Perl_newSVuv(pTHX_ const UV u) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWSVUV PERL_CALLCONV OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWUNOP PERL_CALLCONV OP* Perl_newUNOP_AUX(pTHX_ I32 type, I32 flags, OP* first, UNOP_AUX_item *aux) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWUNOP_AUX PERL_CALLCONV OP* Perl_newWHENOP(pTHX_ OP* cond, OP* block) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWWHENOP \ assert(block) PERL_CALLCONV OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, OP* expr, OP* block, OP* cont, I32 has_my) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWWHILEOP PERL_CALLCONV CV* Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename); #define PERL_ARGS_ASSERT_NEWXS \ assert(subaddr); assert(filename) PERL_CALLCONV CV * Perl_newXS_deffile(pTHX_ const char *name, XSUBADDR_t subaddr); #define PERL_ARGS_ASSERT_NEWXS_DEFFILE \ assert(name); assert(subaddr) PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr, const char *const filename, const char *const proto, U32 flags); #define PERL_ARGS_ASSERT_NEWXS_FLAGS \ assert(subaddr); assert(filename) PERL_CALLCONV CV * Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags); #define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS \ assert(subaddr) PERL_CALLCONV PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_STACKINFO PERL_CALLCONV SV* Perl_new_version(pTHX_ SV *ver); #define PERL_ARGS_ASSERT_NEW_VERSION \ assert(ver) PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits, STRLEN size) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD \ assert(bits) PERL_CALLCONV PerlIO* Perl_nextargv(pTHX_ GV* gv, bool nomagicopen); #define PERL_ARGS_ASSERT_NEXTARGV \ assert(gv) PERL_CALLCONV char* Perl_ninstr(const char* big, const char* bigend, const char* little, const char* lend) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_NINSTR \ assert(big); assert(bigend); assert(little); assert(lend) PERL_CALLCONV_NO_RET void Perl_noperl_die(const char* pat, ...) __attribute__noreturn__ __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_NOPERL_DIE \ assert(pat) PERL_CALLCONV int Perl_nothreadhook(pTHX); #define PERL_ARGS_ASSERT_NOTHREADHOOK PERL_CALLCONV void Perl_notify_parser_that_changed_to_utf8(pTHX); #define PERL_ARGS_ASSERT_NOTIFY_PARSER_THAT_CHANGED_TO_UTF8 PERL_CALLCONV OP* Perl_oopsAV(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_OOPSAV \ assert(o) PERL_CALLCONV OP* Perl_oopsHV(pTHX_ OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_OOPSHV \ assert(o) PERL_CALLCONV OP* Perl_op_append_elem(pTHX_ I32 optype, OP* first, OP* last); #define PERL_ARGS_ASSERT_OP_APPEND_ELEM PERL_CALLCONV OP* Perl_op_append_list(pTHX_ I32 optype, OP* first, OP* last); #define PERL_ARGS_ASSERT_OP_APPEND_LIST PERL_CALLCONV OPclass Perl_op_class(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_OP_CLASS PERL_CALLCONV void Perl_op_clear(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_CLEAR \ assert(o) PERL_CALLCONV OP* Perl_op_contextualize(pTHX_ OP* o, I32 context); #define PERL_ARGS_ASSERT_OP_CONTEXTUALIZE \ assert(o) PERL_CALLCONV OP* Perl_op_convert_list(pTHX_ I32 optype, I32 flags, OP* o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_OP_CONVERT_LIST PERL_CALLCONV void Perl_op_dump(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_OP_DUMP \ assert(o) PERL_CALLCONV void Perl_op_free(pTHX_ OP* arg); #define PERL_ARGS_ASSERT_OP_FREE PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_LINKLIST \ assert(o) /* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */ #define PERL_ARGS_ASSERT_OP_LVALUE PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags); #define PERL_ARGS_ASSERT_OP_LVALUE_FLAGS PERL_CALLCONV void Perl_op_null(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_NULL \ assert(o) PERL_CALLCONV OP* Perl_op_parent(OP *o); #define PERL_ARGS_ASSERT_OP_PARENT \ assert(o) PERL_CALLCONV OP* Perl_op_prepend_elem(pTHX_ I32 optype, OP* first, OP* last); #define PERL_ARGS_ASSERT_OP_PREPEND_ELEM PERL_CALLCONV void Perl_op_refcnt_lock(pTHX); #define PERL_ARGS_ASSERT_OP_REFCNT_LOCK PERL_CALLCONV void Perl_op_refcnt_unlock(pTHX); #define PERL_ARGS_ASSERT_OP_REFCNT_UNLOCK PERL_CALLCONV OP* Perl_op_scope(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_SCOPE PERL_CALLCONV OP* Perl_op_sibling_splice(OP *parent, OP *start, int del_count, OP* insert); #define PERL_ARGS_ASSERT_OP_SIBLING_SPLICE PERL_CALLCONV OP* Perl_op_unscope(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OP_UNSCOPE PERL_CALLCONV void Perl_optimize_optree(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OPTIMIZE_OPTREE \ assert(o) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags); #define PERL_ARGS_ASSERT_PACK_CAT \ assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist); assert(next_in_list) #endif PERL_CALLCONV void Perl_package(pTHX_ OP* o); #define PERL_ARGS_ASSERT_PACKAGE \ assert(o) PERL_CALLCONV void Perl_package_version(pTHX_ OP* v); #define PERL_ARGS_ASSERT_PACKAGE_VERSION \ assert(v) PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist); #define PERL_ARGS_ASSERT_PACKLIST \ assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist) PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ CV* func, I32 optype); #define PERL_ARGS_ASSERT_PAD_ADD_ANON \ assert(func) PERL_CALLCONV PADOFFSET Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash); #define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV \ assert(name) PERL_CALLCONV PADOFFSET Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash); #define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN \ assert(namepv) PERL_CALLCONV PADOFFSET Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash); #define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \ assert(name) PERL_CALLCONV void Perl_pad_add_weakref(pTHX_ CV* func); #define PERL_ARGS_ASSERT_PAD_ADD_WEAKREF \ assert(func) PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype); #define PERL_ARGS_ASSERT_PAD_ALLOC PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full); #define PERL_ARGS_ASSERT_PAD_BLOCK_START #ifndef NO_MATHOMS PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PAD_COMPNAME_TYPE #endif PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags); #define PERL_ARGS_ASSERT_PAD_FINDMY_PV \ assert(name) PERL_CALLCONV PADOFFSET Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags); #define PERL_ARGS_ASSERT_PAD_FINDMY_PVN \ assert(namepv) PERL_CALLCONV PADOFFSET Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags); #define PERL_ARGS_ASSERT_PAD_FINDMY_SV \ assert(name) PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv); #define PERL_ARGS_ASSERT_PAD_FIXUP_INNER_ANONS \ assert(padlist); assert(old_cv); assert(new_cv) PERL_CALLCONV void Perl_pad_free(pTHX_ PADOFFSET po); #define PERL_ARGS_ASSERT_PAD_FREE PERL_CALLCONV OP * Perl_pad_leavemy(pTHX); #define PERL_ARGS_ASSERT_PAD_LEAVEMY PERL_CALLCONV PADLIST* Perl_pad_new(pTHX_ int flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PAD_NEW PERL_CALLCONV void Perl_pad_push(pTHX_ PADLIST *padlist, int depth); #define PERL_ARGS_ASSERT_PAD_PUSH \ assert(padlist) PERL_CALLCONV void Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust); #define PERL_ARGS_ASSERT_PAD_SWIPE PERL_CALLCONV void Perl_pad_tidy(pTHX_ padtidy_type type); #define PERL_ARGS_ASSERT_PAD_TIDY PERL_CALLCONV PAD ** Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val); #define PERL_ARGS_ASSERT_PADLIST_STORE \ assert(padlist) PERL_CALLCONV void Perl_padname_free(pTHX_ PADNAME *pn); #define PERL_ARGS_ASSERT_PADNAME_FREE \ assert(pn) PERL_CALLCONV PADNAME * Perl_padnamelist_fetch(PADNAMELIST *pnl, SSize_t key) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PADNAMELIST_FETCH \ assert(pnl) PERL_CALLCONV void Perl_padnamelist_free(pTHX_ PADNAMELIST *pnl); #define PERL_ARGS_ASSERT_PADNAMELIST_FREE \ assert(pnl) PERL_CALLCONV PADNAME ** Perl_padnamelist_store(pTHX_ PADNAMELIST *pnl, SSize_t key, PADNAME *val); #define PERL_ARGS_ASSERT_PADNAMELIST_STORE \ assert(pnl) PERL_CALLCONV OP* Perl_parse_arithexpr(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_ARITHEXPR PERL_CALLCONV OP* Perl_parse_barestmt(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_BARESTMT PERL_CALLCONV OP* Perl_parse_block(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_BLOCK PERL_CALLCONV OP* Perl_parse_fullexpr(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_FULLEXPR PERL_CALLCONV OP* Perl_parse_fullstmt(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_FULLSTMT PERL_CALLCONV SV* Perl_parse_label(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_LABEL PERL_CALLCONV OP* Perl_parse_listexpr(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_LISTEXPR PERL_CALLCONV OP* Perl_parse_stmtseq(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_STMTSEQ PERL_CALLCONV OP* Perl_parse_subsignature(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_SUBSIGNATURE PERL_CALLCONV OP* Perl_parse_termexpr(pTHX_ U32 flags); #define PERL_ARGS_ASSERT_PARSE_TERMEXPR PERL_CALLCONV U32 Perl_parse_unicode_opts(pTHX_ const char **popt); #define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS \ assert(popt) PERL_CALLCONV void Perl_parser_free(pTHX_ const yy_parser *parser); #define PERL_ARGS_ASSERT_PARSER_FREE \ assert(parser) PERL_CALLCONV void Perl_peep(pTHX_ OP* o); #define PERL_ARGS_ASSERT_PEEP PERL_CALLCONV PerlInterpreter* perl_alloc(void); #define PERL_ARGS_ASSERT_PERL_ALLOC PERL_CALLCONV void perl_construct(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_CONSTRUCT \ assert(my_perl) PERL_CALLCONV int perl_destruct(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_DESTRUCT \ assert(my_perl) PERL_CALLCONV void perl_free(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_FREE \ assert(my_perl) PERL_CALLCONV int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env); #define PERL_ARGS_ASSERT_PERL_PARSE \ assert(my_perl) PERL_CALLCONV int perl_run(PerlInterpreter *my_perl); #define PERL_ARGS_ASSERT_PERL_RUN \ assert(my_perl) PERL_CALLCONV Signal_t Perl_perly_sighandler(int sig, Siginfo_t *info, void *uap, bool safe); #define PERL_ARGS_ASSERT_PERLY_SIGHANDLER PERL_CALLCONV void Perl_pmop_dump(pTHX_ PMOP* pm); #define PERL_ARGS_ASSERT_PMOP_DUMP PERL_CALLCONV OP* Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl, UV flags, I32 floor); #define PERL_ARGS_ASSERT_PMRUNTIME \ assert(o); assert(expr) PERL_CALLCONV void Perl_pop_scope(pTHX); #define PERL_ARGS_ASSERT_POP_SCOPE PERL_CALLCONV void Perl_populate_isa(pTHX_ const char *name, STRLEN len, ...); #define PERL_ARGS_ASSERT_POPULATE_ISA \ assert(name) PERL_CALLCONV REGEXP* Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags); #define PERL_ARGS_ASSERT_PREGCOMP \ assert(pattern) PERL_CALLCONV I32 Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* screamer, U32 nosave); #define PERL_ARGS_ASSERT_PREGEXEC \ assert(prog); assert(stringarg); assert(strend); assert(strbeg); assert(screamer) PERL_CALLCONV void Perl_pregfree(pTHX_ REGEXP* r); #define PERL_ARGS_ASSERT_PREGFREE PERL_CALLCONV void Perl_pregfree2(pTHX_ REGEXP *rx); #define PERL_ARGS_ASSERT_PREGFREE2 \ assert(rx) PERL_CALLCONV const char* Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha); #define PERL_ARGS_ASSERT_PRESCAN_VERSION \ assert(s) PERL_CALLCONV void Perl_ptr_table_clear(pTHX_ PTR_TBL_t *const tbl) __attribute__deprecated__; #define PERL_ARGS_ASSERT_PTR_TABLE_CLEAR PERL_CALLCONV void* Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *const tbl, const void *const sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PTR_TABLE_FETCH \ assert(tbl) PERL_CALLCONV void Perl_ptr_table_free(pTHX_ PTR_TBL_t *const tbl); #define PERL_ARGS_ASSERT_PTR_TABLE_FREE PERL_CALLCONV PTR_TBL_t* Perl_ptr_table_new(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PTR_TABLE_NEW PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *const tbl); #define PERL_ARGS_ASSERT_PTR_TABLE_SPLIT \ assert(tbl) PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *const tbl, const void *const oldsv, void *const newsv); #define PERL_ARGS_ASSERT_PTR_TABLE_STORE \ assert(tbl); assert(newsv) PERL_CALLCONV void Perl_push_scope(pTHX); #define PERL_ARGS_ASSERT_PUSH_SCOPE PERL_CALLCONV char* Perl_pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim); #define PERL_ARGS_ASSERT_PV_DISPLAY \ assert(dsv); assert(pv) PERL_CALLCONV char* Perl_pv_escape(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags); #define PERL_ARGS_ASSERT_PV_ESCAPE \ assert(str) PERL_CALLCONV char* Perl_pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags); #define PERL_ARGS_ASSERT_PV_PRETTY \ assert(dsv); assert(str) PERL_CALLCONV char* Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags); #define PERL_ARGS_ASSERT_PV_UNI_DISPLAY \ assert(dsv); assert(spv) PERL_CALLCONV void Perl_qerror(pTHX_ SV* err); #define PERL_ARGS_ASSERT_QERROR \ assert(err) PERL_CALLCONV REGEXP* Perl_re_compile(pTHX_ SV * const pattern, U32 orig_rx_flags); #define PERL_ARGS_ASSERT_RE_COMPILE \ assert(pattern) PERL_CALLCONV char* Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV* sv, const char* const strbeg, char* strpos, char* strend, const U32 flags, re_scream_pos_data *data); #define PERL_ARGS_ASSERT_RE_INTUIT_START \ assert(rx); assert(strbeg); assert(strpos); assert(strend) PERL_CALLCONV SV* Perl_re_intuit_string(pTHX_ REGEXP *const r); #define PERL_ARGS_ASSERT_RE_INTUIT_STRING \ assert(r) PERL_CALLCONV REGEXP* Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, OP *expr, const regexp_engine* eng, REGEXP *old_re, bool *is_bare_re, const U32 rx_flags, const U32 pm_flags); #define PERL_ARGS_ASSERT_RE_OP_COMPILE \ assert(eng) PERL_CALLCONV Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REALLOC PERL_CALLCONV void Perl_reentrant_free(pTHX); #define PERL_ARGS_ASSERT_REENTRANT_FREE PERL_CALLCONV void Perl_reentrant_init(pTHX); #define PERL_ARGS_ASSERT_REENTRANT_INIT PERL_CALLCONV void* Perl_reentrant_retry(const char *f, ...); #define PERL_ARGS_ASSERT_REENTRANT_RETRY \ assert(f) PERL_CALLCONV void Perl_reentrant_size(pTHX); #define PERL_ARGS_ASSERT_REENTRANT_SIZE PERL_CALLCONV HV * Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_CHAIN_2HV PERL_CALLCONV SV * Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PV \ assert(key) PERL_CALLCONV SV * Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN \ assert(keypv) PERL_CALLCONV SV * Perl_refcounted_he_fetch_sv(pTHX_ const struct refcounted_he *chain, SV *key, U32 hash, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_SV \ assert(key) PERL_CALLCONV void Perl_refcounted_he_free(pTHX_ struct refcounted_he *he); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_FREE PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_INC PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pv(pTHX_ struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PV \ assert(key) PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_pvn(pTHX_ struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_PVN \ assert(keypv) PERL_CALLCONV struct refcounted_he * Perl_refcounted_he_new_sv(pTHX_ struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_NEW_SV \ assert(key) PERL_CALLCONV SV* Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF \ assert(rx) PERL_CALLCONV SV* Perl_reg_named_buff_all(pTHX_ REGEXP * const rx, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL \ assert(rx) PERL_CALLCONV bool Perl_reg_named_buff_exists(pTHX_ REGEXP * const rx, SV * const key, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_EXISTS \ assert(rx); assert(key) PERL_CALLCONV SV* Perl_reg_named_buff_fetch(pTHX_ REGEXP * const rx, SV * const namesv, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FETCH \ assert(rx); assert(namesv) PERL_CALLCONV SV* Perl_reg_named_buff_firstkey(pTHX_ REGEXP * const rx, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_FIRSTKEY \ assert(rx) PERL_CALLCONV SV* Perl_reg_named_buff_iter(pTHX_ REGEXP * const rx, const SV * const lastkey, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_ITER \ assert(rx) PERL_CALLCONV SV* Perl_reg_named_buff_nextkey(pTHX_ REGEXP * const rx, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_NEXTKEY \ assert(rx) PERL_CALLCONV SV* Perl_reg_named_buff_scalar(pTHX_ REGEXP * const rx, const U32 flags); #define PERL_ARGS_ASSERT_REG_NAMED_BUFF_SCALAR \ assert(rx) PERL_CALLCONV void Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const rx, const I32 paren, SV * const sv); #define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_FETCH \ assert(rx) PERL_CALLCONV I32 Perl_reg_numbered_buff_length(pTHX_ REGEXP * const rx, const SV * const sv, const I32 paren); #define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_LENGTH \ assert(rx); assert(sv) PERL_CALLCONV void Perl_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren, SV const * const value); #define PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_STORE \ assert(rx) PERL_CALLCONV SV* Perl_reg_qr_package(pTHX_ REGEXP * const rx); #define PERL_ARGS_ASSERT_REG_QR_PACKAGE \ assert(rx) PERL_CALLCONV REGEXP* Perl_reg_temp_copy(pTHX_ REGEXP* dsv, REGEXP* ssv); #define PERL_ARGS_ASSERT_REG_TEMP_COPY \ assert(ssv) PERL_CALLCONV void Perl_regdump(pTHX_ const regexp* r); #define PERL_ARGS_ASSERT_REGDUMP \ assert(r) PERL_CALLCONV I32 Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, SSize_t minend, SV *sv, void *data, U32 flags); #define PERL_ARGS_ASSERT_REGEXEC_FLAGS \ assert(rx); assert(stringarg); assert(strend); assert(strbeg); assert(sv) PERL_CALLCONV void Perl_regfree_internal(pTHX_ REGEXP *const rx); #define PERL_ARGS_ASSERT_REGFREE_INTERNAL \ assert(rx) PERL_CALLCONV void Perl_reginitcolors(pTHX); #define PERL_ARGS_ASSERT_REGINITCOLORS PERL_CALLCONV regnode* Perl_regnext(pTHX_ regnode* p) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGNEXT PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, IV count); #define PERL_ARGS_ASSERT_REPEATCPY \ assert(to); assert(from) PERL_CALLCONV void Perl_report_evil_fh(pTHX_ const GV *gv); #define PERL_ARGS_ASSERT_REPORT_EVIL_FH PERL_CALLCONV void Perl_report_uninit(pTHX_ const SV *uninit_sv); #define PERL_ARGS_ASSERT_REPORT_UNINIT PERL_CALLCONV void Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have); #define PERL_ARGS_ASSERT_REPORT_WRONGWAY_FH PERL_CALLCONV void Perl_require_pv(pTHX_ const char* pv); #define PERL_ARGS_ASSERT_REQUIRE_PV \ assert(pv) PERL_CALLCONV char* Perl_rninstr(const char* big, const char* bigend, const char* little, const char* lend) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_RNINSTR \ assert(big); assert(bigend); assert(little); assert(lend) PERL_CALLCONV void Perl_rpeep(pTHX_ OP* o); #define PERL_ARGS_ASSERT_RPEEP PERL_CALLCONV Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t); #define PERL_ARGS_ASSERT_RSIGNAL PERL_CALLCONV int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t); #define PERL_ARGS_ASSERT_RSIGNAL_RESTORE PERL_CALLCONV int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* save); #define PERL_ARGS_ASSERT_RSIGNAL_SAVE \ assert(save) PERL_CALLCONV Sighandler_t Perl_rsignal_state(pTHX_ int i); #define PERL_ARGS_ASSERT_RSIGNAL_STATE PERL_CALLCONV int Perl_runops_debug(pTHX); #define PERL_ARGS_ASSERT_RUNOPS_DEBUG PERL_CALLCONV int Perl_runops_standard(pTHX); #define PERL_ARGS_ASSERT_RUNOPS_STANDARD PERL_CALLCONV CV* Perl_rv2cv_op_cv(pTHX_ OP *cvop, U32 flags); #define PERL_ARGS_ASSERT_RV2CV_OP_CV \ assert(cvop) PERL_CALLCONV void Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx); #define PERL_ARGS_ASSERT_RXRES_SAVE \ assert(rsp); assert(rx) PERL_CALLCONV Malloc_t Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAFESYSCALLOC PERL_CALLCONV Free_t Perl_safesysfree(Malloc_t where); #define PERL_ARGS_ASSERT_SAFESYSFREE PERL_CALLCONV Malloc_t Perl_safesysmalloc(MEM_SIZE nbytes) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAFESYSMALLOC PERL_CALLCONV Malloc_t Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAFESYSREALLOC PERL_CALLCONV void Perl_save_I16(pTHX_ I16* intp); #define PERL_ARGS_ASSERT_SAVE_I16 \ assert(intp) PERL_CALLCONV void Perl_save_I32(pTHX_ I32* intp); #define PERL_ARGS_ASSERT_SAVE_I32 \ assert(intp) PERL_CALLCONV void Perl_save_I8(pTHX_ I8* bytep); #define PERL_ARGS_ASSERT_SAVE_I8 \ assert(bytep) PERL_CALLCONV void Perl_save_adelete(pTHX_ AV *av, SSize_t key); #define PERL_ARGS_ASSERT_SAVE_ADELETE \ assert(av) /* PERL_CALLCONV void save_aelem(pTHX_ AV* av, SSize_t idx, SV **sptr); */ #define PERL_ARGS_ASSERT_SAVE_AELEM PERL_CALLCONV void Perl_save_aelem_flags(pTHX_ AV* av, SSize_t idx, SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_AELEM_FLAGS \ assert(av); assert(sptr) PERL_CALLCONV I32 Perl_save_alloc(pTHX_ I32 size, I32 pad); #define PERL_ARGS_ASSERT_SAVE_ALLOC PERL_CALLCONV void Perl_save_aptr(pTHX_ AV** aptr); #define PERL_ARGS_ASSERT_SAVE_APTR \ assert(aptr) PERL_CALLCONV AV* Perl_save_ary(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SAVE_ARY \ assert(gv) PERL_CALLCONV void Perl_save_bool(pTHX_ bool* boolp); #define PERL_ARGS_ASSERT_SAVE_BOOL \ assert(boolp) PERL_CALLCONV void Perl_save_clearsv(pTHX_ SV** svp); #define PERL_ARGS_ASSERT_SAVE_CLEARSV \ assert(svp) PERL_CALLCONV void Perl_save_delete(pTHX_ HV *hv, char *key, I32 klen); #define PERL_ARGS_ASSERT_SAVE_DELETE \ assert(hv); assert(key) PERL_CALLCONV void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p); #define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR \ assert(p) PERL_CALLCONV void Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p); #define PERL_ARGS_ASSERT_SAVE_DESTRUCTOR_X #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freeop(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SAVE_FREEOP #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freepv(pTHX_ char* pv); #define PERL_ARGS_ASSERT_SAVE_FREEPV #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_freesv(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SAVE_FREESV #endif PERL_CALLCONV void Perl_save_generic_pvref(pTHX_ char** str); #define PERL_ARGS_ASSERT_SAVE_GENERIC_PVREF \ assert(str) PERL_CALLCONV void Perl_save_generic_svref(pTHX_ SV** sptr); #define PERL_ARGS_ASSERT_SAVE_GENERIC_SVREF \ assert(sptr) PERL_CALLCONV void Perl_save_gp(pTHX_ GV* gv, I32 empty); #define PERL_ARGS_ASSERT_SAVE_GP \ assert(gv) PERL_CALLCONV HV* Perl_save_hash(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SAVE_HASH \ assert(gv) PERL_CALLCONV void Perl_save_hdelete(pTHX_ HV *hv, SV *keysv); #define PERL_ARGS_ASSERT_SAVE_HDELETE \ assert(hv); assert(keysv) /* PERL_CALLCONV void save_helem(pTHX_ HV *hv, SV *key, SV **sptr); */ #define PERL_ARGS_ASSERT_SAVE_HELEM PERL_CALLCONV void Perl_save_helem_flags(pTHX_ HV *hv, SV *key, SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS \ assert(hv); assert(key); assert(sptr) PERL_CALLCONV void Perl_save_hints(pTHX); #define PERL_ARGS_ASSERT_SAVE_HINTS PERL_CALLCONV void Perl_save_hptr(pTHX_ HV** hptr); #define PERL_ARGS_ASSERT_SAVE_HPTR \ assert(hptr) PERL_CALLCONV void Perl_save_int(pTHX_ int* intp); #define PERL_ARGS_ASSERT_SAVE_INT \ assert(intp) PERL_CALLCONV void Perl_save_item(pTHX_ SV* item); #define PERL_ARGS_ASSERT_SAVE_ITEM \ assert(item) PERL_CALLCONV void Perl_save_iv(pTHX_ IV *ivp); #define PERL_ARGS_ASSERT_SAVE_IV \ assert(ivp) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_LIST \ assert(sarg) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_long(pTHX_ long* longp) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_LONG \ assert(longp) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_mortalizesv(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SAVE_MORTALIZESV \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_nogv(pTHX_ GV* gv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SAVE_NOGV \ assert(gv) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_save_op(pTHX); #define PERL_ARGS_ASSERT_SAVE_OP #endif PERL_CALLCONV void Perl_save_padsv_and_mortalize(pTHX_ PADOFFSET off); #define PERL_ARGS_ASSERT_SAVE_PADSV_AND_MORTALIZE PERL_CALLCONV void Perl_save_pptr(pTHX_ char** pptr); #define PERL_ARGS_ASSERT_SAVE_PPTR \ assert(pptr) PERL_CALLCONV void Perl_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type); #define PERL_ARGS_ASSERT_SAVE_PUSHI32PTR PERL_CALLCONV void Perl_save_pushptr(pTHX_ void *const ptr, const int type); #define PERL_ARGS_ASSERT_SAVE_PUSHPTR PERL_CALLCONV void Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type); #define PERL_ARGS_ASSERT_SAVE_PUSHPTRPTR PERL_CALLCONV void Perl_save_re_context(pTHX); #define PERL_ARGS_ASSERT_SAVE_RE_CONTEXT PERL_CALLCONV SV* Perl_save_scalar(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SAVE_SCALAR \ assert(gv) PERL_CALLCONV void Perl_save_set_svflags(pTHX_ SV *sv, U32 mask, U32 val); #define PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS \ assert(sv) PERL_CALLCONV void Perl_save_shared_pvref(pTHX_ char** str); #define PERL_ARGS_ASSERT_SAVE_SHARED_PVREF \ assert(str) PERL_CALLCONV void Perl_save_sptr(pTHX_ SV** sptr); #define PERL_ARGS_ASSERT_SAVE_SPTR \ assert(sptr) PERL_CALLCONV void Perl_save_strlen(pTHX_ STRLEN* ptr); #define PERL_ARGS_ASSERT_SAVE_STRLEN \ assert(ptr) PERL_CALLCONV SV* Perl_save_svref(pTHX_ SV** sptr); #define PERL_ARGS_ASSERT_SAVE_SVREF \ assert(sptr) PERL_CALLCONV void Perl_save_vptr(pTHX_ void *ptr); #define PERL_ARGS_ASSERT_SAVE_VPTR \ assert(ptr) PERL_CALLCONV char* Perl_savepv(pTHX_ const char* pv) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVEPV PERL_CALLCONV char* Perl_savepvn(pTHX_ const char* pv, Size_t len) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVEPVN PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVESHAREDPV PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVESHAREDPVN PERL_CALLCONV char* Perl_savesharedsvpv(pTHX_ SV *sv) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVESHAREDSVPV \ assert(sv) PERL_CALLCONV void Perl_savestack_grow(pTHX); #define PERL_ARGS_ASSERT_SAVESTACK_GROW PERL_CALLCONV void Perl_savestack_grow_cnt(pTHX_ I32 need); #define PERL_ARGS_ASSERT_SAVESTACK_GROW_CNT PERL_CALLCONV char* Perl_savesvpv(pTHX_ SV* sv) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVESVPV \ assert(sv) PERL_CALLCONV void Perl_savetmps(pTHX); #define PERL_ARGS_ASSERT_SAVETMPS PERL_CALLCONV OP* Perl_sawparens(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SAWPARENS PERL_CALLCONV OP* Perl_scalar(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SCALAR PERL_CALLCONV OP* Perl_scalarvoid(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SCALARVOID \ assert(o) PERL_CALLCONV NV Perl_scan_bin(pTHX_ const char* start, STRLEN len, STRLEN* retlen); #define PERL_ARGS_ASSERT_SCAN_BIN \ assert(start); assert(retlen) PERL_CALLCONV NV Perl_scan_hex(pTHX_ const char* start, STRLEN len, STRLEN* retlen); #define PERL_ARGS_ASSERT_SCAN_HEX \ assert(start); assert(retlen) PERL_CALLCONV char* Perl_scan_num(pTHX_ const char* s, YYSTYPE *lvalp); #define PERL_ARGS_ASSERT_SCAN_NUM \ assert(s); assert(lvalp) PERL_CALLCONV NV Perl_scan_oct(pTHX_ const char* start, STRLEN len, STRLEN* retlen); #define PERL_ARGS_ASSERT_SCAN_OCT \ assert(start); assert(retlen) PERL_CALLCONV char* Perl_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims, int re_reparse, char **delimp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_STR \ assert(start) PERL_CALLCONV const char* Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv); #define PERL_ARGS_ASSERT_SCAN_VERSION \ assert(s); assert(rv) PERL_CALLCONV char* Perl_scan_vstring(pTHX_ const char *s, const char *const e, SV *sv); #define PERL_ARGS_ASSERT_SCAN_VSTRING \ assert(s); assert(e); assert(sv) PERL_CALLCONV char* Perl_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp); #define PERL_ARGS_ASSERT_SCAN_WORD \ assert(s); assert(dest); assert(slp) PERL_CALLCONV U32 Perl_seed(pTHX); #define PERL_ARGS_ASSERT_SEED PERL_CALLCONV void Perl_set_caret_X(pTHX); #define PERL_ARGS_ASSERT_SET_CARET_X PERL_CALLCONV void Perl_set_context(void *t); #define PERL_ARGS_ASSERT_SET_CONTEXT \ assert(t) PERL_CALLCONV void Perl_set_numeric_standard(pTHX); #define PERL_ARGS_ASSERT_SET_NUMERIC_STANDARD PERL_CALLCONV void Perl_set_numeric_underlying(pTHX); #define PERL_ARGS_ASSERT_SET_NUMERIC_UNDERLYING PERL_CALLCONV void Perl_setdefout(pTHX_ GV* gv); #define PERL_ARGS_ASSERT_SETDEFOUT \ assert(gv) PERL_CALLCONV void Perl_setfd_cloexec(int fd); #define PERL_ARGS_ASSERT_SETFD_CLOEXEC PERL_CALLCONV void Perl_setfd_cloexec_for_nonsysfd(pTHX_ int fd); #define PERL_ARGS_ASSERT_SETFD_CLOEXEC_FOR_NONSYSFD PERL_CALLCONV void Perl_setfd_cloexec_or_inhexec_by_sysfdness(pTHX_ int fd); #define PERL_ARGS_ASSERT_SETFD_CLOEXEC_OR_INHEXEC_BY_SYSFDNESS PERL_CALLCONV void Perl_setfd_inhexec(int fd); #define PERL_ARGS_ASSERT_SETFD_INHEXEC PERL_CALLCONV void Perl_setfd_inhexec_for_sysfd(pTHX_ int fd); #define PERL_ARGS_ASSERT_SETFD_INHEXEC_FOR_SYSFD PERL_CALLCONV HEK* Perl_share_hek(pTHX_ const char* str, SSize_t len, U32 hash); #define PERL_ARGS_ASSERT_SHARE_HEK \ assert(str) PERL_CALLCONV Signal_t Perl_sighandler1(int sig); #define PERL_ARGS_ASSERT_SIGHANDLER1 PERL_CALLCONV Signal_t Perl_sighandler3(int sig, Siginfo_t *info, void *uap); #define PERL_ARGS_ASSERT_SIGHANDLER3 PERL_CALLCONV char* Perl_skipspace_flags(pTHX_ char *s, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SKIPSPACE_FLAGS \ assert(s) PERL_CALLCONV void Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp); #define PERL_ARGS_ASSERT_SORTSV \ assert(cmp) PERL_CALLCONV void Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags); #define PERL_ARGS_ASSERT_SORTSV_FLAGS \ assert(cmp) PERL_CALLCONV SV** Perl_stack_grow(pTHX_ SV** sp, SV** p, SSize_t n); #define PERL_ARGS_ASSERT_STACK_GROW \ assert(sp); assert(p) PERL_CALLCONV PerlIO* Perl_start_glob(pTHX_ SV *tmpglob, IO *io); #define PERL_ARGS_ASSERT_START_GLOB \ assert(tmpglob); assert(io) PERL_CALLCONV I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags); #define PERL_ARGS_ASSERT_START_SUBPARSE PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_STR_TO_VERSION \ assert(sv) PERL_CALLCONV void Perl_sub_crush_depth(pTHX_ CV* cv); #define PERL_ARGS_ASSERT_SUB_CRUSH_DEPTH \ assert(cv) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_sv_2bool(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2BOOL \ assert(sv) #endif PERL_CALLCONV bool Perl_sv_2bool_flags(pTHX_ SV *sv, I32 flags); #define PERL_ARGS_ASSERT_SV_2BOOL_FLAGS \ assert(sv) PERL_CALLCONV CV* Perl_sv_2cv(pTHX_ SV* sv, HV **const st, GV **const gvp, const I32 lref); #define PERL_ARGS_ASSERT_SV_2CV \ assert(st); assert(gvp) PERL_CALLCONV IO* Perl_sv_2io(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2IO \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_2IV \ assert(sv) #endif PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags); #define PERL_ARGS_ASSERT_SV_2IV_FLAGS \ assert(sv) PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2MORTAL PERL_CALLCONV SV* Perl_sv_2num(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2NUM \ assert(sv) PERL_CALLCONV NV Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags); #define PERL_ARGS_ASSERT_SV_2NV_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp); #define PERL_ARGS_ASSERT_SV_2PV \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags); #define PERL_ARGS_ASSERT_SV_2PV_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_2PV_NOLEN \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_2PVBYTE \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_2pvbyte_flags(pTHX_ SV *sv, STRLEN *const lp, const U32 flags); #define PERL_ARGS_ASSERT_SV_2PVBYTE_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_2PVUTF8 \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_2pvutf8_flags(pTHX_ SV *sv, STRLEN *const lp, const U32 flags); #define PERL_ARGS_ASSERT_SV_2PVUTF8_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_2PVUTF8_NOLEN \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_2UV \ assert(sv) #endif PERL_CALLCONV UV Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags); #define PERL_ARGS_ASSERT_SV_2UV_FLAGS \ assert(sv) PERL_CALLCONV void Perl_sv_backoff(SV *const sv); #define PERL_ARGS_ASSERT_SV_BACKOFF \ assert(sv) PERL_CALLCONV SV* Perl_sv_bless(pTHX_ SV *const sv, HV *const stash); #define PERL_ARGS_ASSERT_SV_BLESS \ assert(sv); assert(stash) PERL_CALLCONV bool Perl_sv_cat_decode(pTHX_ SV* dsv, SV *encoding, SV *ssv, int *offset, char* tstr, int tlen); #define PERL_ARGS_ASSERT_SV_CAT_DECODE \ assert(dsv); assert(encoding); assert(ssv); assert(offset); assert(tstr) PERL_CALLCONV void Perl_sv_catpv(pTHX_ SV *const sv, const char* ptr); #define PERL_ARGS_ASSERT_SV_CATPV \ assert(sv) PERL_CALLCONV void Perl_sv_catpv_flags(pTHX_ SV *dstr, const char *sstr, const I32 flags); #define PERL_ARGS_ASSERT_SV_CATPV_FLAGS \ assert(dstr); assert(sstr) PERL_CALLCONV void Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr); #define PERL_ARGS_ASSERT_SV_CATPV_MG \ assert(sv) PERL_CALLCONV void Perl_sv_catpvf(pTHX_ SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_SV_CATPVF \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_catpvf_mg(pTHX_ SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_SV_CATPVF_MG \ assert(sv); assert(pat) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_catpvn(pTHX_ SV *dsv, const char *sstr, STRLEN len); #define PERL_ARGS_ASSERT_SV_CATPVN \ assert(dsv); assert(sstr) #endif PERL_CALLCONV void Perl_sv_catpvn_flags(pTHX_ SV *const dstr, const char *sstr, const STRLEN len, const I32 flags); #define PERL_ARGS_ASSERT_SV_CATPVN_FLAGS \ assert(dstr); assert(sstr) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len); #define PERL_ARGS_ASSERT_SV_CATPVN_MG \ assert(sv); assert(ptr) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_catsv(pTHX_ SV *dstr, SV *sstr); #define PERL_ARGS_ASSERT_SV_CATSV \ assert(dstr) #endif PERL_CALLCONV void Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags); #define PERL_ARGS_ASSERT_SV_CATSV_FLAGS \ assert(dsv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dsv, SV *ssv); #define PERL_ARGS_ASSERT_SV_CATSV_MG \ assert(dsv) #endif PERL_CALLCONV void Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr); #define PERL_ARGS_ASSERT_SV_CHOP \ assert(sv) PERL_CALLCONV I32 Perl_sv_clean_all(pTHX); #define PERL_ARGS_ASSERT_SV_CLEAN_ALL PERL_CALLCONV void Perl_sv_clean_objs(pTHX); #define PERL_ARGS_ASSERT_SV_CLEAN_OBJS PERL_CALLCONV void Perl_sv_clear(pTHX_ SV *const orig_sv); #define PERL_ARGS_ASSERT_SV_CLEAR \ assert(orig_sv) PERL_CALLCONV I32 Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2); #define PERL_ARGS_ASSERT_SV_CMP PERL_CALLCONV I32 Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags); #define PERL_ARGS_ASSERT_SV_CMP_FLAGS PERL_CALLCONV I32 Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2); #define PERL_ARGS_ASSERT_SV_CMP_LOCALE PERL_CALLCONV I32 Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags); #define PERL_ARGS_ASSERT_SV_CMP_LOCALE_FLAGS #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv); #define PERL_ARGS_ASSERT_SV_COPYPV \ assert(dsv); assert(ssv) #endif PERL_CALLCONV void Perl_sv_copypv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags); #define PERL_ARGS_ASSERT_SV_COPYPV_FLAGS \ assert(dsv); assert(ssv) /* PERL_CALLCONV void sv_copypv_nomg(pTHX_ SV *const dsv, SV *const ssv); */ #define PERL_ARGS_ASSERT_SV_COPYPV_NOMG PERL_CALLCONV void Perl_sv_dec(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_DEC PERL_CALLCONV void Perl_sv_dec_nomg(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_DEC_NOMG PERL_CALLCONV void Perl_sv_del_backref(pTHX_ SV *const tsv, SV *const sv); #define PERL_ARGS_ASSERT_SV_DEL_BACKREF \ assert(tsv); assert(sv) PERL_CALLCONV bool Perl_sv_derived_from(pTHX_ SV* sv, const char *const name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DERIVED_FROM \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_derived_from_pv(pTHX_ SV* sv, const char *const name, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PV \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_derived_from_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PVN \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_derived_from_sv(pTHX_ SV* sv, SV *namesv, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DERIVED_FROM_SV \ assert(sv); assert(namesv) PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_DESTROYABLE PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DOES \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_does_pv(pTHX_ SV* sv, const char *const name, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DOES_PV \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_does_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DOES_PVN \ assert(sv); assert(name) PERL_CALLCONV bool Perl_sv_does_sv(pTHX_ SV* sv, SV* namesv, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DOES_SV \ assert(sv); assert(namesv) PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_DUMP #ifndef NO_MATHOMS PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2); #define PERL_ARGS_ASSERT_SV_EQ #endif PERL_CALLCONV I32 Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const U32 flags); #define PERL_ARGS_ASSERT_SV_EQ_FLAGS #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_FORCE_NORMAL \ assert(sv) #endif PERL_CALLCONV void Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags); #define PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS \ assert(sv) PERL_CALLCONV void Perl_sv_free(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_FREE PERL_CALLCONV void Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt); #define PERL_ARGS_ASSERT_SV_FREE2 \ assert(sv) PERL_CALLCONV void Perl_sv_free_arenas(pTHX); #define PERL_ARGS_ASSERT_SV_FREE_ARENAS PERL_CALLCONV SV* Perl_sv_get_backrefs(SV *const sv); #define PERL_ARGS_ASSERT_SV_GET_BACKREFS \ assert(sv) PERL_CALLCONV char* Perl_sv_gets(pTHX_ SV *const sv, PerlIO *const fp, I32 append); #define PERL_ARGS_ASSERT_SV_GETS \ assert(sv); assert(fp) PERL_CALLCONV char* Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen); #define PERL_ARGS_ASSERT_SV_GROW \ assert(sv) PERL_CALLCONV void Perl_sv_inc(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_INC PERL_CALLCONV void Perl_sv_inc_nomg(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_INC_NOMG #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_insert(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen); #define PERL_ARGS_ASSERT_SV_INSERT \ assert(bigstr); assert(little) #endif PERL_CALLCONV void Perl_sv_insert_flags(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *little, const STRLEN littlelen, const U32 flags); #define PERL_ARGS_ASSERT_SV_INSERT_FLAGS \ assert(bigstr); assert(little) PERL_CALLCONV int Perl_sv_isa(pTHX_ SV* sv, const char *const name); #define PERL_ARGS_ASSERT_SV_ISA \ assert(name) PERL_CALLCONV bool Perl_sv_isa_sv(pTHX_ SV* sv, SV* namesv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_ISA_SV \ assert(sv); assert(namesv) PERL_CALLCONV int Perl_sv_isobject(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_ISOBJECT #ifndef NO_MATHOMS PERL_CALLCONV IV Perl_sv_iv(pTHX_ SV* sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_IV \ assert(sv) #endif PERL_CALLCONV STRLEN Perl_sv_len(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_LEN PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_LEN_UTF8 PERL_CALLCONV STRLEN Perl_sv_len_utf8_nomg(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_LEN_UTF8_NOMG \ assert(sv) PERL_CALLCONV void Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how, const char *const name, const I32 namlen); #define PERL_ARGS_ASSERT_SV_MAGIC \ assert(sv) PERL_CALLCONV MAGIC * Perl_sv_magicext(pTHX_ SV *const sv, SV *const obj, const int how, const MGVTBL *const vtbl, const char *const name, const I32 namlen); #define PERL_ARGS_ASSERT_SV_MAGICEXT \ assert(sv) PERL_CALLCONV MAGIC * Perl_sv_magicext_mglob(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_MAGICEXT_MGLOB \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV SV* Perl_sv_mortalcopy(pTHX_ SV *const oldsv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_MORTALCOPY #endif PERL_CALLCONV SV* Perl_sv_mortalcopy_flags(pTHX_ SV *const oldsv, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_MORTALCOPY_FLAGS PERL_CALLCONV SV* Perl_sv_newmortal(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_NEWMORTAL PERL_CALLCONV SV* Perl_sv_newref(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_NEWREF #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_NOLOCKING #endif PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_NOSHARING #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_NOUNLOCKING #endif #ifndef NO_MATHOMS PERL_CALLCONV NV Perl_sv_nv(pTHX_ SV* sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_NV \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_sv_only_taint_gmagic(SV *sv); #define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_PEEK PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp); #define PERL_ARGS_ASSERT_SV_POS_B2U \ assert(offsetp) PERL_CALLCONV STRLEN Perl_sv_pos_b2u_flags(pTHX_ SV *const sv, STRLEN const offset, U32 flags); #define PERL_ARGS_ASSERT_SV_POS_B2U_FLAGS \ assert(sv) PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV *const sv, I32 *const offsetp, I32 *const lenp); #define PERL_ARGS_ASSERT_SV_POS_U2B \ assert(offsetp) PERL_CALLCONV STRLEN Perl_sv_pos_u2b_flags(pTHX_ SV *const sv, STRLEN uoffset, STRLEN *const lenp, U32 flags); #define PERL_ARGS_ASSERT_SV_POS_U2B_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_PV \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_PVBYTE \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVBYTEN \ assert(sv); assert(lp) #endif PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVN \ assert(sv); assert(lp) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp); #define PERL_ARGS_ASSERT_SV_PVN_FORCE \ assert(sv) #endif PERL_CALLCONV char* Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags); #define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVN_NOMG \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_PVUTF8 \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_PVUTF8N \ assert(sv); assert(lp) #endif PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp); #define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE \ assert(sv) PERL_CALLCONV char* Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding); #define PERL_ARGS_ASSERT_SV_RECODE_TO_UTF8 \ assert(sv); assert(encoding) PERL_CALLCONV SV* Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob); #define PERL_ARGS_ASSERT_SV_REF \ assert(sv) PERL_CALLCONV const char* Perl_sv_reftype(pTHX_ const SV *const sv, const int ob) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_REFTYPE \ assert(sv) PERL_CALLCONV void Perl_sv_replace(pTHX_ SV *const sv, SV *const nsv); #define PERL_ARGS_ASSERT_SV_REPLACE \ assert(sv); assert(nsv) PERL_CALLCONV void Perl_sv_report_used(pTHX); #define PERL_ARGS_ASSERT_SV_REPORT_USED PERL_CALLCONV void Perl_sv_reset(pTHX_ const char* s, HV *const stash); #define PERL_ARGS_ASSERT_SV_RESET \ assert(s) PERL_CALLCONV void Perl_sv_resetpvn(pTHX_ const char* s, STRLEN len, HV *const stash); #define PERL_ARGS_ASSERT_SV_RESETPVN PERL_CALLCONV SV* Perl_sv_rvunweaken(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_RVUNWEAKEN \ assert(sv) PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_RVWEAKEN \ assert(sv) PERL_CALLCONV void Perl_sv_set_undef(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_SET_UNDEF \ assert(sv) PERL_CALLCONV void Perl_sv_sethek(pTHX_ SV *const sv, const HEK *const hek); #define PERL_ARGS_ASSERT_SV_SETHEK \ assert(sv) PERL_CALLCONV void Perl_sv_setiv(pTHX_ SV *const sv, const IV num); #define PERL_ARGS_ASSERT_SV_SETIV \ assert(sv) PERL_CALLCONV void Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i); #define PERL_ARGS_ASSERT_SV_SETIV_MG \ assert(sv) PERL_CALLCONV void Perl_sv_setnv(pTHX_ SV *const sv, const NV num); #define PERL_ARGS_ASSERT_SV_SETNV \ assert(sv) PERL_CALLCONV void Perl_sv_setnv_mg(pTHX_ SV *const sv, const NV num); #define PERL_ARGS_ASSERT_SV_SETNV_MG \ assert(sv) PERL_CALLCONV void Perl_sv_setpv(pTHX_ SV *const sv, const char *const ptr); #define PERL_ARGS_ASSERT_SV_SETPV \ assert(sv) PERL_CALLCONV char * Perl_sv_setpv_bufsize(pTHX_ SV *const sv, const STRLEN cur, const STRLEN len); #define PERL_ARGS_ASSERT_SV_SETPV_BUFSIZE \ assert(sv) PERL_CALLCONV void Perl_sv_setpv_mg(pTHX_ SV *const sv, const char *const ptr); #define PERL_ARGS_ASSERT_SV_SETPV_MG \ assert(sv) PERL_CALLCONV void Perl_sv_setpvf(pTHX_ SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_SV_SETPVF \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_setpvf_mg(pTHX_ SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_SV_SETPVF_MG \ assert(sv); assert(pat) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_setpviv(pTHX_ SV *const sv, const IV num) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_SETPVIV \ assert(sv) #endif #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_setpviv_mg(pTHX_ SV *const sv, const IV iv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_SETPVIV_MG \ assert(sv) #endif PERL_CALLCONV void Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len); #define PERL_ARGS_ASSERT_SV_SETPVN \ assert(sv) PERL_CALLCONV void Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len); #define PERL_ARGS_ASSERT_SV_SETPVN_MG \ assert(sv); assert(ptr) PERL_CALLCONV SV* Perl_sv_setref_iv(pTHX_ SV *const rv, const char *const classname, const IV iv); #define PERL_ARGS_ASSERT_SV_SETREF_IV \ assert(rv) PERL_CALLCONV SV* Perl_sv_setref_nv(pTHX_ SV *const rv, const char *const classname, const NV nv); #define PERL_ARGS_ASSERT_SV_SETREF_NV \ assert(rv) PERL_CALLCONV SV* Perl_sv_setref_pv(pTHX_ SV *const rv, const char *const classname, void *const pv); #define PERL_ARGS_ASSERT_SV_SETREF_PV \ assert(rv) PERL_CALLCONV SV* Perl_sv_setref_pvn(pTHX_ SV *const rv, const char *const classname, const char *const pv, const STRLEN n); #define PERL_ARGS_ASSERT_SV_SETREF_PVN \ assert(rv); assert(pv) PERL_CALLCONV SV* Perl_sv_setref_uv(pTHX_ SV *const rv, const char *const classname, const UV uv); #define PERL_ARGS_ASSERT_SV_SETREF_UV \ assert(rv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_setsv(pTHX_ SV *dstr, SV *sstr); #define PERL_ARGS_ASSERT_SV_SETSV \ assert(dstr) #endif PERL_CALLCONV void Perl_sv_setsv_flags(pTHX_ SV *dstr, SV *sstr, const I32 flags); #define PERL_ARGS_ASSERT_SV_SETSV_FLAGS \ assert(dstr) PERL_CALLCONV void Perl_sv_setsv_mg(pTHX_ SV *const dstr, SV *const sstr); #define PERL_ARGS_ASSERT_SV_SETSV_MG \ assert(dstr) PERL_CALLCONV void Perl_sv_setuv(pTHX_ SV *const sv, const UV num); #define PERL_ARGS_ASSERT_SV_SETUV \ assert(sv) PERL_CALLCONV void Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u); #define PERL_ARGS_ASSERT_SV_SETUV_MG \ assert(sv) PERL_CALLCONV SV* Perl_sv_string_from_errnum(pTHX_ int errnum, SV* tgtsv); #define PERL_ARGS_ASSERT_SV_STRING_FROM_ERRNUM #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_taint(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_TAINT \ assert(sv) #endif PERL_CALLCONV bool Perl_sv_tainted(pTHX_ SV *const sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_TAINTED \ assert(sv) PERL_CALLCONV I32 Perl_sv_true(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_TRUE PERL_CALLCONV char* Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_UNI_DISPLAY \ assert(dsv); assert(ssv) PERL_CALLCONV int Perl_sv_unmagic(pTHX_ SV *const sv, const int type); #define PERL_ARGS_ASSERT_SV_UNMAGIC \ assert(sv) PERL_CALLCONV int Perl_sv_unmagicext(pTHX_ SV *const sv, const int type, MGVTBL *vtbl); #define PERL_ARGS_ASSERT_SV_UNMAGICEXT \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_unref(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_SV_UNREF \ assert(sv) #endif PERL_CALLCONV void Perl_sv_unref_flags(pTHX_ SV *const ref, const U32 flags); #define PERL_ARGS_ASSERT_SV_UNREF_FLAGS \ assert(ref) PERL_CALLCONV void Perl_sv_untaint(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_UNTAINT \ assert(sv) PERL_CALLCONV void Perl_sv_upgrade(pTHX_ SV *const sv, svtype new_type); #define PERL_ARGS_ASSERT_SV_UPGRADE \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len); #define PERL_ARGS_ASSERT_SV_USEPVN \ assert(sv) #endif PERL_CALLCONV void Perl_sv_usepvn_flags(pTHX_ SV *const sv, char* ptr, const STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_SV_USEPVN_FLAGS \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len); #define PERL_ARGS_ASSERT_SV_USEPVN_MG \ assert(sv) #endif PERL_CALLCONV bool Perl_sv_utf8_decode(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_UTF8_DECODE \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV bool Perl_sv_utf8_downgrade(pTHX_ SV *const sv, const bool fail_ok); #define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE \ assert(sv) #endif PERL_CALLCONV bool Perl_sv_utf8_downgrade_flags(pTHX_ SV *const sv, const bool fail_ok, const U32 flags); #define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE_FLAGS \ assert(sv) /* PERL_CALLCONV bool sv_utf8_downgrade_nomg(pTHX_ SV *const sv, const bool fail_ok); */ #define PERL_ARGS_ASSERT_SV_UTF8_DOWNGRADE_NOMG PERL_CALLCONV void Perl_sv_utf8_encode(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_UTF8_ENCODE \ assert(sv) #ifndef NO_MATHOMS PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE \ assert(sv) #endif /* PERL_CALLCONV STRLEN sv_utf8_upgrade_flags(pTHX_ SV *const sv, const I32 flags); */ #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I32 flags, STRLEN extra); #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW \ assert(sv) /* PERL_CALLCONV STRLEN sv_utf8_upgrade_nomg(pTHX_ SV *sv); */ #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_NOMG #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_sv_uv(pTHX_ SV* sv) __attribute__deprecated__; #define PERL_ARGS_ASSERT_SV_UV \ assert(sv) #endif PERL_CALLCONV void Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args); #define PERL_ARGS_ASSERT_SV_VCATPVF \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vcatpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args); #define PERL_ARGS_ASSERT_SV_VCATPVF_MG \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted); #define PERL_ARGS_ASSERT_SV_VCATPVFN \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted, const U32 flags); #define PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vsetpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args); #define PERL_ARGS_ASSERT_SV_VSETPVF \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vsetpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args); #define PERL_ARGS_ASSERT_SV_VSETPVF_MG \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted); #define PERL_ARGS_ASSERT_SV_VSETPVFN \ assert(sv); assert(pat) PERL_CALLCONV void Perl_switch_to_global_locale(void); #define PERL_ARGS_ASSERT_SWITCH_TO_GLOBAL_LOCALE PERL_CALLCONV bool Perl_sync_locale(void); #define PERL_ARGS_ASSERT_SYNC_LOCALE PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv); #define PERL_ARGS_ASSERT_SYS_INIT \ assert(argc); assert(argv) PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env); #define PERL_ARGS_ASSERT_SYS_INIT3 \ assert(argc); assert(argv); assert(env) PERL_CALLCONV void Perl_sys_term(void); #define PERL_ARGS_ASSERT_SYS_TERM PERL_CALLCONV void Perl_taint_env(pTHX); #define PERL_ARGS_ASSERT_TAINT_ENV PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char *const s); #define PERL_ARGS_ASSERT_TAINT_PROPER \ assert(s) PERL_CALLCONV void Perl_thread_locale_init(void); #define PERL_ARGS_ASSERT_THREAD_LOCALE_INIT PERL_CALLCONV void Perl_thread_locale_term(void); #define PERL_ARGS_ASSERT_THREAD_LOCALE_TERM PERL_CALLCONV OP * Perl_tied_method(pTHX_ SV *methname, SV **sp, SV *const sv, const MAGIC *const mg, const U32 flags, U32 argc, ...); #define PERL_ARGS_ASSERT_TIED_METHOD \ assert(methname); assert(sp); assert(sv); assert(mg) PERL_CALLCONV SSize_t Perl_tmps_grow_p(pTHX_ SSize_t ix); #define PERL_ARGS_ASSERT_TMPS_GROW_P /* PERL_CALLCONV UV to_uni_fold(pTHX_ UV c, U8 *p, STRLEN *lenp); */ #define PERL_ARGS_ASSERT_TO_UNI_FOLD PERL_CALLCONV UV Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_LOWER \ assert(p); assert(lenp) PERL_CALLCONV UV Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_TITLE \ assert(p); assert(lenp) PERL_CALLCONV UV Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp); #define PERL_ARGS_ASSERT_TO_UNI_UPPER \ assert(p); assert(lenp) PERL_CALLCONV bool Perl_try_amagic_bin(pTHX_ int method, int flags); #define PERL_ARGS_ASSERT_TRY_AMAGIC_BIN PERL_CALLCONV bool Perl_try_amagic_un(pTHX_ int method, int flags); #define PERL_ARGS_ASSERT_TRY_AMAGIC_UN #ifndef NO_MATHOMS PERL_CALLCONV SSize_t Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UNPACK_STR \ assert(pat); assert(patend); assert(s); assert(strend) #endif PERL_CALLCONV SSize_t Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags); #define PERL_ARGS_ASSERT_UNPACKSTRING \ assert(pat); assert(patend); assert(s); assert(strend) PERL_CALLCONV void Perl_unshare_hek(pTHX_ HEK* hek); #define PERL_ARGS_ASSERT_UNSHARE_HEK PERL_CALLCONV void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash); #define PERL_ARGS_ASSERT_UNSHAREPVN PERL_CALLCONV SV* Perl_upg_version(pTHX_ SV *ver, bool qv); #define PERL_ARGS_ASSERT_UPG_VERSION \ assert(ver) PERL_CALLCONV U8* Perl_utf16_to_utf8(pTHX_ U8* p, U8 *d, Size_t bytelen, Size_t *newlen); #define PERL_ARGS_ASSERT_UTF16_TO_UTF8 \ assert(p); assert(d); assert(newlen) PERL_CALLCONV U8* Perl_utf16_to_utf8_reversed(pTHX_ U8* p, U8 *d, Size_t bytelen, Size_t *newlen); #define PERL_ARGS_ASSERT_UTF16_TO_UTF8_REVERSED \ assert(p); assert(d); assert(newlen) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE IV Perl_utf8_distance(pTHX_ const U8 *a, const U8 *b) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_DISTANCE \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U8* Perl_utf8_hop(const U8 *s, SSize_t off) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_HOP \ assert(s) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U8* Perl_utf8_hop_back(const U8 *s, SSize_t off, const U8 *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_HOP_BACK \ assert(s); assert(start) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U8* Perl_utf8_hop_forward(const U8 *s, SSize_t off, const U8 *end) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_HOP_FORWARD \ assert(s); assert(end) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U8* Perl_utf8_hop_safe(const U8 *s, SSize_t off, const U8 *start, const U8 *end) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_HOP_SAFE \ assert(s); assert(start); assert(end) #endif PERL_CALLCONV STRLEN Perl_utf8_length(pTHX_ const U8* s, const U8 *e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UTF8_LENGTH \ assert(s); assert(e) PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *lenp); #define PERL_ARGS_ASSERT_UTF8_TO_BYTES \ assert(s); assert(lenp) #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR \ assert(s) #endif PERL_CALLCONV UV Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen); #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF \ assert(s); assert(send) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV Perl_utf8_to_uvchr_buf_helper(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen); #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF_HELPER \ assert(s); assert(send) #endif #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8_TO_UVUNI \ assert(s) #endif PERL_CALLCONV UV Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF \ assert(s); assert(send) PERL_CALLCONV UV Perl_utf8n_to_uvchr(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags); #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR \ assert(s) PERL_CALLCONV UV Perl_utf8n_to_uvchr_error(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors); #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR \ assert(s) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV Perl_utf8n_to_uvchr_msgs(const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs); #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_MSGS \ assert(s) #endif #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI \ assert(s) #endif PERL_CALLCONV void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* idop, OP* arg); #define PERL_ARGS_ASSERT_UTILIZE \ assert(idop) /* PERL_CALLCONV U8* uvchr_to_utf8(pTHX_ U8 *d, UV uv); */ #define PERL_ARGS_ASSERT_UVCHR_TO_UTF8 /* PERL_CALLCONV U8* uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags); */ #define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS /* PERL_CALLCONV U8* uvchr_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, UV flags, HV ** msgs); */ #define PERL_ARGS_ASSERT_UVCHR_TO_UTF8_FLAGS_MSGS PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, const UV flags); #define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS \ assert(d) PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, const UV flags, HV** msgs); #define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS_MSGS \ assert(d) PERL_CALLCONV U8* Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv); #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8 \ assert(d) #ifndef NO_MATHOMS PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags) __attribute__deprecated__; #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS \ assert(d) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV Perl_valid_utf8_to_uvchr(const U8 *s, STRLEN *retlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR \ assert(s) #endif #ifndef NO_MATHOMS PERL_CALLCONV UV Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI \ assert(s) #endif PERL_CALLCONV bool Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn, bool curstash); #define PERL_ARGS_ASSERT_VALIDATE_PROTO \ assert(name) PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv); #define PERL_ARGS_ASSERT_VCMP \ assert(lhv); assert(rhv) PERL_CALLCONV_NO_RET void Perl_vcroak(pTHX_ const char* pat, va_list* args) __attribute__noreturn__; #define PERL_ARGS_ASSERT_VCROAK PERL_CALLCONV void Perl_vdeb(pTHX_ const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VDEB \ assert(pat) PERL_CALLCONV char* Perl_vform(pTHX_ const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VFORM \ assert(pat) PERL_CALLCONV void Perl_vivify_defelem(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_VIVIFY_DEFELEM \ assert(sv) PERL_CALLCONV SV* Perl_vivify_ref(pTHX_ SV* sv, U32 to_what) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VIVIFY_REF \ assert(sv) PERL_CALLCONV void Perl_vload_module(pTHX_ U32 flags, SV* name, SV* ver, va_list* args); #define PERL_ARGS_ASSERT_VLOAD_MODULE \ assert(name) PERL_CALLCONV SV* Perl_vmess(pTHX_ const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VMESS \ assert(pat) PERL_CALLCONV SV* Perl_vnewSVpvf(pTHX_ const char *const pat, va_list *const args) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VNEWSVPVF \ assert(pat) PERL_CALLCONV SV* Perl_vnormal(pTHX_ SV *vs); #define PERL_ARGS_ASSERT_VNORMAL \ assert(vs) PERL_CALLCONV SV* Perl_vnumify(pTHX_ SV *vs); #define PERL_ARGS_ASSERT_VNUMIFY \ assert(vs) PERL_CALLCONV SV* Perl_vstringify(pTHX_ SV *vs); #define PERL_ARGS_ASSERT_VSTRINGIFY \ assert(vs) PERL_CALLCONV SV* Perl_vverify(pTHX_ SV *vs); #define PERL_ARGS_ASSERT_VVERIFY \ assert(vs) PERL_CALLCONV void Perl_vwarn(pTHX_ const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VWARN \ assert(pat) PERL_CALLCONV void Perl_vwarner(pTHX_ U32 err, const char* pat, va_list* args); #define PERL_ARGS_ASSERT_VWARNER \ assert(pat) PERL_CALLCONV I32 Perl_wait4pid(pTHX_ Pid_t pid, int* statusp, int flags); #define PERL_ARGS_ASSERT_WAIT4PID \ assert(statusp) PERL_CALLCONV void Perl_warn(pTHX_ const char* pat, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_WARN \ assert(pat) PERL_CALLCONV void Perl_warn_sv(pTHX_ SV *baseex); #define PERL_ARGS_ASSERT_WARN_SV \ assert(baseex) PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...) __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_WARNER \ assert(pat) PERL_CALLCONV I32 Perl_was_lvalue_sub(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_WAS_LVALUE_SUB PERL_CALLCONV void Perl_watch(pTHX_ char** addr); #define PERL_ARGS_ASSERT_WATCH \ assert(addr) /* PERL_CALLCONV I32 whichsig(pTHX_ const char* sig); */ #define PERL_ARGS_ASSERT_WHICHSIG PERL_CALLCONV I32 Perl_whichsig_pv(pTHX_ const char* sig); #define PERL_ARGS_ASSERT_WHICHSIG_PV \ assert(sig) PERL_CALLCONV I32 Perl_whichsig_pvn(pTHX_ const char* sig, STRLEN len); #define PERL_ARGS_ASSERT_WHICHSIG_PVN \ assert(sig) PERL_CALLCONV I32 Perl_whichsig_sv(pTHX_ SV* sigsv); #define PERL_ARGS_ASSERT_WHICHSIG_SV \ assert(sigsv) PERL_CALLCONV void Perl_wrap_keyword_plugin(pTHX_ Perl_keyword_plugin_t new_plugin, Perl_keyword_plugin_t *old_plugin_p); #define PERL_ARGS_ASSERT_WRAP_KEYWORD_PLUGIN \ assert(new_plugin); assert(old_plugin_p) PERL_CALLCONV void Perl_wrap_op_checker(pTHX_ Optype opcode, Perl_check_t new_checker, Perl_check_t *old_checker_p); #define PERL_ARGS_ASSERT_WRAP_OP_CHECKER \ assert(new_checker); assert(old_checker_p) PERL_CALLCONV void Perl_write_to_stderr(pTHX_ SV* msv); #define PERL_ARGS_ASSERT_WRITE_TO_STDERR \ assert(msv) PERL_CALLCONV void Perl_xs_boot_epilog(pTHX_ const I32 ax); #define PERL_ARGS_ASSERT_XS_BOOT_EPILOG PERL_CALLCONV I32 Perl_xs_handshake(const U32 key, void * v_my_perl, const char * file, ...); #define PERL_ARGS_ASSERT_XS_HANDSHAKE \ assert(v_my_perl); assert(file) PERL_CALLCONV int Perl_yyerror(pTHX_ const char *const s); #define PERL_ARGS_ASSERT_YYERROR \ assert(s) PERL_CALLCONV int Perl_yyerror_pv(pTHX_ const char *const s, U32 flags); #define PERL_ARGS_ASSERT_YYERROR_PV \ assert(s) PERL_CALLCONV int Perl_yyerror_pvn(pTHX_ const char *const s, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_YYERROR_PVN PERL_CALLCONV int Perl_yylex(pTHX); #define PERL_ARGS_ASSERT_YYLEX PERL_CALLCONV int Perl_yyparse(pTHX_ int gramtype); #define PERL_ARGS_ASSERT_YYPARSE PERL_CALLCONV void Perl_yyquit(pTHX); #define PERL_ARGS_ASSERT_YYQUIT PERL_CALLCONV void Perl_yyunlex(pTHX); #define PERL_ARGS_ASSERT_YYUNLEX #if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void * S_my_memrchr(const char * s, const char c, const STRLEN len); #define PERL_ARGS_ASSERT_MY_MEMRCHR \ assert(s) #endif #endif #if !(!defined(PERL_EXT_RE_BUILD)) # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) PERL_CALLCONV SV* Perl_get_re_gclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist); #define PERL_ARGS_ASSERT_GET_RE_GCLASS_NONBITMAP_DATA \ assert(node) # endif #endif #if !(defined(DEBUGGING)) # if !defined(NV_PRESERVES_UV) # if defined(PERL_IN_SV_C) STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \ assert(sv) # endif # endif #endif #if !(defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)) PERL_CALLCONV const char* Perl_langinfo(const int item); #define PERL_ARGS_ASSERT_PERL_LANGINFO #endif #if !(defined(HAS_NL_LANGINFO)) # if defined(PERL_IN_LOCALE_C) STATIC const char* S_my_nl_langinfo(const int item, bool toggle); #define PERL_ARGS_ASSERT_MY_NL_LANGINFO # endif #endif #if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)) PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); #define PERL_ARGS_ASSERT_DO_EXEC \ assert(cmd) #endif #if !(defined(PERL_GLOBAL_STRUCT_PRIVATE)) # if defined(PERL_IMPLICIT_CONTEXT) PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ int *indexp, size_t size); #define PERL_ARGS_ASSERT_MY_CXT_INIT \ assert(indexp) # endif #endif #if !(defined(PERL_USE_3ARG_SIGHANDLER)) PERL_CALLCONV Signal_t Perl_csighandler(int sig); #define PERL_ARGS_ASSERT_CSIGHANDLER PERL_CALLCONV Signal_t Perl_sighandler(int sig); #define PERL_ARGS_ASSERT_SIGHANDLER #endif #if !(defined(_MSC_VER)) PERL_CALLCONV_NO_RET int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET \ assert(sv); assert(mg) #endif #if !defined(EBCDIC) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE unsigned int Perl_variant_byte_number(PERL_UINTMAX_T word) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VARIANT_BYTE_NUMBER #endif #endif #if !defined(HAS_GETENV_LEN) PERL_CALLCONV char* Perl_getenv_len(pTHX_ const char *env_elem, unsigned long *len); #define PERL_ARGS_ASSERT_GETENV_LEN \ assert(env_elem); assert(len) #endif #if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) # if defined(PERL_IN_PP_SYS_C) STATIC int S_dooneliner(pTHX_ const char *cmd, const char *filename) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOONELINER \ assert(cmd); assert(filename) # endif #endif #if !defined(HAS_MKOSTEMP) PERL_CALLCONV int Perl_my_mkostemp(char *templte, int flags); #define PERL_ARGS_ASSERT_MY_MKOSTEMP \ assert(templte) #endif #if !defined(HAS_MKSTEMP) PERL_CALLCONV int Perl_my_mkstemp(char *templte); #define PERL_ARGS_ASSERT_MY_MKSTEMP \ assert(templte) #endif #if !defined(HAS_RENAME) PERL_CALLCONV I32 Perl_same_dirent(pTHX_ const char* a, const char* b); #define PERL_ARGS_ASSERT_SAME_DIRENT \ assert(a); assert(b) #endif #if !defined(HAS_SIGNBIT) PERL_CALLCONV int Perl_signbit(NV f) __attribute__warn_unused_result__ __attribute__pure__; #define PERL_ARGS_ASSERT_PERL_SIGNBIT #endif #if !defined(HAS_STRLCAT) PERL_CALLCONV Size_t Perl_my_strlcat(char *dst, const char *src, Size_t size); #define PERL_ARGS_ASSERT_MY_STRLCAT #endif #if !defined(HAS_STRLCPY) PERL_CALLCONV Size_t Perl_my_strlcpy(char *dst, const char *src, Size_t size); #define PERL_ARGS_ASSERT_MY_STRLCPY #endif #if !defined(HAS_STRNLEN) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t Perl_my_strnlen(const char *str, Size_t maxlen); #define PERL_ARGS_ASSERT_MY_STRNLEN \ assert(str) #endif #endif #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) PERL_CALLCONV I32 Perl_my_chsize(pTHX_ int fd, Off_t length) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_CHSIZE #endif #if !defined(NV_PRESERVES_UV) # if defined(DEBUGGING) # if defined(PERL_IN_SV_C) STATIC int S_sv_2iuv_non_preserve(pTHX_ SV *const sv, I32 numtype); #define PERL_ARGS_ASSERT_SV_2IUV_NON_PRESERVE \ assert(sv) # endif # endif #endif #if !defined(PERL_DISABLE_PMC) # if defined(PERL_IN_PP_CTL_C) STATIC PerlIO * S_doopen_pm(pTHX_ SV *name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOOPEN_PM \ assert(name) # endif #endif #if !defined(PERL_EXT_RE_BUILD) # if defined(PERL_IN_REGCOMP_C) STATIC void S__append_range_to_invlist(pTHX_ SV* const invlist, const UV start, const UV end); #define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \ assert(invlist) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV* S__invlist_array_init(SV* const invlist, const bool will_have_0) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE IV* S_get_invlist_previous_index_addr(SV* invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_INVLIST_PREVIOUS_INDEX_ADDR \ assert(invlist) #endif STATIC void S_initialize_invlist_guts(pTHX_ SV* invlist, const Size_t initial_size); #define PERL_ARGS_ASSERT_INITIALIZE_INVLIST_GUTS \ assert(invlist) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_clear(pTHX_ SV* invlist); #define PERL_ARGS_ASSERT_INVLIST_CLEAR \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV S_invlist_max(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_MAX \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE IV S_invlist_previous_index(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_PREVIOUS_INDEX \ assert(invlist) #endif STATIC void S_invlist_replace_list_destroys_src(pTHX_ SV *dest, SV *src); #define PERL_ARGS_ASSERT_INVLIST_REPLACE_LIST_DESTROYS_SRC \ assert(dest); assert(src) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_set_previous_index(SV* const invlist, const IV index); #define PERL_ARGS_ASSERT_INVLIST_SET_PREVIOUS_INDEX \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_trim(SV* invlist); #define PERL_ARGS_ASSERT_INVLIST_TRIM \ assert(invlist) #endif # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) PERL_CALLCONV SV* Perl_get_regclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist); #define PERL_ARGS_ASSERT_GET_REGCLASS_NONBITMAP_DATA \ assert(node) # endif #endif #if !defined(PERL_IMPLICIT_SYS) PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr); #define PERL_ARGS_ASSERT_MY_PCLOSE PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode); #define PERL_ARGS_ASSERT_MY_POPEN \ assert(cmd); assert(mode) #endif #if !defined(PERL_IS_MINIPERL) # if defined(PERL_IN_PERL_C) STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem); #define PERL_ARGS_ASSERT_INCPUSH_IF_EXISTS \ assert(av); assert(dir); assert(stem) # endif #endif #if !defined(PERL_NO_INLINE_FUNCTIONS) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popblock(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPBLOCK \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popeval(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPEVAL \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popformat(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPFORMAT \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popgiven(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPGIVEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_poploop(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPLOOP \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popsub(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popsub_args(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB_ARGS \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popsub_common(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPSUB_COMMON \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_popwhen(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_POPWHEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE PERL_CONTEXT * Perl_cx_pushblock(pTHX_ U8 type, U8 gimme, SV** sp, I32 saveix); #define PERL_ARGS_ASSERT_CX_PUSHBLOCK \ assert(sp) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pusheval(pTHX_ PERL_CONTEXT *cx, OP *retop, SV *namesv); #define PERL_ARGS_ASSERT_CX_PUSHEVAL \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushformat(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, GV *gv); #define PERL_ARGS_ASSERT_CX_PUSHFORMAT \ assert(cx); assert(cv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv); #define PERL_ARGS_ASSERT_CX_PUSHGIVEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushloop_for(pTHX_ PERL_CONTEXT *cx, void *itervarp, SV *itersave); #define PERL_ARGS_ASSERT_CX_PUSHLOOP_FOR \ assert(cx); assert(itervarp) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushloop_plain(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_PUSHLOOP_PLAIN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushsub(pTHX_ PERL_CONTEXT *cx, CV *cv, OP *retop, bool hasargs); #define PERL_ARGS_ASSERT_CX_PUSHSUB \ assert(cx); assert(cv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_pushwhen(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_PUSHWHEN \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void Perl_cx_topblock(pTHX_ PERL_CONTEXT *cx); #define PERL_ARGS_ASSERT_CX_TOPBLOCK \ assert(cx) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U8 Perl_gimme_V(pTHX); #define PERL_ARGS_ASSERT_GIMME_V #endif #endif #if !defined(PERL_NO_UTF16_FILTER) # if defined(PERL_IN_TOKE_C) STATIC U8* S_add_utf16_textfilter(pTHX_ U8 *const s, bool reversed); #define PERL_ARGS_ASSERT_ADD_UTF16_TEXTFILTER \ assert(s) STATIC I32 S_utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen); #define PERL_ARGS_ASSERT_UTF16_TEXTFILTER \ assert(sv) # endif #endif #if !defined(SETUID_SCRIPTS_ARE_SECURE_NOW) # if defined(PERL_IN_PERL_C) STATIC void S_validate_suid(pTHX_ PerlIO *rsfp); #define PERL_ARGS_ASSERT_VALIDATE_SUID \ assert(rsfp) # endif #endif #if !defined(UV_IS_QUAD) # if defined(PERL_IN_UTF8_C) STATIC int S_is_utf8_cp_above_31_bits(const U8 * const s, const U8 * const e, const bool consider_overlongs) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS \ assert(s); assert(e) # endif #endif #if !defined(WIN32) PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report); #define PERL_ARGS_ASSERT_DO_EXEC3 \ assert(incmd) #endif #if 0 /* Not currently used, but may be needed in the future */ # if defined(PERL_IN_UTF8_C) STATIC void S_warn_on_first_deprecated_use(pTHX_ const char * const name, const char * const alternative, const bool use_locale, const char * const file, const unsigned line); #define PERL_ARGS_ASSERT_WARN_ON_FIRST_DEPRECATED_USE \ assert(name); assert(alternative); assert(file) # endif #endif #if defined (HAS_SOCKETPAIR) || (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && defined(AF_INET) && defined(PF_INET)) PERL_CALLCONV int Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol, int *pairfd) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLSOCK_SOCKETPAIR_CLOEXEC \ assert(pairfd) #endif #if defined(DEBUGGING) PERL_CALLCONV int Perl_get_debug_opts(pTHX_ const char **s, bool givehelp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_DEBUG_OPTS \ assert(s) PERL_CALLCONV void Perl_hv_assert(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_ASSERT \ assert(hv) PERL_CALLCONV void Perl_pad_setsv(pTHX_ PADOFFSET po, SV* sv); #define PERL_ARGS_ASSERT_PAD_SETSV \ assert(sv) PERL_CALLCONV SV* Perl_pad_sv(pTHX_ PADOFFSET po); #define PERL_ARGS_ASSERT_PAD_SV PERL_CALLCONV void Perl_set_padlist(CV * cv, PADLIST * padlist); #define PERL_ARGS_ASSERT_SET_PADLIST \ assert(cv) # if defined(PERL_IN_LOCALE_C) # if defined(USE_LOCALE) STATIC void S_print_bytes_for_locale(pTHX_ const char * const s, const char * const e, const bool is_utf8); #define PERL_ARGS_ASSERT_PRINT_BYTES_FOR_LOCALE \ assert(s); assert(e) STATIC void S_print_collxfrm_input_and_return(pTHX_ const char * const s, const char * const e, const STRLEN * const xlen, const bool is_utf8); #define PERL_ARGS_ASSERT_PRINT_COLLXFRM_INPUT_AND_RETURN \ assert(s); assert(e) STATIC char * S_setlocale_debug_string(const int category, const char* const locale, const char* const retval) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SETLOCALE_DEBUG_STRING # endif # endif # if defined(PERL_IN_PAD_C) STATIC void S_cv_dump(pTHX_ const CV *cv, const char *title); #define PERL_ARGS_ASSERT_CV_DUMP \ assert(cv); assert(title) # endif # if defined(PERL_IN_REGCOMP_C) STATIC void S_dump_trie(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 depth); #define PERL_ARGS_ASSERT_DUMP_TRIE \ assert(trie); assert(revcharmap) STATIC void S_dump_trie_interim_list(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth); #define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_LIST \ assert(trie); assert(revcharmap) STATIC void S_dump_trie_interim_table(pTHX_ const struct _reg_trie_data *trie, HV* widecharmap, AV *revcharmap, U32 next_alloc, U32 depth); #define PERL_ARGS_ASSERT_DUMP_TRIE_INTERIM_TABLE \ assert(trie); assert(revcharmap) STATIC const regnode* S_dumpuntil(pTHX_ const regexp *r, const regnode *start, const regnode *node, const regnode *last, const regnode *plast, SV* sv, I32 indent, U32 depth); #define PERL_ARGS_ASSERT_DUMPUNTIL \ assert(r); assert(start); assert(node); assert(sv) STATIC bool S_put_charclass_bitmap_innards(pTHX_ SV* sv, char* bitmap, SV* nonbitmap_invlist, SV* only_utf8_locale_invlist, const regnode * const node, const U8 flags, const bool force_as_is_display); #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS \ assert(sv) STATIC SV* S_put_charclass_bitmap_innards_common(pTHX_ SV* invlist, SV* posixes, SV* only_utf8, SV* not_utf8, SV* only_utf8_locale, const bool invert); #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS_COMMON \ assert(invlist) STATIC void S_put_charclass_bitmap_innards_invlist(pTHX_ SV *sv, SV* invlist); #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS_INVLIST \ assert(sv); assert(invlist) STATIC void S_put_code_point(pTHX_ SV* sv, UV c); #define PERL_ARGS_ASSERT_PUT_CODE_POINT \ assert(sv) STATIC void S_put_range(pTHX_ SV* sv, UV start, const UV end, const bool allow_literals); #define PERL_ARGS_ASSERT_PUT_RANGE \ assert(sv) PERL_CALLCONV int Perl_re_indentf(pTHX_ const char *fmt, U32 depth, ...); #define PERL_ARGS_ASSERT_RE_INDENTF \ assert(fmt) STATIC void S_regdump_extflags(pTHX_ const char *lead, const U32 flags); #define PERL_ARGS_ASSERT_REGDUMP_EXTFLAGS STATIC void S_regdump_intflags(pTHX_ const char *lead, const U32 flags); #define PERL_ARGS_ASSERT_REGDUMP_INTFLAGS STATIC bool S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode_offset p, const regnode_offset val, U32 depth) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL_STUDY \ assert(pRExC_state); assert(p); assert(val) # endif # if defined(PERL_IN_REGEXEC_C) STATIC void S_debug_start_match(pTHX_ const REGEXP *prog, const bool do_utf8, const char *start, const char *end, const char *blurb); #define PERL_ARGS_ASSERT_DEBUG_START_MATCH \ assert(prog); assert(start); assert(end); assert(blurb) STATIC void S_dump_exec_pos(pTHX_ const char *locinput, const regnode *scan, const char *loc_regeol, const char *loc_bostr, const char *loc_reg_starttry, const bool do_utf8, const U32 depth); #define PERL_ARGS_ASSERT_DUMP_EXEC_POS \ assert(locinput); assert(scan); assert(loc_regeol); assert(loc_bostr); assert(loc_reg_starttry) PERL_CALLCONV int Perl_re_exec_indentf(pTHX_ const char *fmt, U32 depth, ...); #define PERL_ARGS_ASSERT_RE_EXEC_INDENTF \ assert(fmt) # endif # if defined(PERL_IN_SV_C) STATIC void S_del_sv(pTHX_ SV *p); #define PERL_ARGS_ASSERT_DEL_SV \ assert(p) # endif # if defined(PERL_IN_TOKE_C) STATIC void S_printbuf(pTHX_ const char *const fmt, const char *const s) __attribute__format__(__printf__,pTHX_1,0); #define PERL_ARGS_ASSERT_PRINTBUF \ assert(fmt); assert(s) STATIC int S_tokereport(pTHX_ I32 rv, const YYSTYPE* lvalp); #define PERL_ARGS_ASSERT_TOKEREPORT \ assert(lvalp) # endif #endif #if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING) # if defined(PERL_IN_REGCOMP_C) STATIC void S_dump_regex_sets_structures(pTHX_ RExC_state_t *pRExC_state, AV * stack, const IV fence, AV * fence_stack); #define PERL_ARGS_ASSERT_DUMP_REGEX_SETS_STRUCTURES \ assert(pRExC_state); assert(stack); assert(fence_stack) # endif #endif #if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP) PERL_CALLCONV void Perl_dump_sv_child(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_DUMP_SV_CHILD \ assert(sv) #endif #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) PERL_CALLCONV I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_IPCCTL \ assert(mark); assert(sp) PERL_CALLCONV I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_IPCGET \ assert(mark); assert(sp) PERL_CALLCONV I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_MSGRCV \ assert(mark); assert(sp) PERL_CALLCONV I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_MSGSND \ assert(mark); assert(sp) PERL_CALLCONV I32 Perl_do_semop(pTHX_ SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_SEMOP \ assert(mark); assert(sp) PERL_CALLCONV I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_SHMIO \ assert(mark); assert(sp) #endif #if defined(HAS_NL_LANGINFO) # if defined(PERL_IN_LOCALE_C) STATIC const char* S_my_nl_langinfo(const nl_item item, bool toggle); #define PERL_ARGS_ASSERT_MY_NL_LANGINFO # endif #endif #if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H) PERL_CALLCONV const char* Perl_langinfo(const nl_item item); #define PERL_ARGS_ASSERT_PERL_LANGINFO #endif #if defined(HAS_PIPE) PERL_CALLCONV int Perl_PerlProc_pipe_cloexec(pTHX_ int *pipefd) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLPROC_PIPE_CLOEXEC \ assert(pipefd) #endif #if defined(HAS_SOCKET) PERL_CALLCONV int Perl_PerlSock_accept_cloexec(pTHX_ int listenfd, struct sockaddr *addr, Sock_size_t *addrlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLSOCK_ACCEPT_CLOEXEC PERL_CALLCONV int Perl_PerlSock_socket_cloexec(pTHX_ int domain, int type, int protocol) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLSOCK_SOCKET_CLOEXEC #endif #if defined(HAVE_INTERP_INTERN) PERL_CALLCONV void Perl_sys_intern_clear(pTHX); #define PERL_ARGS_ASSERT_SYS_INTERN_CLEAR PERL_CALLCONV void Perl_sys_intern_init(pTHX); #define PERL_ARGS_ASSERT_SYS_INTERN_INIT # if defined(USE_ITHREADS) PERL_CALLCONV void Perl_sys_intern_dup(pTHX_ struct interp_intern* src, struct interp_intern* dst); #define PERL_ARGS_ASSERT_SYS_INTERN_DUP \ assert(src); assert(dst) # endif #endif #if defined(MYMALLOC) PERL_CALLCONV void Perl_dump_mstats(pTHX_ const char* s); #define PERL_ARGS_ASSERT_DUMP_MSTATS \ assert(s) PERL_CALLCONV int Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level); #define PERL_ARGS_ASSERT_GET_MSTATS \ assert(buf) PERL_CALLCONV MEM_SIZE Perl_malloc_good_size(size_t nbytes) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MALLOC_GOOD_SIZE PERL_CALLCONV MEM_SIZE Perl_malloced_size(void *p) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MALLOCED_SIZE \ assert(p) #endif #if defined(PERL_ANY_COW) PERL_CALLCONV SV* Perl_sv_setsv_cow(pTHX_ SV* dstr, SV* sstr); #define PERL_ARGS_ASSERT_SV_SETSV_COW \ assert(sstr) #endif #if defined(PERL_CORE) PERL_CALLCONV void Perl_opslab_force_free(pTHX_ OPSLAB *slab); #define PERL_ARGS_ASSERT_OPSLAB_FORCE_FREE \ assert(slab) PERL_CALLCONV void Perl_opslab_free(pTHX_ OPSLAB *slab); #define PERL_ARGS_ASSERT_OPSLAB_FREE \ assert(slab) PERL_CALLCONV void Perl_opslab_free_nopad(pTHX_ OPSLAB *slab); #define PERL_ARGS_ASSERT_OPSLAB_FREE_NOPAD \ assert(slab) PERL_CALLCONV void Perl_parser_free_nexttoke_ops(pTHX_ yy_parser *parser, OPSLAB *slab); #define PERL_ARGS_ASSERT_PARSER_FREE_NEXTTOKE_OPS \ assert(parser); assert(slab) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_should_warn_nl(const char *pv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SHOULD_WARN_NL \ assert(pv) #endif # if defined(PERL_DEBUG_READONLY_OPS) PERL_CALLCONV void Perl_Slab_to_ro(pTHX_ OPSLAB *slab); #define PERL_ARGS_ASSERT_SLAB_TO_RO \ assert(slab) PERL_CALLCONV void Perl_Slab_to_rw(pTHX_ OPSLAB *const slab); #define PERL_ARGS_ASSERT_SLAB_TO_RW \ assert(slab) # endif #endif #if defined(PERL_CORE) || defined (PERL_EXT) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool Perl_is_utf8_non_invariant_string(const U8* const s, STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING \ assert(s) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE STRLEN S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp); #define PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B \ assert(sv); assert(pv) #endif #endif #if defined(PERL_CORE) || defined(PERL_EXT) PERL_CALLCONV bool Perl_isSCRIPT_RUN(pTHX_ const U8 *s, const U8 *send, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISSCRIPT_RUN \ assert(s); assert(send) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t S_variant_under_utf8_count(const U8* const s, const U8* const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT \ assert(s); assert(e) #endif #endif #if defined(PERL_CR_FILTER) # if defined(PERL_IN_TOKE_C) STATIC I32 S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen); #define PERL_ARGS_ASSERT_CR_TEXTFILTER STATIC void S_strip_return(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_STRIP_RETURN \ assert(sv) # endif #endif #if defined(PERL_DEBUG_READONLY_COW) PERL_CALLCONV void Perl_sv_buf_to_ro(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_BUF_TO_RO \ assert(sv) # if defined(PERL_IN_SV_C) STATIC void S_sv_buf_to_rw(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_SV_BUF_TO_RW \ assert(sv) # endif #endif #if defined(PERL_DEBUG_READONLY_OPS) PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_REFCNT_DEC \ assert(o) PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_REFCNT_INC #endif #if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION) PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); #define PERL_ARGS_ASSERT_DO_EXEC \ assert(cmd) #endif #if defined(PERL_DONT_CREATE_GVSV) #ifndef NO_MATHOMS PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV *gv); #define PERL_ARGS_ASSERT_GV_SVADD #endif #endif #if defined(PERL_GLOBAL_STRUCT) PERL_CALLCONV struct perl_vars * Perl_GetVars(pTHX); #define PERL_ARGS_ASSERT_GETVARS PERL_CALLCONV void Perl_free_global_struct(pTHX_ struct perl_vars *plvarsp); #define PERL_ARGS_ASSERT_FREE_GLOBAL_STRUCT \ assert(plvarsp) PERL_CALLCONV struct perl_vars* Perl_init_global_struct(pTHX); #define PERL_ARGS_ASSERT_INIT_GLOBAL_STRUCT #endif #if defined(PERL_GLOBAL_STRUCT_PRIVATE) # if defined(PERL_IMPLICIT_CONTEXT) PERL_CALLCONV int Perl_my_cxt_index(pTHX_ const char *my_cxt_key); #define PERL_ARGS_ASSERT_MY_CXT_INDEX \ assert(my_cxt_key) PERL_CALLCONV void* Perl_my_cxt_init(pTHX_ const char *my_cxt_key, size_t size); #define PERL_ARGS_ASSERT_MY_CXT_INIT \ assert(my_cxt_key) # endif #endif #if defined(PERL_IMPLICIT_CONTEXT) PERL_CALLCONV_NO_RET void Perl_croak_nocontext(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); #define PERL_ARGS_ASSERT_CROAK_NOCONTEXT PERL_CALLCONV void Perl_deb_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_DEB_NOCONTEXT \ assert(pat) PERL_CALLCONV_NO_RET OP* Perl_die_nocontext(const char* pat, ...) __attribute__noreturn__ __attribute__format__null_ok__(__printf__,1,2); #define PERL_ARGS_ASSERT_DIE_NOCONTEXT PERL_CALLCONV char* Perl_form_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_FORM_NOCONTEXT \ assert(pat) #ifndef NO_MATHOMS PERL_CALLCONV int Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...) __attribute__deprecated__ __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT \ assert(stream); assert(format) #endif PERL_CALLCONV void Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...); #define PERL_ARGS_ASSERT_LOAD_MODULE_NOCONTEXT \ assert(name) PERL_CALLCONV SV* Perl_mess_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_MESS_NOCONTEXT \ assert(pat) PERL_CALLCONV SV* Perl_newSVpvf_nocontext(const char *const pat, ...) __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT \ assert(pat) #ifndef NO_MATHOMS PERL_CALLCONV int Perl_printf_nocontext(const char *format, ...) __attribute__deprecated__ __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT \ assert(format) #endif PERL_CALLCONV void Perl_sv_catpvf_mg_nocontext(SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_SV_CATPVF_MG_NOCONTEXT \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_catpvf_nocontext(SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_SV_CATPVF_NOCONTEXT \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_setpvf_mg_nocontext(SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_SV_SETPVF_MG_NOCONTEXT \ assert(sv); assert(pat) PERL_CALLCONV void Perl_sv_setpvf_nocontext(SV *const sv, const char *const pat, ...) __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_SV_SETPVF_NOCONTEXT \ assert(sv); assert(pat) PERL_CALLCONV void Perl_warn_nocontext(const char* pat, ...) __attribute__format__(__printf__,1,2); #define PERL_ARGS_ASSERT_WARN_NOCONTEXT \ assert(pat) PERL_CALLCONV void Perl_warner_nocontext(U32 err, const char* pat, ...) __attribute__format__(__printf__,2,3); #define PERL_ARGS_ASSERT_WARNER_NOCONTEXT \ assert(pat) #endif #if defined(PERL_IMPLICIT_SYS) PERL_CALLCONV PerlInterpreter* perl_alloc_using(struct IPerlMem *ipM, struct IPerlMem *ipMS, struct IPerlMem *ipMP, struct IPerlEnv *ipE, struct IPerlStdIO *ipStd, struct IPerlLIO *ipLIO, struct IPerlDir *ipD, struct IPerlSock *ipS, struct IPerlProc *ipP); #define PERL_ARGS_ASSERT_PERL_ALLOC_USING \ assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP) # if defined(USE_ITHREADS) PERL_CALLCONV PerlInterpreter* perl_clone_using(PerlInterpreter *proto_perl, UV flags, struct IPerlMem* ipM, struct IPerlMem* ipMS, struct IPerlMem* ipMP, struct IPerlEnv* ipE, struct IPerlStdIO* ipStd, struct IPerlLIO* ipLIO, struct IPerlDir* ipD, struct IPerlSock* ipS, struct IPerlProc* ipP); #define PERL_ARGS_ASSERT_PERL_CLONE_USING \ assert(proto_perl); assert(ipM); assert(ipMS); assert(ipMP); assert(ipE); assert(ipStd); assert(ipLIO); assert(ipD); assert(ipS); assert(ipP) # endif #endif #if defined(PERL_IN_AV_C) STATIC MAGIC* S_get_aux_mg(pTHX_ AV *av); #define PERL_ARGS_ASSERT_GET_AUX_MG \ assert(av) #endif #if defined(PERL_IN_DEB_C) STATIC void S_deb_stack_n(pTHX_ SV** stack_base, I32 stack_min, I32 stack_max, I32 mark_min, I32 mark_max); #define PERL_ARGS_ASSERT_DEB_STACK_N \ assert(stack_base) #endif #if defined(PERL_IN_DOIO_C) STATIC bool S_argvout_final(pTHX_ MAGIC *mg, IO *io, bool not_implicit); #define PERL_ARGS_ASSERT_ARGVOUT_FINAL \ assert(mg); assert(io) STATIC void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report); #define PERL_ARGS_ASSERT_EXEC_FAILED \ assert(cmd) STATIC bool S_ingroup(pTHX_ Gid_t testgid, bool effective) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INGROUP STATIC bool S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname, PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype, int writing, bool was_fdopen, const char *type, Stat_t *statbufp); #define PERL_ARGS_ASSERT_OPENN_CLEANUP \ assert(gv); assert(io); assert(mode); assert(oname) STATIC IO * S_openn_setup(pTHX_ GV *gv, char *mode, PerlIO **saveifp, PerlIO **saveofp, int *savefd, char *savetype); #define PERL_ARGS_ASSERT_OPENN_SETUP \ assert(gv); assert(mode); assert(saveifp); assert(saveofp); assert(savefd); assert(savetype) #endif #if defined(PERL_IN_DOOP_C) STATIC Size_t S_do_trans_complex(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX \ assert(sv); assert(tbl) STATIC Size_t S_do_trans_count(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_COUNT \ assert(sv); assert(tbl) STATIC Size_t S_do_trans_count_invmap(pTHX_ SV * const sv, AV * const map) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_COUNT_INVMAP \ assert(sv); assert(map) STATIC Size_t S_do_trans_invmap(pTHX_ SV * const sv, AV * const map) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_INVMAP \ assert(sv); assert(map) STATIC Size_t S_do_trans_simple(pTHX_ SV * const sv, const OPtrans_map * const tbl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE \ assert(sv); assert(tbl) #endif #if defined(PERL_IN_DUMP_C) STATIC CV* S_deb_curcv(pTHX_ I32 ix); #define PERL_ARGS_ASSERT_DEB_CURCV STATIC void S_debprof(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_DEBPROF \ assert(o) STATIC SV* S_pm_description(pTHX_ const PMOP *pm); #define PERL_ARGS_ASSERT_PM_DESCRIPTION \ assert(pm) STATIC UV S_sequence_num(pTHX_ const OP *o); #define PERL_ARGS_ASSERT_SEQUENCE_NUM #endif #if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C) PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_KILL_BACKREFS \ assert(hv) #endif #if defined(PERL_IN_GV_C) STATIC bool S_find_default_stash(pTHX_ HV **stash, const char *name, STRLEN len, const U32 is_utf8, const I32 add, const svtype sv_type); #define PERL_ARGS_ASSERT_FIND_DEFAULT_STASH \ assert(stash); assert(name) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE GV* S_gv_fetchmeth_internal(pTHX_ HV* stash, SV* meth, const char* name, STRLEN len, I32 level, U32 flags); #define PERL_ARGS_ASSERT_GV_FETCHMETH_INTERNAL #endif STATIC void S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_INIT_SVTYPE \ assert(gv) STATIC bool S_gv_is_in_main(pTHX_ const char *name, STRLEN len, const U32 is_utf8); #define PERL_ARGS_ASSERT_GV_IS_IN_MAIN \ assert(name) STATIC bool S_gv_magicalize(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, const svtype sv_type); #define PERL_ARGS_ASSERT_GV_MAGICALIZE \ assert(gv); assert(stash); assert(name) STATIC void S_gv_magicalize_isa(pTHX_ GV *gv); #define PERL_ARGS_ASSERT_GV_MAGICALIZE_ISA \ assert(gv) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE HV* S_gv_stashpvn_internal(pTHX_ const char* name, U32 namelen, I32 flags); #define PERL_ARGS_ASSERT_GV_STASHPVN_INTERNAL \ assert(name) #endif STATIC void S_maybe_multimagic_gv(pTHX_ GV *gv, const char *name, const svtype sv_type); #define PERL_ARGS_ASSERT_MAYBE_MULTIMAGIC_GV \ assert(gv); assert(name) STATIC bool S_parse_gv_stash_name(pTHX_ HV **stash, GV **gv, const char **name, STRLEN *len, const char *nambeg, STRLEN full_len, const U32 is_utf8, const I32 add); #define PERL_ARGS_ASSERT_PARSE_GV_STASH_NAME \ assert(stash); assert(gv); assert(name); assert(len); assert(nambeg) STATIC void S_require_tie_mod(pTHX_ GV *gv, const char varname, const char * name, STRLEN len, const U32 flags); #define PERL_ARGS_ASSERT_REQUIRE_TIE_MOD \ assert(gv); assert(varname); assert(name) #endif #if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) PERL_CALLCONV void Perl_sv_add_backref(pTHX_ SV *const tsv, SV *const sv); #define PERL_ARGS_ASSERT_SV_ADD_BACKREF \ assert(tsv); assert(sv) #endif #if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) PERL_CALLCONV HV* Perl_gv_stashsvpvn_cached(pTHX_ SV *namesv, const char* name, U32 namelen, I32 flags); #endif #if defined(PERL_IN_HV_C) STATIC void S_clear_placeholders(pTHX_ HV *hv, U32 items); #define PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS \ assert(hv) STATIC void S_hsplit(pTHX_ HV *hv, STRLEN const oldsize, STRLEN newsize); #define PERL_ARGS_ASSERT_HSPLIT \ assert(hv) STATIC struct xpvhv_aux* S_hv_auxinit(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_AUXINIT \ assert(hv) STATIC struct xpvhv_aux* S_hv_auxinit_internal(struct xpvhv_aux *iter); #define PERL_ARGS_ASSERT_HV_AUXINIT_INTERNAL \ assert(iter) STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash); #define PERL_ARGS_ASSERT_HV_DELETE_COMMON STATIC SV* S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry); #define PERL_ARGS_ASSERT_HV_FREE_ENT_RET \ assert(hv); assert(entry) STATIC void S_hv_free_entries(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_HV_FREE_ENTRIES \ assert(hv) STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store); #define PERL_ARGS_ASSERT_HV_MAGIC_CHECK \ assert(hv); assert(needs_copy); assert(needs_store) PERL_STATIC_NO_RET void S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg) __attribute__noreturn__; #define PERL_ARGS_ASSERT_HV_NOTALLOWED \ assert(key); assert(msg) STATIC HE* S_new_he(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_HE #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE U32 S_ptr_hash(PTRV u); #define PERL_ARGS_ASSERT_PTR_HASH #endif STATIC SV * S_refcounted_he_value(pTHX_ const struct refcounted_he *he); #define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE \ assert(he) STATIC HEK* S_save_hek_flags(const char *str, I32 len, U32 hash, int flags) __attribute__malloc__ __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVE_HEK_FLAGS \ assert(str) STATIC HEK* S_share_hek_flags(pTHX_ const char *str, STRLEN len, U32 hash, int flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SHARE_HEK_FLAGS \ assert(str) STATIC void S_unshare_hek_or_pvn(pTHX_ const HEK* hek, const char* str, I32 len, U32 hash); #define PERL_ARGS_ASSERT_UNSHARE_HEK_OR_PVN #endif #if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) PERL_CALLCONV void Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av); #define PERL_ARGS_ASSERT_SV_KILL_BACKREFS \ assert(sv) #endif #if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) PERL_CALLCONV SV* Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp); #define PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY \ assert(hv); assert(indexp) #endif #if defined(PERL_IN_LOCALE_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE const char * S_save_to_buffer(const char * string, char **buf, Size_t *buf_size, const Size_t offset) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SAVE_TO_BUFFER \ assert(buf_size) #endif # if defined(USE_LOCALE) STATIC const char* S_category_name(const int category); #define PERL_ARGS_ASSERT_CATEGORY_NAME STATIC void S_new_collate(pTHX_ const char* newcoll); #define PERL_ARGS_ASSERT_NEW_COLLATE STATIC void S_new_ctype(pTHX_ const char* newctype); #define PERL_ARGS_ASSERT_NEW_CTYPE \ assert(newctype) STATIC void S_new_numeric(pTHX_ const char* newnum); #define PERL_ARGS_ASSERT_NEW_NUMERIC STATIC void S_restore_switched_locale(pTHX_ const int category, const char * const original_locale); #define PERL_ARGS_ASSERT_RESTORE_SWITCHED_LOCALE STATIC void S_set_numeric_radix(pTHX_ const bool use_locale); #define PERL_ARGS_ASSERT_SET_NUMERIC_RADIX STATIC char* S_stdize_locale(pTHX_ char* locs); #define PERL_ARGS_ASSERT_STDIZE_LOCALE \ assert(locs) STATIC const char* S_switch_category_locale_to_template(pTHX_ const int switch_category, const int template_category, const char * template_locale); #define PERL_ARGS_ASSERT_SWITCH_CATEGORY_LOCALE_TO_TEMPLATE # if defined(USE_POSIX_2008_LOCALE) STATIC const char* S_emulate_setlocale(const int category, const char* locale, unsigned int index, const bool is_index_valid); #define PERL_ARGS_ASSERT_EMULATE_SETLOCALE # endif # if defined(WIN32) STATIC char* S_win32_setlocale(pTHX_ int category, const char* locale); #define PERL_ARGS_ASSERT_WIN32_SETLOCALE # endif # endif #endif #if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C) # if defined(USE_LOCALE_COLLATE) PERL_CALLCONV char* Perl__mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen, bool utf8); #define PERL_ARGS_ASSERT__MEM_COLLXFRM \ assert(input_string); assert(xlen) # endif #endif #if defined(PERL_IN_MALLOC_C) STATIC int S_adjust_size_and_find_bucket(size_t *nbytes_p); #define PERL_ARGS_ASSERT_ADJUST_SIZE_AND_FIND_BUCKET \ assert(nbytes_p) #endif #if defined(PERL_IN_MG_C) STATIC void S_fixup_errno_string(pTHX_ SV* sv); #define PERL_ARGS_ASSERT_FIXUP_ERRNO_STRING \ assert(sv) STATIC SV* S_magic_methcall1(pTHX_ SV *sv, const MAGIC *mg, SV *meth, U32 flags, int n, SV *val); #define PERL_ARGS_ASSERT_MAGIC_METHCALL1 \ assert(sv); assert(mg); assert(meth) STATIC int S_magic_methpack(pTHX_ SV *sv, const MAGIC *mg, SV *meth); #define PERL_ARGS_ASSERT_MAGIC_METHPACK \ assert(sv); assert(mg); assert(meth) STATIC void S_restore_magic(pTHX_ const void *p); #define PERL_ARGS_ASSERT_RESTORE_MAGIC STATIC void S_save_magic_flags(pTHX_ I32 mgs_ix, SV *sv, U32 flags); #define PERL_ARGS_ASSERT_SAVE_MAGIC_FLAGS \ assert(sv) STATIC void S_unwind_handler_stack(pTHX_ const void *p); #define PERL_ARGS_ASSERT_UNWIND_HANDLER_STACK #endif #if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C) PERL_CALLCONV bool Perl_translate_substr_offsets(STRLEN curlen, IV pos1_iv, bool pos1_is_uv, IV len_iv, bool len_is_uv, STRLEN *posp, STRLEN *lenp); #define PERL_ARGS_ASSERT_TRANSLATE_SUBSTR_OFFSETS \ assert(posp); assert(lenp) #endif #if defined(PERL_IN_MRO_C) STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions, U32 hash, U32 flags); #define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \ assert(isa); assert(name) STATIC void S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes, HV *stash, HV *oldstash, SV *namesv); #define PERL_ARGS_ASSERT_MRO_GATHER_AND_RENAME \ assert(stashes); assert(seen_stashes); assert(namesv) STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level); #define PERL_ARGS_ASSERT_MRO_GET_LINEAR_ISA_DFS \ assert(stash) #endif #if defined(PERL_IN_NUMERIC_C) STATIC void S_output_non_portable(pTHX_ const U8 shift); #define PERL_ARGS_ASSERT_OUTPUT_NON_PORTABLE #endif #if defined(PERL_IN_OP_C) STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs); #define PERL_ARGS_ASSERT_APPLY_ATTRS \ assert(stash); assert(target) STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp); #define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \ assert(stash); assert(target); assert(imopsp) STATIC I32 S_assignment_type(pTHX_ const OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ASSIGNMENT_TYPE STATIC void S_bad_type_gv(pTHX_ I32 n, GV *gv, const OP *kid, const char *t); #define PERL_ARGS_ASSERT_BAD_TYPE_GV \ assert(gv); assert(kid); assert(t) STATIC void S_bad_type_pv(pTHX_ I32 n, const char *t, const OP *o, const OP *kid); #define PERL_ARGS_ASSERT_BAD_TYPE_PV \ assert(t); assert(o); assert(kid) STATIC void S_clear_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv); #define PERL_ARGS_ASSERT_CLEAR_SPECIAL_BLOCKS \ assert(fullname); assert(gv); assert(cv) STATIC void S_cop_free(pTHX_ COP *cop); #define PERL_ARGS_ASSERT_COP_FREE \ assert(cop) STATIC OP * S_dup_attrlist(pTHX_ OP *o); #define PERL_ARGS_ASSERT_DUP_ATTRLIST \ assert(o) STATIC void S_finalize_op(pTHX_ OP* o); #define PERL_ARGS_ASSERT_FINALIZE_OP \ assert(o) STATIC void S_find_and_forget_pmops(pTHX_ OP *o); #define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \ assert(o) STATIC OP* S_fold_constants(pTHX_ OP * const o); #define PERL_ARGS_ASSERT_FOLD_CONSTANTS \ assert(o) STATIC OP* S_force_list(pTHX_ OP* arg, bool nullit); #define PERL_ARGS_ASSERT_FORCE_LIST STATIC void S_forget_pmop(pTHX_ PMOP *const o); #define PERL_ARGS_ASSERT_FORGET_PMOP \ assert(o) STATIC void S_gen_constant_list(pTHX_ OP* o); #define PERL_ARGS_ASSERT_GEN_CONSTANT_LIST STATIC void S_inplace_aassign(pTHX_ OP* o); #define PERL_ARGS_ASSERT_INPLACE_AASSIGN \ assert(o) STATIC bool S_is_handle_constructor(const OP *o, I32 numargs) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR \ assert(o) STATIC OP* S_listkids(pTHX_ OP* o); #define PERL_ARGS_ASSERT_LISTKIDS STATIC bool S_looks_like_bool(pTHX_ const OP* o); #define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL \ assert(o) STATIC OP* S_modkids(pTHX_ OP *o, I32 type); #define PERL_ARGS_ASSERT_MODKIDS STATIC void S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV *name, bool curstash); #define PERL_ARGS_ASSERT_MOVE_PROTO_ATTR \ assert(proto); assert(attrs); assert(name) STATIC OP * S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp); #define PERL_ARGS_ASSERT_MY_KID \ assert(imopsp) STATIC OP* S_newGIVWHENOP(pTHX_ OP* cond, OP *block, I32 enter_opcode, I32 leave_opcode, PADOFFSET entertarg); #define PERL_ARGS_ASSERT_NEWGIVWHENOP \ assert(block) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE OP* S_newMETHOP_internal(pTHX_ I32 type, I32 flags, OP* dynamic_meth, SV* const_meth); #define PERL_ARGS_ASSERT_NEWMETHOP_INTERNAL #endif STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_LOGOP \ assert(firstp); assert(otherp) STATIC void S_no_bareword_allowed(pTHX_ OP *o); #define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \ assert(o) STATIC OP* S_no_fh_allowed(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NO_FH_ALLOWED \ assert(o) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE OP* S_op_integerize(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_INTEGERIZE \ assert(o) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE OP* S_op_std_init(pTHX_ OP *o); #define PERL_ARGS_ASSERT_OP_STD_INIT \ assert(o) #endif STATIC void S_optimize_op(pTHX_ OP* o); #define PERL_ARGS_ASSERT_OPTIMIZE_OP \ assert(o) STATIC OP* S_pmtrans(pTHX_ OP* o, OP* expr, OP* repl); #define PERL_ARGS_ASSERT_PMTRANS \ assert(o); assert(expr); assert(repl) STATIC bool S_process_special_blocks(pTHX_ I32 floor, const char *const fullname, GV *const gv, CV *const cv); #define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS \ assert(fullname); assert(gv); assert(cv) STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond); #define PERL_ARGS_ASSERT_REF_ARRAY_OR_HASH STATIC OP* S_refkids(pTHX_ OP* o, I32 type); #define PERL_ARGS_ASSERT_REFKIDS STATIC bool S_scalar_mod_type(const OP *o, I32 type) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE STATIC OP* S_scalarboolean(pTHX_ OP *o); #define PERL_ARGS_ASSERT_SCALARBOOLEAN \ assert(o) STATIC OP* S_scalarkids(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SCALARKIDS STATIC OP* S_scalarseq(pTHX_ OP* o); #define PERL_ARGS_ASSERT_SCALARSEQ STATIC OP* S_search_const(pTHX_ OP *o) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SEARCH_CONST \ assert(o) STATIC void S_simplify_sort(pTHX_ OP *o); #define PERL_ARGS_ASSERT_SIMPLIFY_SORT \ assert(o) STATIC OP* S_too_few_arguments_pv(pTHX_ OP *o, const char* name, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_PV \ assert(o); assert(name) STATIC OP* S_too_many_arguments_pv(pTHX_ OP *o, const char* name, U32 flags); #define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_PV \ assert(o); assert(name) STATIC OP* S_traverse_op_tree(pTHX_ OP* top, OP* o); #define PERL_ARGS_ASSERT_TRAVERSE_OP_TREE \ assert(top); assert(o) # if defined(USE_ITHREADS) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_op_relocate_sv(pTHX_ SV** svp, PADOFFSET* targp); #define PERL_ARGS_ASSERT_OP_RELOCATE_SV \ assert(svp); assert(targp) #endif # endif #endif #if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C) PERL_CALLCONV void Perl_report_redefined_cv(pTHX_ const SV *name, const CV *old_cv, SV * const *new_const_svp); #define PERL_ARGS_ASSERT_REPORT_REDEFINED_CV \ assert(name); assert(old_cv) #endif #if defined(PERL_IN_PAD_C) STATIC PADOFFSET S_pad_alloc_name(pTHX_ PADNAME *name, U32 flags, HV *typestash, HV *ourstash); #define PERL_ARGS_ASSERT_PAD_ALLOC_NAME \ assert(name) STATIC void S_pad_check_dup(pTHX_ PADNAME *name, U32 flags, const HV *ourstash); #define PERL_ARGS_ASSERT_PAD_CHECK_DUP \ assert(name) STATIC PADOFFSET S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq, int warn, SV** out_capture, PADNAME** out_name, int *out_flags); #define PERL_ARGS_ASSERT_PAD_FINDLEX \ assert(namepv); assert(cv); assert(out_name); assert(out_flags) STATIC void S_pad_reset(pTHX); #define PERL_ARGS_ASSERT_PAD_RESET #endif #if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_PadnameIN_SCOPE(const PADNAME * const pn, const U32 seq); #define PERL_ARGS_ASSERT_PADNAMEIN_SCOPE \ assert(pn) #endif #endif #if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) #ifndef NO_MATHOMS PERL_CALLCONV OP* Perl_ref(pTHX_ OP* o, I32 type); #define PERL_ARGS_ASSERT_REF #endif #endif #if defined(PERL_IN_PERL_C) STATIC void S_find_beginning(pTHX_ SV* linestr_sv, PerlIO *rsfp); #define PERL_ARGS_ASSERT_FIND_BEGINNING \ assert(linestr_sv); assert(rsfp) STATIC void S_forbid_setid(pTHX_ const char flag, const bool suidscript); #define PERL_ARGS_ASSERT_FORBID_SETID STATIC void S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_INCPUSH \ assert(dir) STATIC void S_incpush_use_sep(pTHX_ const char *p, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_INCPUSH_USE_SEP \ assert(p) STATIC void S_init_ids(pTHX); #define PERL_ARGS_ASSERT_INIT_IDS STATIC void S_init_interp(pTHX); #define PERL_ARGS_ASSERT_INIT_INTERP STATIC void S_init_main_stash(pTHX); #define PERL_ARGS_ASSERT_INIT_MAIN_STASH STATIC void S_init_perllib(pTHX); #define PERL_ARGS_ASSERT_INIT_PERLLIB STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env); #define PERL_ARGS_ASSERT_INIT_POSTDUMP_SYMBOLS \ assert(argv) STATIC void S_init_predump_symbols(pTHX); #define PERL_ARGS_ASSERT_INIT_PREDUMP_SYMBOLS STATIC SV* S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags); #define PERL_ARGS_ASSERT_MAYBERELOCATE \ assert(dir) PERL_STATIC_NO_RET void S_minus_v(pTHX) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MINUS_V PERL_STATIC_NO_RET void S_my_exit_jump(pTHX) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MY_EXIT_JUMP STATIC void S_nuke_stacks(pTHX); #define PERL_ARGS_ASSERT_NUKE_STACKS STATIC PerlIO * S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript); #define PERL_ARGS_ASSERT_OPEN_SCRIPT \ assert(scriptname); assert(suidscript) STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit); #define PERL_ARGS_ASSERT_PARSE_BODY PERL_STATIC_NO_RET void S_run_body(pTHX_ I32 oldscope) __attribute__noreturn__; #define PERL_ARGS_ASSERT_RUN_BODY PERL_STATIC_NO_RET void S_usage(pTHX) __attribute__noreturn__; #define PERL_ARGS_ASSERT_USAGE #endif #if defined(PERL_IN_PP_C) STATIC size_t S_do_chomp(pTHX_ SV *retval, SV *sv, bool chomping); #define PERL_ARGS_ASSERT_DO_CHOMP \ assert(retval); assert(sv) STATIC OP* S_do_delete_local(pTHX); #define PERL_ARGS_ASSERT_DO_DELETE_LOCAL STATIC SV* S_refto(pTHX_ SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REFTO \ assert(sv) #endif #if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_lossless_NV_to_IV(const NV nv, IV * ivp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_LOSSLESS_NV_TO_IV \ assert(ivp) #endif PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, const svtype type, SV ***spp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SOFTREF2XV \ assert(sv); assert(what); assert(spp) #endif #if defined(PERL_IN_PP_CTL_C) STATIC PerlIO * S_check_type_and_open(pTHX_ SV *name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CHECK_TYPE_AND_OPEN \ assert(name) STATIC void S_destroy_matcher(pTHX_ PMOP* matcher); #define PERL_ARGS_ASSERT_DESTROY_MATCHER \ assert(matcher) STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other, const bool copied); #define PERL_ARGS_ASSERT_DO_SMARTMATCH STATIC OP* S_docatch(pTHX_ Perl_ppaddr_t firstpp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOCATCH STATIC bool S_doeval_compile(pTHX_ U8 gimme, CV* outside, U32 seq, HV* hh); #define PERL_ARGS_ASSERT_DOEVAL_COMPILE STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOFINDLABEL \ assert(o); assert(label); assert(opstack); assert(oplimit) STATIC MAGIC * S_doparseform(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_DOPARSEFORM \ assert(sv) STATIC I32 S_dopoptoeval(pTHX_ I32 startingblock) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOEVAL STATIC I32 S_dopoptogivenfor(pTHX_ I32 startingblock) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOGIVENFOR STATIC I32 S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOLABEL \ assert(label) STATIC I32 S_dopoptoloop(pTHX_ I32 startingblock) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOLOOP STATIC I32 S_dopoptosub_at(pTHX_ const PERL_CONTEXT* cxstk, I32 startingblock) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOSUB_AT \ assert(cxstk) STATIC I32 S_dopoptowhen(pTHX_ I32 startingblock) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOPOPTOWHEN STATIC PMOP* S_make_matcher(pTHX_ REGEXP* re) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MAKE_MATCHER \ assert(re) STATIC bool S_matcher_matches_sv(pTHX_ PMOP* matcher, SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MATCHER_MATCHES_SV \ assert(matcher); assert(sv) STATIC bool S_num_overflow(NV value, I32 fldsize, I32 frcsize) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NUM_OVERFLOW #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_path_is_searchable(const char *name) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PATH_IS_SEARCHABLE \ assert(name) #endif STATIC I32 S_run_user_filter(pTHX_ int idx, SV *buf_sv, int maxlen) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_RUN_USER_FILTER \ assert(buf_sv) STATIC void S_rxres_free(pTHX_ void** rsp); #define PERL_ARGS_ASSERT_RXRES_FREE \ assert(rsp) STATIC void S_rxres_restore(pTHX_ void **rsp, REGEXP *rx); #define PERL_ARGS_ASSERT_RXRES_RESTORE \ assert(rsp); assert(rx) STATIC void S_save_lines(pTHX_ AV *array, SV *sv); #define PERL_ARGS_ASSERT_SAVE_LINES \ assert(sv) #endif #if defined(PERL_IN_PP_HOT_C) STATIC void S_do_oddball(pTHX_ SV **oddkey, SV **firstkey); #define PERL_ARGS_ASSERT_DO_ODDBALL \ assert(oddkey); assert(firstkey) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE HV* S_opmethod_stash(pTHX_ SV* meth); #define PERL_ARGS_ASSERT_OPMETHOD_STASH \ assert(meth) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE bool S_should_we_output_Debug_r(pTHX_ regexp * prog) __attribute__warn_unused_result__ __attribute__always_inline__; #define PERL_ARGS_ASSERT_SHOULD_WE_OUTPUT_DEBUG_R \ assert(prog) #endif #endif #if defined(PERL_IN_PP_PACK_C) STATIC int S_div128(pTHX_ SV *pnum, bool *done); #define PERL_ARGS_ASSERT_DIV128 \ assert(pnum); assert(done) STATIC char S_first_symbol(const char *pat, const char *patend); #define PERL_ARGS_ASSERT_FIRST_SYMBOL \ assert(pat); assert(patend) STATIC const char * S_get_num(pTHX_ const char *patptr, SSize_t *lenptr) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_NUM \ assert(patptr); assert(lenptr) STATIC const char * S_group_end(pTHX_ const char *patptr, const char *patend, char ender); #define PERL_ARGS_ASSERT_GROUP_END \ assert(patptr); assert(patend) STATIC SV* S_is_an_int(pTHX_ const char *s, STRLEN l) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_AN_INT \ assert(s) STATIC SSize_t S_measure_struct(pTHX_ struct tempsym* symptr); #define PERL_ARGS_ASSERT_MEASURE_STRUCT \ assert(symptr) STATIC SV* S_mul128(pTHX_ SV *sv, U8 m); #define PERL_ARGS_ASSERT_MUL128 \ assert(sv) STATIC char * S_my_bytes_to_utf8(const U8 *start, STRLEN len, char *dest, const bool needs_swap) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MY_BYTES_TO_UTF8 \ assert(start); assert(dest) STATIC bool S_need_utf8(const char *pat, const char *patend); #define PERL_ARGS_ASSERT_NEED_UTF8 \ assert(pat); assert(patend) STATIC bool S_next_symbol(pTHX_ struct tempsym* symptr); #define PERL_ARGS_ASSERT_NEXT_SYMBOL \ assert(symptr) STATIC SV ** S_pack_rec(pTHX_ SV *cat, struct tempsym* symptr, SV **beglist, SV **endlist); #define PERL_ARGS_ASSERT_PACK_REC \ assert(cat); assert(symptr); assert(beglist); assert(endlist) STATIC char * S_sv_exp_grow(pTHX_ SV *sv, STRLEN needed) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_EXP_GROW \ assert(sv) STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s); #define PERL_ARGS_ASSERT_UNPACK_REC \ assert(symptr); assert(s); assert(strbeg); assert(strend) #endif #if defined(PERL_IN_PP_SORT_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP \ assert(str1); assert(str2) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \ assert(str1); assert(str2) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_NCMP \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_CMP_DESC \ assert(str1); assert(str2) #endif STATIC I32 S_sortcv(pTHX_ SV *const a, SV *const b); #define PERL_ARGS_ASSERT_SORTCV \ assert(a); assert(b) STATIC I32 S_sortcv_stacked(pTHX_ SV *const a, SV *const b); #define PERL_ARGS_ASSERT_SORTCV_STACKED \ assert(a); assert(b) STATIC I32 S_sortcv_xsub(pTHX_ SV *const a, SV *const b); #define PERL_ARGS_ASSERT_SORTCV_XSUB \ assert(a); assert(b) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE void S_sortsv_flags_impl(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags) __attribute__always_inline__; #define PERL_ARGS_ASSERT_SORTSV_FLAGS_IMPL \ assert(cmp) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_I_NCMP \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_NCMP \ assert(a); assert(b) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b) __attribute__always_inline__; #define PERL_ARGS_ASSERT_SV_NCMP_DESC \ assert(a); assert(b) #endif # if defined(USE_LOCALE_COLLATE) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \ assert(str1); assert(str2) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \ assert(str1); assert(str2) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2) __attribute__always_inline__; #define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \ assert(str1); assert(str2) #endif # endif #endif #if defined(PERL_IN_PP_SYS_C) STATIC OP* S_doform(pTHX_ CV *cv, GV *gv, OP *retop); #define PERL_ARGS_ASSERT_DOFORM \ assert(cv); assert(gv) STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array); #define PERL_ARGS_ASSERT_SPACE_JOIN_NAMES_MORTAL #endif #if defined(PERL_IN_REGCOMP_C) STATIC void S_add_above_Latin1_folds(pTHX_ RExC_state_t *pRExC_state, const U8 cp, SV** invlist); #define PERL_ARGS_ASSERT_ADD_ABOVE_LATIN1_FOLDS \ assert(pRExC_state); assert(invlist) STATIC U32 S_add_data(RExC_state_t* const pRExC_state, const char* const s, const U32 n) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADD_DATA \ assert(pRExC_state); assert(s) STATIC AV* S_add_multi_match(pTHX_ AV* multi_char_matches, SV* multi_string, const STRLEN cp_count); #define PERL_ARGS_ASSERT_ADD_MULTI_MATCH \ assert(multi_string) STATIC void S_change_engine_size(pTHX_ RExC_state_t *pRExC_state, const Ptrdiff_t size); #define PERL_ARGS_ASSERT_CHANGE_ENGINE_SIZE \ assert(pRExC_state) STATIC REGEXP* S_compile_wildcard(pTHX_ const char * subpattern, const STRLEN len, const bool ignore_case) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_COMPILE_WILDCARD \ assert(subpattern) STATIC U8 S_compute_EXACTish(RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_COMPUTE_EXACTISH \ assert(pRExC_state) STATIC regnode * S_construct_ahocorasick_from_trie(pTHX_ RExC_state_t *pRExC_state, regnode *source, U32 depth); #define PERL_ARGS_ASSERT_CONSTRUCT_AHOCORASICK_FROM_TRIE \ assert(pRExC_state); assert(source) STATIC int S_edit_distance(const UV *src, const UV *tgt, const STRLEN x, const STRLEN y, const SSize_t maxDistance) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_EDIT_DISTANCE \ assert(src); assert(tgt) STATIC I32 S_execute_wildcard(pTHX_ REGEXP * const prog, char* stringarg, char* strend, char* strbeg, SSize_t minend, SV* screamer, U32 nosave); #define PERL_ARGS_ASSERT_EXECUTE_WILDCARD \ assert(prog); assert(stringarg); assert(strend); assert(strbeg); assert(screamer) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE Size_t S_find_first_differing_byte_pos(const U8 * s1, const U8 * s2, const Size_t max); #define PERL_ARGS_ASSERT_FIND_FIRST_DIFFERING_BYTE_POS \ assert(s1); assert(s2) #endif STATIC SV * S_get_ANYOFM_contents(pTHX_ const regnode * n) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_ANYOFM_CONTENTS \ assert(n) STATIC SV* S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state, const regnode_charclass* const node); #define PERL_ARGS_ASSERT_GET_ANYOF_CP_LIST_FOR_SSC \ assert(pRExC_state); assert(node) STATIC bool S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state, regnode_offset* nodep, UV *code_point_p, int* cp_count, I32 *flagp, const bool strict, const U32 depth); #define PERL_ARGS_ASSERT_GROK_BSLASH_N \ assert(pRExC_state); assert(flagp) STATIC regnode_offset S_handle_named_backref(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, char * parse_start, char ch); #define PERL_ARGS_ASSERT_HANDLE_NAMED_BACKREF \ assert(pRExC_state); assert(flagp); assert(parse_start) STATIC bool S_handle_names_wildcard(pTHX_ const char * wname, const STRLEN wname_len, SV ** prop_definition, AV ** strings); #define PERL_ARGS_ASSERT_HANDLE_NAMES_WILDCARD \ assert(wname); assert(prop_definition); assert(strings) STATIC int S_handle_possible_posix(pTHX_ RExC_state_t *pRExC_state, const char* const s, char ** updated_parse_ptr, AV** posix_warnings, const bool check_only); #define PERL_ARGS_ASSERT_HANDLE_POSSIBLE_POSIX \ assert(pRExC_state); assert(s) STATIC regnode_offset S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV ** return_invlist, I32 *flagp, U32 depth, char * const oregcomp_parse); #define PERL_ARGS_ASSERT_HANDLE_REGEX_SETS \ assert(pRExC_state); assert(flagp); assert(oregcomp_parse) STATIC SV * S_handle_user_defined_property(pTHX_ const char * name, const STRLEN name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, SV* contents, bool *user_defined_ptr, SV * msg, const STRLEN level); #define PERL_ARGS_ASSERT_HANDLE_USER_DEFINED_PROPERTY \ assert(name); assert(contents); assert(user_defined_ptr); assert(msg) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE SV* S_invlist_contents(pTHX_ SV* const invlist, const bool traditional_style) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_CONTENTS \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_invlist_is_iterating(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_IS_ITERATING \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV S_invlist_lowest(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_LOWEST \ assert(invlist) #endif STATIC bool S_is_ssc_worth_it(const RExC_state_t * pRExC_state, const regnode_ssc * ssc); #define PERL_ARGS_ASSERT_IS_SSC_WORTH_IT \ assert(pRExC_state); assert(ssc) STATIC U32 S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *unfolded_multi_char, U32 flags, regnode *val, U32 depth); #define PERL_ARGS_ASSERT_JOIN_EXACT \ assert(pRExC_state); assert(scan); assert(min_subtract); assert(unfolded_multi_char) STATIC SV* S_make_exactf_invlist(pTHX_ RExC_state_t *pRExC_state, regnode *node) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MAKE_EXACTF_INVLIST \ assert(pRExC_state); assert(node) STATIC I32 S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth); #define PERL_ARGS_ASSERT_MAKE_TRIE \ assert(pRExC_state); assert(startbranch); assert(first); assert(last); assert(tail) STATIC bool S_new_regcurly(const char *s, const char *e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_REGCURLY \ assert(s); assert(e) STATIC void S_nextchar(pTHX_ RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_NEXTCHAR \ assert(pRExC_state) STATIC void S_output_posix_warnings(pTHX_ RExC_state_t *pRExC_state, AV* posix_warnings); #define PERL_ARGS_ASSERT_OUTPUT_POSIX_WARNINGS \ assert(pRExC_state); assert(posix_warnings) STATIC void S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS \ assert(pRExC_state) STATIC SV * S_parse_uniprop_string(pTHX_ const char * const name, Size_t name_len, const bool is_utf8, const bool to_fold, const bool runtime, const bool deferrable, AV ** strings, bool * user_defined_ptr, SV * msg, const STRLEN level); #define PERL_ARGS_ASSERT_PARSE_UNIPROP_STRING \ assert(name); assert(user_defined_ptr); assert(msg) STATIC void S_populate_ANYOF_from_invlist(pTHX_ regnode *node, SV** invlist_ptr); #define PERL_ARGS_ASSERT_POPULATE_ANYOF_FROM_INVLIST \ assert(node); assert(invlist_ptr) STATIC void S_rck_elide_nothing(pTHX_ regnode *node); #define PERL_ARGS_ASSERT_RCK_ELIDE_NOTHING \ assert(node) PERL_STATIC_NO_RET void S_re_croak(pTHX_ bool utf8, const char* pat, ...) __attribute__noreturn__ __attribute__format__(__printf__,pTHX_2,pTHX_3); #define PERL_ARGS_ASSERT_RE_CROAK \ assert(pat) STATIC regnode_offset S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REG \ assert(pRExC_state); assert(flagp) STATIC regnode_offset S_reg2Lanode(pTHX_ RExC_state_t *pRExC_state, const U8 op, const U32 arg1, const I32 arg2); #define PERL_ARGS_ASSERT_REG2LANODE \ assert(pRExC_state) STATIC regnode_offset S_reg_node(pTHX_ RExC_state_t *pRExC_state, U8 op); #define PERL_ARGS_ASSERT_REG_NODE \ assert(pRExC_state) STATIC SV * S_reg_scan_name(pTHX_ RExC_state_t *pRExC_state, U32 flags); #define PERL_ARGS_ASSERT_REG_SCAN_NAME \ assert(pRExC_state) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE char * S_reg_skipcomment(RExC_state_t *pRExC_state, char * p); #define PERL_ARGS_ASSERT_REG_SKIPCOMMENT \ assert(pRExC_state); assert(p) #endif STATIC regnode_offset S_reganode(pTHX_ RExC_state_t *pRExC_state, U8 op, U32 arg); #define PERL_ARGS_ASSERT_REGANODE \ assert(pRExC_state) STATIC regnode_offset S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REGATOM \ assert(pRExC_state); assert(flagp) STATIC regnode_offset S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth); #define PERL_ARGS_ASSERT_REGBRANCH \ assert(pRExC_state); assert(flagp) STATIC regnode_offset S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, const bool strict, bool optimizable, SV** ret_invlist); #define PERL_ARGS_ASSERT_REGCLASS \ assert(pRExC_state); assert(flagp) STATIC unsigned int S_regex_set_precedence(const U8 my_operator) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGEX_SET_PRECEDENCE STATIC void S_reginsert(pTHX_ RExC_state_t *pRExC_state, const U8 op, const regnode_offset operand, const U32 depth); #define PERL_ARGS_ASSERT_REGINSERT \ assert(pRExC_state) STATIC regnode_offset S_regnode_guts(pTHX_ RExC_state_t *pRExC_state, const U8 op, const STRLEN extra_len, const char* const name); #define PERL_ARGS_ASSERT_REGNODE_GUTS \ assert(pRExC_state); assert(name) STATIC regnode_offset S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth); #define PERL_ARGS_ASSERT_REGPIECE \ assert(pRExC_state); assert(flagp) STATIC regnode_offset S_regpnode(pTHX_ RExC_state_t *pRExC_state, U8 op, SV * arg); #define PERL_ARGS_ASSERT_REGPNODE \ assert(pRExC_state); assert(arg) STATIC bool S_regtail(pTHX_ RExC_state_t * pRExC_state, const regnode_offset p, const regnode_offset val, const U32 depth) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTAIL \ assert(pRExC_state); assert(p); assert(val) STATIC void S_scan_commit(pTHX_ const RExC_state_t *pRExC_state, struct scan_data_t *data, SSize_t *minlenp, int is_inf); #define PERL_ARGS_ASSERT_SCAN_COMMIT \ assert(pRExC_state); assert(data); assert(minlenp) STATIC void S_set_ANYOF_arg(pTHX_ RExC_state_t* const pRExC_state, regnode* const node, SV* const cp_list, SV* const runtime_defns, SV* const only_utf8_locale_list); #define PERL_ARGS_ASSERT_SET_ANYOF_ARG \ assert(pRExC_state); assert(node) STATIC void S_set_regex_pv(pTHX_ RExC_state_t *pRExC_state, REGEXP *Rx); #define PERL_ARGS_ASSERT_SET_REGEX_PV \ assert(pRExC_state); assert(Rx) STATIC void S_skip_to_be_ignored_text(pTHX_ RExC_state_t *pRExC_state, char ** p, const bool force_to_xmod); #define PERL_ARGS_ASSERT_SKIP_TO_BE_IGNORED_TEXT \ assert(pRExC_state); assert(p) STATIC void S_ssc_add_range(pTHX_ regnode_ssc *ssc, UV const start, UV const end); #define PERL_ARGS_ASSERT_SSC_ADD_RANGE \ assert(ssc) STATIC void S_ssc_and(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *and_with); #define PERL_ARGS_ASSERT_SSC_AND \ assert(pRExC_state); assert(ssc); assert(and_with) STATIC void S_ssc_anything(pTHX_ regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_ANYTHING \ assert(ssc) STATIC void S_ssc_clear_locale(regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_CLEAR_LOCALE \ assert(ssc) STATIC void S_ssc_cp_and(pTHX_ regnode_ssc *ssc, UV const cp); #define PERL_ARGS_ASSERT_SSC_CP_AND \ assert(ssc) STATIC void S_ssc_finalize(pTHX_ RExC_state_t *pRExC_state, regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_FINALIZE \ assert(pRExC_state); assert(ssc) STATIC void S_ssc_init(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc); #define PERL_ARGS_ASSERT_SSC_INIT \ assert(pRExC_state); assert(ssc) STATIC void S_ssc_intersection(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); #define PERL_ARGS_ASSERT_SSC_INTERSECTION \ assert(ssc); assert(invlist) STATIC int S_ssc_is_anything(const regnode_ssc *ssc) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SSC_IS_ANYTHING \ assert(ssc) STATIC int S_ssc_is_cp_posixl_init(const RExC_state_t *pRExC_state, const regnode_ssc *ssc) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SSC_IS_CP_POSIXL_INIT \ assert(pRExC_state); assert(ssc) STATIC void S_ssc_or(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc, const regnode_charclass *or_with); #define PERL_ARGS_ASSERT_SSC_OR \ assert(pRExC_state); assert(ssc); assert(or_with) STATIC void S_ssc_union(pTHX_ regnode_ssc *ssc, SV* const invlist, const bool invert_2nd); #define PERL_ARGS_ASSERT_SSC_UNION \ assert(ssc); assert(invlist) STATIC SSize_t S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp, SSize_t *minlenp, SSize_t *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U32 recursed_depth, regnode_ssc *and_withp, U32 flags, U32 depth, bool was_mutate_ok); #define PERL_ARGS_ASSERT_STUDY_CHUNK \ assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last) #endif #if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) PERL_CALLCONV void Perl__invlist_dump(pTHX_ PerlIO *file, I32 level, const char* const indent, SV* const invlist); #define PERL_ARGS_ASSERT__INVLIST_DUMP \ assert(file); assert(indent); assert(invlist) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADD_CP_TO_INVLIST #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_extend(pTHX_ SV* const invlist, const UV len); #define PERL_ARGS_ASSERT_INVLIST_EXTEND \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV S_invlist_highest(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_HIGHEST \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset); #define PERL_ARGS_ASSERT_INVLIST_SET_LEN \ assert(invlist) #endif #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV SV* Perl__add_range_to_invlist(pTHX_ SV* invlist, UV start, UV end) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__ADD_RANGE_TO_INVLIST /* PERL_CALLCONV void _invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i); */ #define PERL_ARGS_ASSERT__INVLIST_INTERSECTION PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** i); #define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND \ assert(b); assert(i) PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist); #define PERL_ARGS_ASSERT__INVLIST_INVERT \ assert(invlist) /* PERL_CALLCONV void _invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result); */ #define PERL_ARGS_ASSERT__INVLIST_SUBTRACT /* PERL_CALLCONV void _invlist_union(pTHX_ SV* const a, SV* const b, SV** output); */ #define PERL_ARGS_ASSERT__INVLIST_UNION PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, const bool complement_b, SV** output); #define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \ assert(b); assert(output) PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__NEW_INVLIST PERL_CALLCONV SV* Perl__setup_canned_invlist(pTHX_ const STRLEN size, const UV element0, UV** other_elements_ptr) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__SETUP_CANNED_INVLIST \ assert(other_elements_ptr) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) PERL_CALLCONV const char * Perl_form_alien_digit_msg(pTHX_ const U8 which, const STRLEN valids_len, const char * const first_bad, const char * const send, const bool UTF, const bool braced) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FORM_ALIEN_DIGIT_MSG \ assert(first_bad); assert(send) PERL_CALLCONV bool Perl_grok_bslash_c(pTHX_ const char source, U8 * result, const char** message, U32 * packed_warn) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GROK_BSLASH_C \ assert(result); assert(message) PERL_CALLCONV bool Perl_grok_bslash_o(pTHX_ char** s, const char* const send, UV* uv, const char** message, U32 * packed_warn, const bool strict, const bool allow_UV_MAX, const bool utf8) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GROK_BSLASH_O \ assert(s); assert(send); assert(uv); assert(message) PERL_CALLCONV bool Perl_grok_bslash_x(pTHX_ char** s, const char* const send, UV* uv, const char** message, U32 * packed_warn, const bool strict, const bool allow_UV_MAX, const bool utf8) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GROK_BSLASH_X \ assert(s); assert(send); assert(uv); assert(message) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV const char * Perl_form_cp_too_large_msg(pTHX_ const U8 which, const char * string, const Size_t len, const UV cp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FORM_CP_TOO_LARGE_MSG #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(SV* invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_iterfinish(SV* invlist); #define PERL_ARGS_ASSERT_INVLIST_ITERFINISH \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_invlist_iterinit(SV* invlist); #define PERL_ARGS_ASSERT_INVLIST_ITERINIT \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_invlist_iternext(SV* invlist, UV* start, UV* end) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \ assert(invlist); assert(start); assert(end) #endif #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV bool Perl__invlistEQ(pTHX_ SV* const a, SV* const b, const bool complement_b); #define PERL_ARGS_ASSERT__INVLISTEQ \ assert(a); assert(b) PERL_CALLCONV SV* Perl__new_invlist_C_array(pTHX_ const UV* const list) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY \ assert(list) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE const char * S_get_regex_charset_name(const U32 flags, STRLEN* const lenp); #define PERL_ARGS_ASSERT_GET_REGEX_CHARSET_NAME \ assert(lenp) #endif #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) PERL_CALLCONV int Perl_re_printf(pTHX_ const char *fmt, ...) __attribute__format__(__printf__,pTHX_1,pTHX_2); #define PERL_ARGS_ASSERT_RE_PRINTF \ assert(fmt) PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode* o, const regmatch_info *reginfo, const RExC_state_t *pRExC_state); #define PERL_ARGS_ASSERT_REGPROP \ assert(sv); assert(o) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_DOOP_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S__invlist_contains_cp(SV* const invlist, const UV cp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV S__invlist_len(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVLIST_LEN \ assert(invlist) #endif PERL_CALLCONV SSize_t Perl__invlist_search(SV* const invlist, const UV cp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT__INVLIST_SEARCH \ assert(invlist) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool* S_get_invlist_offset_addr(SV* invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE UV* S_invlist_array(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_INVLIST_ARRAY \ assert(invlist) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_is_invlist(SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_INVLIST #endif #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) PERL_CALLCONV bool Perl_is_grapheme(pTHX_ const U8 * strbeg, const U8 * s, const U8 *strend, const UV cp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_GRAPHEME \ assert(strbeg); assert(s); assert(strend) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV UV Perl__to_fold_latin1(const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags); #define PERL_ARGS_ASSERT__TO_FOLD_LATIN1 \ assert(p); assert(lenp) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C) PERL_CALLCONV SV* Perl_invlist_clone(pTHX_ SV* const invlist, SV* newlist); #define PERL_ARGS_ASSERT_INVLIST_CLONE \ assert(invlist) #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_regcurly(const char *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGCURLY \ assert(s) #endif #endif #if defined(PERL_IN_REGEXEC_C) STATIC LB_enum S_advance_one_LB(pTHX_ U8 ** curpos, const U8 * const strend, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADVANCE_ONE_LB \ assert(curpos); assert(strend) STATIC SB_enum S_advance_one_SB(pTHX_ U8 ** curpos, const U8 * const strend, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADVANCE_ONE_SB \ assert(curpos); assert(strend) STATIC WB_enum S_advance_one_WB(pTHX_ U8 ** curpos, const U8 * const strend, const bool utf8_target, const bool skip_Extend_Format) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ADVANCE_ONE_WB \ assert(curpos); assert(strend) STATIC GCB_enum S_backup_one_GCB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BACKUP_ONE_GCB \ assert(strbeg); assert(curpos) STATIC LB_enum S_backup_one_LB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BACKUP_ONE_LB \ assert(strbeg); assert(curpos) STATIC SB_enum S_backup_one_SB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BACKUP_ONE_SB \ assert(strbeg); assert(curpos) STATIC WB_enum S_backup_one_WB(pTHX_ WB_enum * previous, const U8 * const strbeg, U8 ** curpos, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_BACKUP_ONE_WB \ assert(previous); assert(strbeg); assert(curpos) STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_BYCLASS \ assert(prog); assert(c); assert(s); assert(strend) STATIC U8 * S_find_next_masked(U8 * s, const U8 * send, const U8 byte, const U8 mask) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_NEXT_MASKED \ assert(s); assert(send) STATIC U8 * S_find_span_end(U8* s, const U8 * send, const U8 span_byte) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_SPAN_END \ assert(s); assert(send) STATIC U8 * S_find_span_end_mask(U8 * s, const U8 * send, const U8 span_byte, const U8 mask) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_SPAN_END_MASK \ assert(s); assert(send) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE I32 S_foldEQ_latin1_s2_folded(const char* a, const char* b, I32 len); #define PERL_ARGS_ASSERT_FOLDEQ_LATIN1_S2_FOLDED \ assert(a); assert(b) #endif STATIC bool S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character, const U8* e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISFOO_UTF8_LC \ assert(character); assert(e) STATIC bool S_isGCB(pTHX_ const GCB_enum before, const GCB_enum after, const U8 * const strbeg, const U8 * const curpos, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISGCB \ assert(strbeg); assert(curpos) STATIC bool S_isLB(pTHX_ LB_enum before, LB_enum after, const U8 * const strbeg, const U8 * const curpos, const U8 * const strend, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISLB \ assert(strbeg); assert(curpos); assert(strend) STATIC bool S_isSB(pTHX_ SB_enum before, SB_enum after, const U8 * const strbeg, const U8 * const curpos, const U8 * const strend, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISSB \ assert(strbeg); assert(curpos); assert(strend) STATIC bool S_isWB(pTHX_ WB_enum previous, WB_enum before, WB_enum after, const U8 * const strbeg, const U8 * const curpos, const U8 * const strend, const bool utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISWB \ assert(strbeg); assert(curpos); assert(strend) STATIC I32 S_reg_check_named_buff_matched(const regexp *rex, const regnode *scan) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED \ assert(rex); assert(scan) STATIC void S_regcp_restore(pTHX_ regexp *rex, I32 ix, U32 *maxopenparen_p _pDEPTH); #define PERL_ARGS_ASSERT_REGCP_RESTORE \ assert(rex); assert(maxopenparen_p) STATIC void S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p _pDEPTH); #define PERL_ARGS_ASSERT_REGCPPOP \ assert(rex); assert(maxopenparen_p) STATIC CHECKPOINT S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen _pDEPTH); #define PERL_ARGS_ASSERT_REGCPPUSH \ assert(rex) STATIC U8* S_reghop3(U8 *s, SSize_t off, const U8 *lim) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGHOP3 \ assert(s); assert(lim) STATIC U8* S_reghop4(U8 *s, SSize_t off, const U8 *llim, const U8 *rlim) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGHOP4 \ assert(s); assert(llim); assert(rlim) STATIC U8* S_reghopmaybe3(U8 *s, SSize_t off, const U8 * const lim) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGHOPMAYBE3 \ assert(s); assert(lim) STATIC bool S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8 * const p, const U8 * const p_end, bool const utf8_target) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGINCLASS \ assert(n); assert(p); assert(p_end) STATIC SSize_t S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGMATCH \ assert(reginfo); assert(startpos); assert(prog) STATIC I32 S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, char *loceol, regmatch_info *const reginfo, I32 max _pDEPTH) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGREPEAT \ assert(prog); assert(startposp); assert(p); assert(loceol); assert(reginfo) STATIC bool S_regtry(pTHX_ regmatch_info *reginfo, char **startposp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_REGTRY \ assert(reginfo); assert(startposp) STATIC bool S_to_byte_substr(pTHX_ regexp * prog); #define PERL_ARGS_ASSERT_TO_BYTE_SUBSTR \ assert(prog) STATIC void S_to_utf8_substr(pTHX_ regexp * prog); #define PERL_ARGS_ASSERT_TO_UTF8_SUBSTR \ assert(prog) #endif #if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) PERL_CALLCONV bool Perl_isFOO_lc(pTHX_ const U8 classnum, const U8 character) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISFOO_LC #endif #if defined(PERL_IN_SCOPE_C) STATIC void S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2, const int type); #define PERL_ARGS_ASSERT_SAVE_PUSHPTRI32PTR STATIC SV* S_save_scalar_at(pTHX_ SV **sptr, const U32 flags); #define PERL_ARGS_ASSERT_SAVE_SCALAR_AT \ assert(sptr) #endif #if defined(PERL_IN_SV_C) STATIC char * S_F0convert(NV nv, char *const endbuf, STRLEN *const len); #define PERL_ARGS_ASSERT_F0CONVERT \ assert(endbuf); assert(len) STATIC void S_anonymise_cv_maybe(pTHX_ GV *gv, CV *cv); #define PERL_ARGS_ASSERT_ANONYMISE_CV_MAYBE \ assert(gv); assert(cv) STATIC void S_assert_uft8_cache_coherent(pTHX_ const char *const func, STRLEN from_cache, STRLEN real, SV *const sv); #define PERL_ARGS_ASSERT_ASSERT_UFT8_CACHE_COHERENT \ assert(func); assert(sv) STATIC bool S_curse(pTHX_ SV * const sv, const bool check_refcnt); #define PERL_ARGS_ASSERT_CURSE \ assert(sv) STATIC STRLEN S_expect_number(pTHX_ const char **const pattern) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_EXPECT_NUMBER \ assert(pattern) STATIC SSize_t S_find_array_subscript(pTHX_ const AV *const av, const SV *const val); #define PERL_ARGS_ASSERT_FIND_ARRAY_SUBSCRIPT \ assert(val) STATIC SV * S_find_hash_subscript(pTHX_ const HV *const hv, const SV *const val); #define PERL_ARGS_ASSERT_FIND_HASH_SUBSCRIPT \ assert(val) STATIC SV* S_find_uninit_var(pTHX_ const OP *const obase, const SV *const uninit_sv, bool match, const char **desc_p); #define PERL_ARGS_ASSERT_FIND_UNINIT_VAR \ assert(desc_p) STATIC bool S_glob_2number(pTHX_ GV* const gv); #define PERL_ARGS_ASSERT_GLOB_2NUMBER \ assert(gv) STATIC void S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype); #define PERL_ARGS_ASSERT_GLOB_ASSIGN_GLOB \ assert(dstr); assert(sstr) STATIC SV * S_more_sv(pTHX); #define PERL_ARGS_ASSERT_MORE_SV STATIC void S_not_a_number(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_NOT_A_NUMBER \ assert(sv) STATIC void S_not_incrementable(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_NOT_INCREMENTABLE \ assert(sv) STATIC PTR_TBL_ENT_t * S_ptr_table_find(PTR_TBL_t *const tbl, const void *const sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PTR_TABLE_FIND \ assert(tbl) STATIC bool S_sv_2iuv_common(pTHX_ SV *const sv); #define PERL_ARGS_ASSERT_SV_2IUV_COMMON \ assert(sv) STATIC void S_sv_add_arena(pTHX_ char *const ptr, const U32 size, const U32 flags); #define PERL_ARGS_ASSERT_SV_ADD_ARENA \ assert(ptr) STATIC const char * S_sv_display(pTHX_ SV *const sv, char *tmpbuf, STRLEN tmpbuf_size); #define PERL_ARGS_ASSERT_SV_DISPLAY \ assert(sv); assert(tmpbuf) STATIC STRLEN S_sv_pos_b2u_midway(pTHX_ const U8 *const s, const U8 *const target, const U8 *end, STRLEN endu); #define PERL_ARGS_ASSERT_SV_POS_B2U_MIDWAY \ assert(s); assert(target); assert(end) STATIC STRLEN S_sv_pos_u2b_cached(pTHX_ SV *const sv, MAGIC **const mgp, const U8 *const start, const U8 *const send, STRLEN uoffset, STRLEN uoffset0, STRLEN boffset0); #define PERL_ARGS_ASSERT_SV_POS_U2B_CACHED \ assert(sv); assert(mgp); assert(start); assert(send) STATIC STRLEN S_sv_pos_u2b_forwards(const U8 *const start, const U8 *const send, STRLEN *const uoffset, bool *const at_end); #define PERL_ARGS_ASSERT_SV_POS_U2B_FORWARDS \ assert(start); assert(send); assert(uoffset); assert(at_end) STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN uoffset, const STRLEN uend); #define PERL_ARGS_ASSERT_SV_POS_U2B_MIDWAY \ assert(start); assert(send) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE void S_sv_unglob(pTHX_ SV *const sv, U32 flags); #define PERL_ARGS_ASSERT_SV_UNGLOB \ assert(sv) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE char * S_uiv_2buf(char *const buf, const IV iv, UV uv, const int is_uv, char **const peob) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UIV_2BUF \ assert(buf); assert(peob) #endif STATIC void S_utf8_mg_len_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, const STRLEN ulen); #define PERL_ARGS_ASSERT_UTF8_MG_LEN_CACHE_UPDATE \ assert(sv); assert(mgp) STATIC void S_utf8_mg_pos_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, const STRLEN byte, const STRLEN utf8, const STRLEN blen); #define PERL_ARGS_ASSERT_UTF8_MG_POS_CACHE_UPDATE \ assert(sv); assert(mgp) STATIC I32 S_visit(pTHX_ SVFUNC_t f, const U32 flags, const U32 mask); #define PERL_ARGS_ASSERT_VISIT \ assert(f) # if defined(USE_ITHREADS) STATIC SV* S_sv_dup_common(pTHX_ const SV *const sstr, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DUP_COMMON \ assert(sstr); assert(param) STATIC SV ** S_sv_dup_inc_multiple(pTHX_ SV *const *source, SV **dest, SSize_t items, CLONE_PARAMS *const param); #define PERL_ARGS_ASSERT_SV_DUP_INC_MULTIPLE \ assert(source); assert(dest); assert(param) STATIC void S_unreferenced_to_tmp_stack(pTHX_ AV *const unreferenced); #define PERL_ARGS_ASSERT_UNREFERENCED_TO_TMP_STACK \ assert(unreferenced) # endif #endif #if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C) PERL_CALLCONV SV * Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, SSize_t aindex, int subscript_type) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_VARNAME #endif #if defined(PERL_IN_TOKE_C) STATIC int S_ao(pTHX_ int toketype); #define PERL_ARGS_ASSERT_AO STATIC void S_check_uni(pTHX); #define PERL_ARGS_ASSERT_CHECK_UNI STATIC void S_checkcomma(pTHX_ const char *s, const char *name, const char *what); #define PERL_ARGS_ASSERT_CHECKCOMMA \ assert(s); assert(name); assert(what) STATIC char * S_filter_gets(pTHX_ SV *sv, STRLEN append) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FILTER_GETS \ assert(sv) STATIC HV * S_find_in_my_stash(pTHX_ const char *pkgname, STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_FIND_IN_MY_STASH \ assert(pkgname) STATIC void S_force_ident(pTHX_ const char *s, int kind); #define PERL_ARGS_ASSERT_FORCE_IDENT \ assert(s) STATIC void S_force_ident_maybe_lex(pTHX_ char pit); #define PERL_ARGS_ASSERT_FORCE_IDENT_MAYBE_LEX STATIC void S_force_next(pTHX_ I32 type); #define PERL_ARGS_ASSERT_FORCE_NEXT STATIC char* S_force_strict_version(pTHX_ char *s); #define PERL_ARGS_ASSERT_FORCE_STRICT_VERSION \ assert(s) STATIC char* S_force_version(pTHX_ char *s, int guessing); #define PERL_ARGS_ASSERT_FORCE_VERSION \ assert(s) STATIC char* S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack); #define PERL_ARGS_ASSERT_FORCE_WORD \ assert(start) STATIC SV* S_get_and_check_backslash_N_name_wrapper(pTHX_ const char* s, const char* const e) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME_WRAPPER \ assert(s); assert(e) STATIC void S_incline(pTHX_ const char *s, const char *end); #define PERL_ARGS_ASSERT_INCLINE \ assert(s); assert(end) STATIC int S_intuit_method(pTHX_ char *s, SV *ioname, CV *cv); #define PERL_ARGS_ASSERT_INTUIT_METHOD \ assert(s) STATIC int S_intuit_more(pTHX_ char *s, char *e); #define PERL_ARGS_ASSERT_INTUIT_MORE \ assert(s); assert(e) STATIC I32 S_lop(pTHX_ I32 f, U8 x, char *s); #define PERL_ARGS_ASSERT_LOP \ assert(s) PERL_STATIC_NO_RET void S_missingterm(pTHX_ char *s, STRLEN len) __attribute__noreturn__; #define PERL_ARGS_ASSERT_MISSINGTERM STATIC SV* S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen, const char ** error_msg); #define PERL_ARGS_ASSERT_NEW_CONSTANT \ assert(key); assert(sv) STATIC void S_no_op(pTHX_ const char *const what, char *s); #define PERL_ARGS_ASSERT_NO_OP \ assert(what) STATIC void S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package, bool is_utf8, bool check_dollar, bool tick_warn); #define PERL_ARGS_ASSERT_PARSE_IDENT \ assert(s); assert(d); assert(e) STATIC int S_pending_ident(pTHX); #define PERL_ARGS_ASSERT_PENDING_IDENT STATIC char* S_scan_const(pTHX_ char *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_CONST \ assert(start) STATIC char* S_scan_formline(pTHX_ char *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_FORMLINE \ assert(s) STATIC char* S_scan_heredoc(pTHX_ char *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_HEREDOC \ assert(s) STATIC char* S_scan_ident(pTHX_ char *s, char *dest, STRLEN destlen, I32 ck_uni); #define PERL_ARGS_ASSERT_SCAN_IDENT \ assert(s); assert(dest) STATIC char* S_scan_inputsymbol(pTHX_ char *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_INPUTSYMBOL \ assert(start) STATIC char* S_scan_pat(pTHX_ char *start, I32 type) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_PAT \ assert(start) STATIC char* S_scan_subst(pTHX_ char *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_SUBST \ assert(start) STATIC char* S_scan_trans(pTHX_ char *start) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SCAN_TRANS \ assert(start) STATIC I32 S_sublex_done(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SUBLEX_DONE STATIC I32 S_sublex_push(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SUBLEX_PUSH STATIC I32 S_sublex_start(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SUBLEX_START STATIC char* S_swallow_bom(pTHX_ U8 *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SWALLOW_BOM \ assert(s) STATIC char * S_tokenize_use(pTHX_ int is_use, char *s) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_TOKENIZE_USE \ assert(s) STATIC SV* S_tokeq(pTHX_ SV *sv); #define PERL_ARGS_ASSERT_TOKEQ \ assert(sv) STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len); #define PERL_ARGS_ASSERT_UPDATE_DEBUGGER_INFO STATIC int S_yywarn(pTHX_ const char *const s, U32 flags); #define PERL_ARGS_ASSERT_YYWARN \ assert(s) #endif #if defined(PERL_IN_UNIVERSAL_C) STATIC bool S_isa_lookup(pTHX_ HV *stash, SV *namesv, const char * name, STRLEN len, U32 flags); STATIC bool S_sv_derived_from_svpvn(pTHX_ SV *sv, SV *namesv, const char * name, const STRLEN len, U32 flags); #endif #if defined(PERL_IN_UTF8_C) STATIC UV S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV *invlist, const I32 * const invmap, const U32 * const * const aux_tables, const U8 * const aux_table_lengths, const char * const normal); #define PERL_ARGS_ASSERT__TO_UTF8_CASE \ assert(ustrp); assert(lenp); assert(invlist); assert(invmap); assert(normal) STATIC UV S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING \ assert(p); assert(ustrp); assert(lenp) #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE int S_does_utf8_overflow(const U8 * const s, const U8 * e, const bool consider_overlongs) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DOES_UTF8_OVERFLOW \ assert(s); assert(e) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE int S_isFF_OVERLONG(const U8 * const s, const STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ISFF_OVERLONG \ assert(s) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE bool S_is_utf8_common(pTHX_ const U8 *const p, const U8 *const e, SV* const invlist) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_COMMON \ assert(p); assert(e) #endif #ifndef PERL_NO_INLINE_FUNCTIONS PERL_STATIC_INLINE int S_is_utf8_overlong_given_start_byte_ok(const U8 * const s, const STRLEN len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_IS_UTF8_OVERLONG_GIVEN_START_BYTE_OK \ assert(s) #endif STATIC HV * S_new_msg_hv(pTHX_ const char * const message, U32 categories, U32 flag) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEW_MSG_HV \ assert(message) STATIC U8 S_to_lower_latin1(const U8 c, U8 *p, STRLEN *lenp, const char dummy) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_TO_LOWER_LATIN1 STATIC UV S_turkic_fc(pTHX_ const U8 * const p, const U8 * const e, U8* ustrp, STRLEN *lenp); #define PERL_ARGS_ASSERT_TURKIC_FC \ assert(p); assert(e); assert(ustrp); assert(lenp) STATIC UV S_turkic_lc(pTHX_ const U8 * const p0, const U8 * const e, U8* ustrp, STRLEN *lenp); #define PERL_ARGS_ASSERT_TURKIC_LC \ assert(p0); assert(e); assert(ustrp); assert(lenp) STATIC UV S_turkic_uc(pTHX_ const U8 * const p, const U8 * const e, U8* ustrp, STRLEN *lenp); #define PERL_ARGS_ASSERT_TURKIC_UC \ assert(p); assert(e); assert(ustrp); assert(lenp) STATIC char * S_unexpected_non_continuation_text(pTHX_ const U8 * const s, STRLEN print_len, const STRLEN non_cont_byte_pos, const STRLEN expect_len) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_UNEXPECTED_NON_CONTINUATION_TEXT \ assert(s) #endif #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) PERL_CALLCONV UV Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const char S_or_s); #define PERL_ARGS_ASSERT__TO_UPPER_TITLE_LATIN1 \ assert(p); assert(lenp) #endif #if defined(PERL_IN_UTIL_C) STATIC bool S_ckwarn_common(pTHX_ U32 w); #define PERL_ARGS_ASSERT_CKWARN_COMMON STATIC bool S_invoke_exception_hook(pTHX_ SV *ex, bool warn); #define PERL_ARGS_ASSERT_INVOKE_EXCEPTION_HOOK STATIC SV* S_mess_alloc(pTHX); #define PERL_ARGS_ASSERT_MESS_ALLOC STATIC SV * S_with_queued_errors(pTHX_ SV *ex); #define PERL_ARGS_ASSERT_WITH_QUEUED_ERRORS \ assert(ex) STATIC void S_xs_version_bootcheck(pTHX_ U32 items, U32 ax, const char *xs_p, STRLEN xs_len); #define PERL_ARGS_ASSERT_XS_VERSION_BOOTCHECK \ assert(xs_p) # if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL) STATIC void S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesize, const char *type_name, const SV *sv, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname); #define PERL_ARGS_ASSERT_MEM_LOG_COMMON \ assert(type_name); assert(filename); assert(funcname) # endif #endif #if defined(PERL_MEM_LOG) PERL_CALLCONV Malloc_t Perl_mem_log_alloc(const UV nconst, UV typesize, const char *type_name, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname); #define PERL_ARGS_ASSERT_MEM_LOG_ALLOC \ assert(type_name); assert(filename); assert(funcname) PERL_CALLCONV Malloc_t Perl_mem_log_free(Malloc_t oldalloc, const char *filename, const int linenumber, const char *funcname); #define PERL_ARGS_ASSERT_MEM_LOG_FREE \ assert(filename); assert(funcname) PERL_CALLCONV Malloc_t Perl_mem_log_realloc(const UV n, const UV typesize, const char *type_name, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname); #define PERL_ARGS_ASSERT_MEM_LOG_REALLOC \ assert(type_name); assert(filename); assert(funcname) #endif #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C) STATIC void S_pidgone(pTHX_ Pid_t pid, int status); #define PERL_ARGS_ASSERT_PIDGONE #endif #if defined(PERL_USE_3ARG_SIGHANDLER) PERL_CALLCONV Signal_t Perl_csighandler(int sig, Siginfo_t *info, void *uap); #define PERL_ARGS_ASSERT_CSIGHANDLER PERL_CALLCONV Signal_t Perl_sighandler(int sig, Siginfo_t *info, void *uap); #define PERL_ARGS_ASSERT_SIGHANDLER #endif #if defined(UNLINK_ALL_VERSIONS) PERL_CALLCONV I32 Perl_unlnk(pTHX_ const char* f); #define PERL_ARGS_ASSERT_UNLNK \ assert(f) #endif #if defined(USE_C_BACKTRACE) PERL_CALLCONV bool Perl_dump_c_backtrace(pTHX_ PerlIO* fp, int max_depth, int skip); #define PERL_ARGS_ASSERT_DUMP_C_BACKTRACE \ assert(fp) /* PERL_CALLCONV void free_c_backtrace(pTHX_ Perl_c_backtrace* bt); */ #define PERL_ARGS_ASSERT_FREE_C_BACKTRACE PERL_CALLCONV Perl_c_backtrace* Perl_get_c_backtrace(pTHX_ int max_depth, int skip); #define PERL_ARGS_ASSERT_GET_C_BACKTRACE PERL_CALLCONV SV* Perl_get_c_backtrace_dump(pTHX_ int max_depth, int skip); #define PERL_ARGS_ASSERT_GET_C_BACKTRACE_DUMP #endif #if defined(USE_DTRACE) PERL_CALLCONV void Perl_dtrace_probe_call(pTHX_ CV *cv, bool is_call); #define PERL_ARGS_ASSERT_DTRACE_PROBE_CALL \ assert(cv) PERL_CALLCONV void Perl_dtrace_probe_load(pTHX_ const char *name, bool is_loading); #define PERL_ARGS_ASSERT_DTRACE_PROBE_LOAD \ assert(name) PERL_CALLCONV void Perl_dtrace_probe_op(pTHX_ const OP *op); #define PERL_ARGS_ASSERT_DTRACE_PROBE_OP \ assert(op) PERL_CALLCONV void Perl_dtrace_probe_phase(pTHX_ enum perl_phase phase); #define PERL_ARGS_ASSERT_DTRACE_PROBE_PHASE #endif #if defined(USE_ITHREADS) PERL_CALLCONV PADOFFSET Perl_alloccopstash(pTHX_ HV *hv); #define PERL_ARGS_ASSERT_ALLOCCOPSTASH \ assert(hv) PERL_CALLCONV void* Perl_any_dup(pTHX_ void* v, const PerlInterpreter* proto_perl) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_ANY_DUP \ assert(proto_perl) PERL_CALLCONV void Perl_clone_params_del(CLONE_PARAMS *param); #define PERL_ARGS_ASSERT_CLONE_PARAMS_DEL \ assert(param) PERL_CALLCONV CLONE_PARAMS * Perl_clone_params_new(PerlInterpreter *const from, PerlInterpreter *const to) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CLONE_PARAMS_NEW \ assert(from); assert(to) PERL_CALLCONV PERL_CONTEXT* Perl_cx_dup(pTHX_ PERL_CONTEXT* cx, I32 ix, I32 max, CLONE_PARAMS* param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_CX_DUP \ assert(param) PERL_CALLCONV DIR* Perl_dirp_dup(pTHX_ DIR *const dp, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_DIRP_DUP \ assert(param) PERL_CALLCONV PerlIO* Perl_fp_dup(pTHX_ PerlIO *const fp, const char type, CLONE_PARAMS *const param); #define PERL_ARGS_ASSERT_FP_DUP \ assert(param) PERL_CALLCONV GP* Perl_gp_dup(pTHX_ GP *const gp, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_GP_DUP \ assert(param) PERL_CALLCONV HE* Perl_he_dup(pTHX_ const HE* e, bool shared, CLONE_PARAMS* param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HE_DUP \ assert(param) PERL_CALLCONV HEK* Perl_hek_dup(pTHX_ HEK* e, CLONE_PARAMS* param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_HEK_DUP \ assert(param) PERL_CALLCONV MAGIC* Perl_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_MG_DUP \ assert(param) PERL_CALLCONV struct mro_meta* Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param); #define PERL_ARGS_ASSERT_MRO_META_DUP \ assert(smeta); assert(param) PERL_CALLCONV OP* Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_NEWPADOP \ assert(sv) PERL_CALLCONV PADLIST * Perl_padlist_dup(pTHX_ PADLIST *srcpad, CLONE_PARAMS *param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PADLIST_DUP \ assert(srcpad); assert(param) PERL_CALLCONV PADNAME * Perl_padname_dup(pTHX_ PADNAME *src, CLONE_PARAMS *param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PADNAME_DUP \ assert(src); assert(param) PERL_CALLCONV PADNAMELIST * Perl_padnamelist_dup(pTHX_ PADNAMELIST *srcpad, CLONE_PARAMS *param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PADNAMELIST_DUP \ assert(srcpad); assert(param) PERL_CALLCONV yy_parser* Perl_parser_dup(pTHX_ const yy_parser *const proto, CLONE_PARAMS *const param); #define PERL_ARGS_ASSERT_PARSER_DUP \ assert(param) PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter *proto_perl, UV flags); #define PERL_ARGS_ASSERT_PERL_CLONE \ assert(proto_perl) PERL_CALLCONV void Perl_re_dup_guts(pTHX_ const REGEXP *sstr, REGEXP *dstr, CLONE_PARAMS* param); #define PERL_ARGS_ASSERT_RE_DUP_GUTS \ assert(sstr); assert(dstr); assert(param) PERL_CALLCONV void* Perl_regdupe_internal(pTHX_ REGEXP * const r, CLONE_PARAMS* param); #define PERL_ARGS_ASSERT_REGDUPE_INTERNAL \ assert(r); assert(param) PERL_CALLCONV void Perl_rvpv_dup(pTHX_ SV *const dstr, const SV *const sstr, CLONE_PARAMS *const param); #define PERL_ARGS_ASSERT_RVPV_DUP \ assert(dstr); assert(sstr); assert(param) PERL_CALLCONV PERL_SI* Perl_si_dup(pTHX_ PERL_SI* si, CLONE_PARAMS* param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SI_DUP \ assert(param) PERL_CALLCONV ANY* Perl_ss_dup(pTHX_ PerlInterpreter* proto_perl, CLONE_PARAMS* param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SS_DUP \ assert(proto_perl); assert(param) PERL_CALLCONV SV* Perl_sv_dup(pTHX_ const SV *const sstr, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DUP \ assert(param) PERL_CALLCONV SV* Perl_sv_dup_inc(pTHX_ const SV *const sstr, CLONE_PARAMS *const param) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_SV_DUP_INC \ assert(param) #endif #if defined(USE_LOCALE) && ( defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MG_C) || defined (PERL_EXT_POSIX) || defined (PERL_EXT_LANGINFO)) PERL_CALLCONV bool Perl__is_cur_LC_category_utf8(pTHX_ int category); #define PERL_ARGS_ASSERT__IS_CUR_LC_CATEGORY_UTF8 #endif #if defined(USE_LOCALE_COLLATE) PERL_CALLCONV int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM \ assert(sv); assert(mg) #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen) __attribute__deprecated__; #define PERL_ARGS_ASSERT_MEM_COLLXFRM \ assert(input_string); assert(xlen) #endif #ifndef NO_MATHOMS PERL_CALLCONV char* Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp); #define PERL_ARGS_ASSERT_SV_COLLXFRM \ assert(sv); assert(nxp) #endif PERL_CALLCONV char* Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp, I32 const flags); #define PERL_ARGS_ASSERT_SV_COLLXFRM_FLAGS \ assert(sv); assert(nxp) #endif #if defined(USE_PERLIO) PERL_CALLCONV void Perl_PerlIO_clearerr(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_CLEARERR PERL_CALLCONV int Perl_PerlIO_close(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_CLOSE PERL_CALLCONV int Perl_PerlIO_eof(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_EOF PERL_CALLCONV int Perl_PerlIO_error(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_ERROR PERL_CALLCONV int Perl_PerlIO_fileno(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_FILENO PERL_CALLCONV int Perl_PerlIO_fill(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_FILL PERL_CALLCONV int Perl_PerlIO_flush(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_FLUSH PERL_CALLCONV STDCHAR * Perl_PerlIO_get_base(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_GET_BASE PERL_CALLCONV SSize_t Perl_PerlIO_get_bufsiz(pTHX_ PerlIO *f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLIO_GET_BUFSIZ PERL_CALLCONV SSize_t Perl_PerlIO_get_cnt(pTHX_ PerlIO *f) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLIO_GET_CNT PERL_CALLCONV STDCHAR * Perl_PerlIO_get_ptr(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_GET_PTR PERL_CALLCONV SSize_t Perl_PerlIO_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); #define PERL_ARGS_ASSERT_PERLIO_READ \ assert(vbuf) PERL_CALLCONV void Perl_PerlIO_restore_errno(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_RESTORE_ERRNO PERL_CALLCONV void Perl_PerlIO_save_errno(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_SAVE_ERRNO PERL_CALLCONV int Perl_PerlIO_seek(pTHX_ PerlIO *f, Off_t offset, int whence); #define PERL_ARGS_ASSERT_PERLIO_SEEK PERL_CALLCONV void Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, SSize_t cnt); #define PERL_ARGS_ASSERT_PERLIO_SET_CNT PERL_CALLCONV void Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, SSize_t cnt); #define PERL_ARGS_ASSERT_PERLIO_SET_PTRCNT PERL_CALLCONV void Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_SETLINEBUF PERL_CALLCONV PerlIO * Perl_PerlIO_stderr(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLIO_STDERR PERL_CALLCONV PerlIO * Perl_PerlIO_stdin(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLIO_STDIN PERL_CALLCONV PerlIO * Perl_PerlIO_stdout(pTHX) __attribute__warn_unused_result__; #define PERL_ARGS_ASSERT_PERLIO_STDOUT PERL_CALLCONV Off_t Perl_PerlIO_tell(pTHX_ PerlIO *f); #define PERL_ARGS_ASSERT_PERLIO_TELL PERL_CALLCONV SSize_t Perl_PerlIO_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); #define PERL_ARGS_ASSERT_PERLIO_UNREAD \ assert(vbuf) PERL_CALLCONV SSize_t Perl_PerlIO_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); #define PERL_ARGS_ASSERT_PERLIO_WRITE \ assert(vbuf) #endif #if defined(USE_QUADMATH) PERL_CALLCONV bool Perl_quadmath_format_needed(const char* format); #define PERL_ARGS_ASSERT_QUADMATH_FORMAT_NEEDED \ assert(format) PERL_CALLCONV bool Perl_quadmath_format_valid(const char* format); #define PERL_ARGS_ASSERT_QUADMATH_FORMAT_VALID \ assert(format) #endif #if defined(WIN32) PERL_CALLCONV_NO_RET void win32_croak_not_implemented(const char * fname) __attribute__noreturn__; #define PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED \ assert(fname) #endif #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS) PERL_CALLCONV int Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp); #define PERL_ARGS_ASSERT_DO_ASPAWN \ assert(mark); assert(sp) PERL_CALLCONV int Perl_do_spawn(pTHX_ char* cmd); #define PERL_ARGS_ASSERT_DO_SPAWN \ assert(cmd) PERL_CALLCONV int Perl_do_spawn_nowait(pTHX_ char* cmd); #define PERL_ARGS_ASSERT_DO_SPAWN_NOWAIT \ assert(cmd) #endif #if defined(_MSC_VER) PERL_CALLCONV int Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg); #define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET \ assert(sv); assert(mg) #endif #ifdef PERL_CORE # include "pp_proto.h" #endif END_EXTERN_C /* ex: set ro: */ mg_vtable.h 0000644 00000022532 15140731057 0006664 0 ustar 00 /* -*- buffer-read-only: t -*- * * mg_vtable.h * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/mg_vtable.pl. * Any changes made here will be lost! */ /* These constants should be used in preference to raw characters * when using magic. Note that some perl guts still assume * certain character properties of these constants, namely that * isUPPER() and toLOWER() may do useful mappings. */ #define PERL_MAGIC_sv '\0' /* Special scalar variable */ #define PERL_MAGIC_arylen '#' /* Array length ($#ary) */ #define PERL_MAGIC_rhash '%' /* Extra data for restricted hashes */ #define PERL_MAGIC_debugvar '*' /* $DB::single, signal, trace vars */ #define PERL_MAGIC_pos '.' /* pos() lvalue */ #define PERL_MAGIC_symtab ':' /* Extra data for symbol tables */ #define PERL_MAGIC_backref '<' /* For weak ref data */ #define PERL_MAGIC_arylen_p '@' /* To move arylen out of XPVAV */ #define PERL_MAGIC_bm 'B' /* Boyer-Moore (fast string search) */ #define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */ #define PERL_MAGIC_regdata 'D' /* Regex match position data (@+ and @- vars) */ #define PERL_MAGIC_regdatum 'd' /* Regex match position data element */ #define PERL_MAGIC_env 'E' /* %ENV hash */ #define PERL_MAGIC_envelem 'e' /* %ENV hash element */ #define PERL_MAGIC_fm 'f' /* Formline ('compiled' format) */ #define PERL_MAGIC_regex_global 'g' /* m//g target */ #define PERL_MAGIC_hints 'H' /* %^H hash */ #define PERL_MAGIC_hintselem 'h' /* %^H hash element */ #define PERL_MAGIC_isa 'I' /* @ISA array */ #define PERL_MAGIC_isaelem 'i' /* @ISA array element */ #define PERL_MAGIC_nkeys 'k' /* scalar(keys()) lvalue */ #define PERL_MAGIC_dbfile 'L' /* Debugger %_<filename */ #define PERL_MAGIC_dbline 'l' /* Debugger %_<filename element */ #define PERL_MAGIC_shared 'N' /* Shared between threads */ #define PERL_MAGIC_shared_scalar 'n' /* Shared between threads */ #define PERL_MAGIC_collxfrm 'o' /* Locale transformation */ #define PERL_MAGIC_tied 'P' /* Tied array or hash */ #define PERL_MAGIC_tiedelem 'p' /* Tied array or hash element */ #define PERL_MAGIC_tiedscalar 'q' /* Tied scalar or handle */ #define PERL_MAGIC_qr 'r' /* Precompiled qr// regex */ #define PERL_MAGIC_sig 'S' /* %SIG hash */ #define PERL_MAGIC_sigelem 's' /* %SIG hash element */ #define PERL_MAGIC_taint 't' /* Taintedness */ #define PERL_MAGIC_uvar 'U' /* Available for use by extensions */ #define PERL_MAGIC_uvar_elem 'u' /* Reserved for use by extensions */ #define PERL_MAGIC_vstring 'V' /* SV was vstring literal */ #define PERL_MAGIC_vec 'v' /* vec() lvalue */ #define PERL_MAGIC_utf8 'w' /* Cached UTF-8 information */ #define PERL_MAGIC_substr 'x' /* substr() lvalue */ #define PERL_MAGIC_nonelem 'Y' /* Array element that does not exist */ #define PERL_MAGIC_defelem 'y' /* Shadow "foreach" iterator variable / smart parameter vivification */ #define PERL_MAGIC_lvref '\\' /* Lvalue reference constructor */ #define PERL_MAGIC_checkcall ']' /* Inlining/mutation of call to this CV */ #define PERL_MAGIC_ext '~' /* Available for use by extensions */ enum { /* pass one of these to get_vtbl */ want_vtbl_arylen, want_vtbl_arylen_p, want_vtbl_backref, want_vtbl_checkcall, want_vtbl_collxfrm, want_vtbl_dbline, want_vtbl_debugvar, want_vtbl_defelem, want_vtbl_env, want_vtbl_envelem, want_vtbl_hints, want_vtbl_hintselem, want_vtbl_isa, want_vtbl_isaelem, want_vtbl_lvref, want_vtbl_mglob, want_vtbl_nkeys, want_vtbl_nonelem, want_vtbl_ovrld, want_vtbl_pack, want_vtbl_packelem, want_vtbl_pos, want_vtbl_regdata, want_vtbl_regdatum, want_vtbl_regexp, want_vtbl_sigelem, want_vtbl_substr, want_vtbl_sv, want_vtbl_taint, want_vtbl_utf8, want_vtbl_uvar, want_vtbl_vec, magic_vtable_max }; #ifdef DOINIT EXTCONST char * const PL_magic_vtable_names[magic_vtable_max] = { "arylen", "arylen_p", "backref", "checkcall", "collxfrm", "dbline", "debugvar", "defelem", "env", "envelem", "hints", "hintselem", "isa", "isaelem", "lvref", "mglob", "nkeys", "nonelem", "ovrld", "pack", "packelem", "pos", "regdata", "regdatum", "regexp", "sigelem", "substr", "sv", "taint", "utf8", "uvar", "vec" }; #else EXTCONST char * const PL_magic_vtable_names[magic_vtable_max]; #endif /* These all need to be 0, not NULL, as NULL can be (void*)0, which is a * pointer to data, whereas we're assigning pointers to functions, which are * not the same beast. ANSI doesn't allow the assignment from one to the other. * (although most, but not all, compilers are prepared to do it) */ /* order is: get set len clear free copy dup local */ #ifdef DOINIT EXT_MGVTBL PL_magic_vtables[magic_vtable_max] = { { (int (*)(pTHX_ SV *, MAGIC *))Perl_magic_getarylen, Perl_magic_setarylen, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, Perl_magic_cleararylen_p, Perl_magic_freearylen_p, 0, 0, 0 }, { 0, 0, 0, 0, Perl_magic_killbackrefs, 0, 0, 0 }, { 0, 0, 0, 0, 0, Perl_magic_copycallchecker, 0, 0 }, #ifdef USE_LOCALE_COLLATE { 0, Perl_magic_setcollxfrm, 0, 0, 0, 0, 0, 0 }, #else { 0, 0, 0, 0, 0, 0, 0, 0 }, #endif { 0, Perl_magic_setdbline, 0, 0, 0, 0, 0, 0 }, { Perl_magic_getdebugvar, Perl_magic_setdebugvar, 0, 0, 0, 0, 0, 0 }, { Perl_magic_getdefelem, Perl_magic_setdefelem, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_set_all_env, 0, Perl_magic_clear_all_env, 0, 0, 0, 0 }, { 0, Perl_magic_setenv, 0, Perl_magic_clearenv, 0, 0, 0, 0 }, { 0, 0, 0, Perl_magic_clearhints, 0, 0, 0, 0 }, { 0, Perl_magic_sethint, 0, Perl_magic_clearhint, 0, 0, 0, 0 }, { 0, Perl_magic_setisa, 0, Perl_magic_clearisa, 0, 0, 0, 0 }, { 0, Perl_magic_setisa, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_setlvref, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_setmglob, 0, 0, 0, 0, 0, 0 }, { Perl_magic_getnkeys, Perl_magic_setnkeys, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_setnonelem, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, Perl_magic_freeovrld, 0, 0, 0 }, { 0, 0, Perl_magic_sizepack, Perl_magic_wipepack, 0, 0, 0, 0 }, { Perl_magic_getpack, Perl_magic_setpack, 0, Perl_magic_clearpack, 0, 0, 0, 0 }, { Perl_magic_getpos, Perl_magic_setpos, 0, 0, 0, 0, 0, 0 }, { 0, 0, Perl_magic_regdata_cnt, 0, 0, 0, 0, 0 }, { Perl_magic_regdatum_get, Perl_magic_regdatum_set, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_setregexp, 0, 0, 0, 0, 0, 0 }, #ifndef PERL_MICRO { Perl_magic_getsig, Perl_magic_setsig, 0, Perl_magic_clearsig, 0, 0, 0, 0 }, #else { 0, 0, 0, 0, 0, 0, 0, 0 }, #endif { Perl_magic_getsubstr, Perl_magic_setsubstr, 0, 0, 0, 0, 0, 0 }, { Perl_magic_get, Perl_magic_set, 0, 0, 0, 0, 0, 0 }, { Perl_magic_gettaint, Perl_magic_settaint, 0, 0, 0, 0, 0, 0 }, { 0, Perl_magic_setutf8, 0, 0, 0, 0, 0, 0 }, { Perl_magic_getuvar, Perl_magic_setuvar, 0, 0, 0, 0, 0, 0 }, { Perl_magic_getvec, Perl_magic_setvec, 0, 0, 0, 0, 0, 0 } }; #else EXT_MGVTBL PL_magic_vtables[magic_vtable_max]; #endif #define want_vtbl_bm want_vtbl_regexp #define want_vtbl_fm want_vtbl_regexp #define PL_vtbl_arylen PL_magic_vtables[want_vtbl_arylen] #define PL_vtbl_arylen_p PL_magic_vtables[want_vtbl_arylen_p] #define PL_vtbl_backref PL_magic_vtables[want_vtbl_backref] #define PL_vtbl_bm PL_magic_vtables[want_vtbl_bm] #define PL_vtbl_checkcall PL_magic_vtables[want_vtbl_checkcall] #define PL_vtbl_collxfrm PL_magic_vtables[want_vtbl_collxfrm] #define PL_vtbl_dbline PL_magic_vtables[want_vtbl_dbline] #define PL_vtbl_debugvar PL_magic_vtables[want_vtbl_debugvar] #define PL_vtbl_defelem PL_magic_vtables[want_vtbl_defelem] #define PL_vtbl_env PL_magic_vtables[want_vtbl_env] #define PL_vtbl_envelem PL_magic_vtables[want_vtbl_envelem] #define PL_vtbl_fm PL_magic_vtables[want_vtbl_fm] #define PL_vtbl_hints PL_magic_vtables[want_vtbl_hints] #define PL_vtbl_hintselem PL_magic_vtables[want_vtbl_hintselem] #define PL_vtbl_isa PL_magic_vtables[want_vtbl_isa] #define PL_vtbl_isaelem PL_magic_vtables[want_vtbl_isaelem] #define PL_vtbl_lvref PL_magic_vtables[want_vtbl_lvref] #define PL_vtbl_mglob PL_magic_vtables[want_vtbl_mglob] #define PL_vtbl_nkeys PL_magic_vtables[want_vtbl_nkeys] #define PL_vtbl_nonelem PL_magic_vtables[want_vtbl_nonelem] #define PL_vtbl_ovrld PL_magic_vtables[want_vtbl_ovrld] #define PL_vtbl_pack PL_magic_vtables[want_vtbl_pack] #define PL_vtbl_packelem PL_magic_vtables[want_vtbl_packelem] #define PL_vtbl_pos PL_magic_vtables[want_vtbl_pos] #define PL_vtbl_regdata PL_magic_vtables[want_vtbl_regdata] #define PL_vtbl_regdatum PL_magic_vtables[want_vtbl_regdatum] #define PL_vtbl_regexp PL_magic_vtables[want_vtbl_regexp] #define PL_vtbl_sigelem PL_magic_vtables[want_vtbl_sigelem] #define PL_vtbl_substr PL_magic_vtables[want_vtbl_substr] #define PL_vtbl_sv PL_magic_vtables[want_vtbl_sv] #define PL_vtbl_taint PL_magic_vtables[want_vtbl_taint] #define PL_vtbl_utf8 PL_magic_vtables[want_vtbl_utf8] #define PL_vtbl_uvar PL_magic_vtables[want_vtbl_uvar] #define PL_vtbl_vec PL_magic_vtables[want_vtbl_vec] /* ex: set ro: */ op_reg_common.h 0000644 00000013427 15140731057 0007552 0 ustar 00 /* op_reg_common.h * * Definitions common to by op.h and regexp.h * * Copyright (C) 2010, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* These defines are used in both op.h and regexp.h The definitions use the * shift form so that ext/B/Makefile.PL will pick them up. * * Data structures used in the two headers have common fields, and in fact one * is copied onto the other. This makes it easy to keep them in sync */ /* This tells where the first of these bits is. Setting it to 0 saved cycles * and memory. I (khw) think the code will work if changed back, but haven't * tested it */ /* Make sure to update ext/re/re.pm when changing this! */ #ifndef RXf_PMf_STD_PMMOD_SHIFT /* Only expand #include of this file once */ #define RXf_PMf_STD_PMMOD_SHIFT 0 /* The bits need to be ordered so that the msixn are contiguous starting at bit * RXf_PMf_STD_PMMOD_SHIFT, followed by the p. See STD_PAT_MODS and * INT_PAT_MODS in regexp.h for the reason contiguity is needed */ /* Make sure to update lib/re.pm when changing these! */ /* Make sure you keep the pure PMf_ versions below in sync */ #define RXf_PMf_MULTILINE (1U << (RXf_PMf_STD_PMMOD_SHIFT+0)) /* /m */ #define RXf_PMf_SINGLELINE (1U << (RXf_PMf_STD_PMMOD_SHIFT+1)) /* /s */ #define RXf_PMf_FOLD (1U << (RXf_PMf_STD_PMMOD_SHIFT+2)) /* /i */ #define RXf_PMf_EXTENDED (1U << (RXf_PMf_STD_PMMOD_SHIFT+3)) /* /x */ #define RXf_PMf_EXTENDED_MORE (1U << (RXf_PMf_STD_PMMOD_SHIFT+4)) /* /xx */ #define RXf_PMf_NOCAPTURE (1U << (RXf_PMf_STD_PMMOD_SHIFT+5)) /* /n */ #define RXf_PMf_KEEPCOPY (1U << (RXf_PMf_STD_PMMOD_SHIFT+6)) /* /p */ /* The character set for the regex is stored in a field of more than one bit * using an enum, for reasons of compactness and to ensure that the options are * mutually exclusive */ /* Make sure to update ext/re/re.pm and regcomp.sym (as these are used as * offsets for various node types, like POSIXD vs POSIXL, etc) when changing * this! */ typedef enum { REGEX_DEPENDS_CHARSET = 0, REGEX_LOCALE_CHARSET, REGEX_UNICODE_CHARSET, REGEX_ASCII_RESTRICTED_CHARSET, REGEX_ASCII_MORE_RESTRICTED_CHARSET } regex_charset; #define _RXf_PMf_CHARSET_SHIFT ((RXf_PMf_STD_PMMOD_SHIFT)+7) #define RXf_PMf_CHARSET (7U << (_RXf_PMf_CHARSET_SHIFT)) /* 3 bits */ /* Manually decorate these functions here with gcc-style attributes just to * avoid making the regex_charset typedef global, which it would need to be for * proto.h to understand it */ PERL_STATIC_INLINE void set_regex_charset(U32 * const flags, const regex_charset cs) __attribute__nonnull__(1); PERL_STATIC_INLINE void set_regex_charset(U32 * const flags, const regex_charset cs) { /* Sets the character set portion of 'flags' to 'cs', which is a member of * the above enum */ *flags &= ~RXf_PMf_CHARSET; *flags |= (cs << _RXf_PMf_CHARSET_SHIFT); } PERL_STATIC_INLINE regex_charset get_regex_charset(const U32 flags) __attribute__warn_unused_result__; PERL_STATIC_INLINE regex_charset get_regex_charset(const U32 flags) { /* Returns the enum corresponding to the character set in 'flags' */ return (regex_charset) ((flags & RXf_PMf_CHARSET) >> _RXf_PMf_CHARSET_SHIFT); } #define RXf_PMf_STRICT (1U<<(RXf_PMf_STD_PMMOD_SHIFT+10)) #define _RXf_PMf_SHIFT_COMPILETIME (RXf_PMf_STD_PMMOD_SHIFT+11) /* Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will be used by regex engines to check whether they should set RXf_SKIPWHITE */ #define RXf_PMf_SPLIT (1U<<(RXf_PMf_STD_PMMOD_SHIFT+11)) /* Next available bit after the above. Name begins with '_' so won't be * exported by B */ #define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+12) /* Mask of the above bits. These need to be transferred from op_pmflags to * re->extflags during compilation */ #define RXf_PMf_COMPILETIME (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_EXTENDED_MORE|RXf_PMf_KEEPCOPY|RXf_PMf_NOCAPTURE|RXf_PMf_CHARSET|RXf_PMf_STRICT) #define RXf_PMf_FLAGCOPYMASK (RXf_PMf_COMPILETIME|RXf_PMf_SPLIT) /* Temporary to get Jenkins happy again * See thread starting at http://nntp.perl.org/group/perl.perl5.porters/220710 */ #if 0 /* Exclude win32 because it can't cope with I32_MAX definition */ #ifndef WIN32 # if RXf_PMf_COMPILETIME > I32_MAX # error RXf_PMf_COMPILETIME wont fit in arg2 field of eval node # endif #endif #endif /* These copies need to be numerical or ext/B/Makefile.PL won't think they are * constants */ #define PMf_MULTILINE (1U<<0) #define PMf_SINGLELINE (1U<<1) #define PMf_FOLD (1U<<2) #define PMf_EXTENDED (1U<<3) #define PMf_EXTENDED_MORE (1U<<4) #define PMf_NOCAPTURE (1U<<5) #define PMf_KEEPCOPY (1U<<6) #define PMf_CHARSET (7U<<7) #define PMf_STRICT (1U<<10) #define PMf_SPLIT (1U<<11) #if PMf_MULTILINE != RXf_PMf_MULTILINE || PMf_SINGLELINE != RXf_PMf_SINGLELINE || PMf_FOLD != RXf_PMf_FOLD || PMf_EXTENDED != RXf_PMf_EXTENDED || PMf_EXTENDED_MORE != RXf_PMf_EXTENDED_MORE || PMf_KEEPCOPY != RXf_PMf_KEEPCOPY || PMf_SPLIT != RXf_PMf_SPLIT || PMf_CHARSET != RXf_PMf_CHARSET || PMf_NOCAPTURE != RXf_PMf_NOCAPTURE || PMf_STRICT != RXf_PMf_STRICT # error RXf_PMf defines are wrong #endif /* Error check that haven't left something out of this. This isn't done * directly in the #define because doing so confuses regcomp.pl. * (2**n - 1) is n 1 bits, so the below gets the contiguous bits between the * beginning and ending shifts */ #if RXf_PMf_COMPILETIME != (((1 << (_RXf_PMf_SHIFT_COMPILETIME))-1) \ & (~((1 << RXf_PMf_STD_PMMOD_SHIFT)-1))) # error RXf_PMf_COMPILETIME is invalid #endif #endif /* Include only once */ sv.h 0000644 00000255412 15140731057 0005361 0 ustar 00 /* sv.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifdef sv_flags #undef sv_flags /* Convex has this in <signal.h> for sigvec() */ #endif /* =head1 SV Flags =for apidoc AmnU||svtype An enum of flags for Perl types. These are found in the file F<sv.h> in the C<svtype> enum. Test these flags with the C<SvTYPE> macro. The types are: SVt_NULL SVt_IV SVt_NV SVt_RV SVt_PV SVt_PVIV SVt_PVNV SVt_PVMG SVt_INVLIST SVt_REGEXP SVt_PVGV SVt_PVLV SVt_PVAV SVt_PVHV SVt_PVCV SVt_PVFM SVt_PVIO These are most easily explained from the bottom up. C<SVt_PVIO> is for I/O objects, C<SVt_PVFM> for formats, C<SVt_PVCV> for subroutines, C<SVt_PVHV> for hashes and C<SVt_PVAV> for arrays. All the others are scalar types, that is, things that can be bound to a C<$> variable. For these, the internal types are mostly orthogonal to types in the Perl language. Hence, checking C<< SvTYPE(sv) < SVt_PVAV >> is the best way to see whether something is a scalar. C<SVt_PVGV> represents a typeglob. If C<!SvFAKE(sv)>, then it is a real, incoercible typeglob. If C<SvFAKE(sv)>, then it is a scalar to which a typeglob has been assigned. Assigning to it again will stop it from being a typeglob. C<SVt_PVLV> represents a scalar that delegates to another scalar behind the scenes. It is used, e.g., for the return value of C<substr> and for tied hash and array elements. It can hold any scalar value, including a typeglob. C<SVt_REGEXP> is for regular expressions. C<SVt_INVLIST> is for Perl core internal use only. C<SVt_PVMG> represents a "normal" scalar (not a typeglob, regular expression, or delegate). Since most scalars do not need all the internal fields of a PVMG, we save memory by allocating smaller structs when possible. All the other types are just simpler forms of C<SVt_PVMG>, with fewer internal fields. C<SVt_NULL> can only hold undef. C<SVt_IV> can hold undef, an integer, or a reference. (C<SVt_RV> is an alias for C<SVt_IV>, which exists for backward compatibility.) C<SVt_NV> can hold any of those or a double. C<SVt_PV> can only hold C<undef> or a string. C<SVt_PVIV> is a superset of C<SVt_PV> and C<SVt_IV>. C<SVt_PVNV> is similar. C<SVt_PVMG> can hold anything C<SVt_PVNV> can hold, but it can, but does not have to, be blessed or magical. =for apidoc AmnU||SVt_NULL Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_IV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_NV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_PV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_PVIV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_PVNV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_PVMG Type flag for scalars. See L</svtype>. =for apidoc CmnU||SVt_INVLIST Type flag for scalars. See L<perlapi/svtype>. =for apidoc AmnU||SVt_REGEXP Type flag for regular expressions. See L</svtype>. =for apidoc AmnU||SVt_PVGV Type flag for typeglobs. See L</svtype>. =for apidoc AmnU||SVt_PVLV Type flag for scalars. See L</svtype>. =for apidoc AmnU||SVt_PVAV Type flag for arrays. See L</svtype>. =for apidoc AmnU||SVt_PVHV Type flag for hashes. See L</svtype>. =for apidoc AmnU||SVt_PVCV Type flag for subroutines. See L</svtype>. =for apidoc AmnU||SVt_PVFM Type flag for formats. See L</svtype>. =for apidoc AmnU||SVt_PVIO Type flag for I/O objects. See L</svtype>. =cut These are ordered so that the simpler types have a lower value; SvUPGRADE doesn't allow you to upgrade from a higher numbered type to a lower numbered one; also there is code that assumes that anything that has as a PV component has a type numbered >= SVt_PV. */ typedef enum { SVt_NULL, /* 0 */ /* BIND was here, before INVLIST replaced it. */ SVt_IV, /* 1 */ SVt_NV, /* 2 */ /* RV was here, before it was merged with IV. */ SVt_PV, /* 3 */ SVt_INVLIST, /* 4, implemented as a PV */ SVt_PVIV, /* 5 */ SVt_PVNV, /* 6 */ SVt_PVMG, /* 7 */ SVt_REGEXP, /* 8 */ /* PVBM was here, before BIND replaced it. */ SVt_PVGV, /* 9 */ SVt_PVLV, /* 10 */ SVt_PVAV, /* 11 */ SVt_PVHV, /* 12 */ SVt_PVCV, /* 13 */ SVt_PVFM, /* 14 */ SVt_PVIO, /* 15 */ /* 16-31: Unused, though one should be reserved for a * freed sv, if the other 3 bits below the flags ones * get allocated */ SVt_LAST /* keep last in enum. used to size arrays */ } svtype; /* *** any alterations to the SV types above need to be reflected in * SVt_MASK and the various PL_valid_types_* tables. As of this writing those * tables are in perl.h. There are also two affected names tables in dump.c, * one in B.xs, and 'bodies_by_type[]' in sv.c. * * The bits that match 0xe0 are CURRENTLY UNUSED * The bits above that are for flags, like SVf_IOK */ #define SVt_MASK 0x1f /* smallest bitmask that covers all types */ #ifndef PERL_CORE /* Fast Boyer Moore tables are now stored in magic attached to PVMGs */ # define SVt_PVBM SVt_PVMG /* Anything wanting to create a reference from clean should ensure that it has a scalar of type SVt_IV now: */ # define SVt_RV SVt_IV #endif /* There is collusion here with sv_clear - sv_clear exits early for SVt_NULL so never reaches the clause at the end that uses sv_type_details->body_size to determine whether to call safefree(). Hence body_size can be set non-zero to record the size of HEs, without fear of bogus frees. */ #if defined(PERL_IN_HV_C) || defined(PERL_IN_XS_APITEST) #define HE_SVSLOT SVt_NULL #endif #ifdef PERL_IN_SV_C # define SVt_FIRST SVt_NULL /* the type of SV that new_SV() in sv.c returns */ #endif #define PERL_ARENA_ROOTS_SIZE (SVt_LAST) /* typedefs to eliminate some typing */ typedef struct he HE; typedef struct hek HEK; /* Using C's structural equivalence to help emulate C++ inheritance here... */ /* start with 2 sv-head building blocks */ #define _SV_HEAD(ptrtype) \ ptrtype sv_any; /* pointer to body */ \ U32 sv_refcnt; /* how many references to us */ \ U32 sv_flags /* what we are */ #if NVSIZE <= IVSIZE # define _NV_BODYLESS_UNION NV svu_nv; #else # define _NV_BODYLESS_UNION #endif #define _SV_HEAD_UNION \ union { \ char* svu_pv; /* pointer to malloced string */ \ IV svu_iv; \ UV svu_uv; \ _NV_BODYLESS_UNION \ SV* svu_rv; /* pointer to another SV */ \ SV** svu_array; \ HE** svu_hash; \ GP* svu_gp; \ PerlIO *svu_fp; \ } sv_u \ _SV_HEAD_DEBUG #ifdef DEBUG_LEAKING_SCALARS #define _SV_HEAD_DEBUG ;\ PERL_BITFIELD32 sv_debug_optype:9; /* the type of OP that allocated us */ \ PERL_BITFIELD32 sv_debug_inpad:1; /* was allocated in a pad for an OP */ \ PERL_BITFIELD32 sv_debug_line:16; /* the line where we were allocated */ \ UV sv_debug_serial; /* serial number of sv allocation */ \ char * sv_debug_file; /* the file where we were allocated */ \ SV * sv_debug_parent /* what we were cloned from (ithreads)*/ #else #define _SV_HEAD_DEBUG #endif struct STRUCT_SV { /* struct sv { */ _SV_HEAD(void*); _SV_HEAD_UNION; }; struct gv { _SV_HEAD(XPVGV*); /* pointer to xpvgv body */ _SV_HEAD_UNION; }; struct cv { _SV_HEAD(XPVCV*); /* pointer to xpvcv body */ _SV_HEAD_UNION; }; struct av { _SV_HEAD(XPVAV*); /* pointer to xpvav body */ _SV_HEAD_UNION; }; struct hv { _SV_HEAD(XPVHV*); /* pointer to xpvhv body */ _SV_HEAD_UNION; }; struct io { _SV_HEAD(XPVIO*); /* pointer to xpvio body */ _SV_HEAD_UNION; }; struct p5rx { _SV_HEAD(struct regexp*); /* pointer to regexp body */ _SV_HEAD_UNION; }; #undef _SV_HEAD #undef _SV_HEAD_UNION /* ensure no pollution */ /* =head1 SV Manipulation Functions =for apidoc Am|U32|SvREFCNT|SV* sv Returns the value of the object's reference count. Exposed to perl code via Internals::SvREFCNT(). =for apidoc SvREFCNT_inc Increments the reference count of the given SV, returning the SV. All of the following C<SvREFCNT_inc>* are optimized versions of C<SvREFCNT_inc>, and can be replaced with C<SvREFCNT_inc>. =for apidoc SvREFCNT_inc_NN Same as C<SvREFCNT_inc>, but can only be used if you know C<sv> is not C<NULL>. Since we don't have to check the NULLness, it's faster and smaller. =for apidoc SvREFCNT_inc_void Same as C<SvREFCNT_inc>, but can only be used if you don't need the return value. The macro doesn't need to return a meaningful value. =for apidoc Am|void|SvREFCNT_inc_void_NN|SV* sv Same as C<SvREFCNT_inc>, but can only be used if you don't need the return value, and you know that C<sv> is not C<NULL>. The macro doesn't need to return a meaningful value, or check for NULLness, so it's smaller and faster. =for apidoc Am|SV*|SvREFCNT_inc_simple|SV* sv Same as C<SvREFCNT_inc>, but can only be used with expressions without side effects. Since we don't have to store a temporary value, it's faster. =for apidoc Am|SV*|SvREFCNT_inc_simple_NN|SV* sv Same as C<SvREFCNT_inc_simple>, but can only be used if you know C<sv> is not C<NULL>. Since we don't have to check the NULLness, it's faster and smaller. =for apidoc Am|void|SvREFCNT_inc_simple_void|SV* sv Same as C<SvREFCNT_inc_simple>, but can only be used if you don't need the return value. The macro doesn't need to return a meaningful value. =for apidoc Am|void|SvREFCNT_inc_simple_void_NN|SV* sv Same as C<SvREFCNT_inc>, but can only be used if you don't need the return value, and you know that C<sv> is not C<NULL>. The macro doesn't need to return a meaningful value, or check for NULLness, so it's smaller and faster. =for apidoc SvREFCNT_dec Decrements the reference count of the given SV. C<sv> may be C<NULL>. =for apidoc SvREFCNT_dec_NN Same as C<SvREFCNT_dec>, but can only be used if you know C<sv> is not C<NULL>. Since we don't have to check the NULLness, it's faster and smaller. =for apidoc Am|svtype|SvTYPE|SV* sv Returns the type of the SV. See C<L</svtype>>. =for apidoc Am|void|SvUPGRADE|SV* sv|svtype type Used to upgrade an SV to a more complex form. Uses C<sv_upgrade> to perform the upgrade if necessary. See C<L</svtype>>. =cut */ #define SvANY(sv) (sv)->sv_any #define SvFLAGS(sv) (sv)->sv_flags #define SvREFCNT(sv) (sv)->sv_refcnt #define SvREFCNT_inc(sv) Perl_SvREFCNT_inc(MUTABLE_SV(sv)) #define SvREFCNT_inc_simple(sv) SvREFCNT_inc(sv) #define SvREFCNT_inc_NN(sv) Perl_SvREFCNT_inc_NN(MUTABLE_SV(sv)) #define SvREFCNT_inc_void(sv) Perl_SvREFCNT_inc_void(MUTABLE_SV(sv)) /* These guys don't need the curly blocks */ #define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END #define SvREFCNT_inc_simple_NN(sv) (++(SvREFCNT(sv)),MUTABLE_SV(sv)) #define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) #define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) #define SvREFCNT_dec(sv) Perl_SvREFCNT_dec(aTHX_ MUTABLE_SV(sv)) #define SvREFCNT_dec_NN(sv) Perl_SvREFCNT_dec_NN(aTHX_ MUTABLE_SV(sv)) #define SVTYPEMASK 0xff #define SvTYPE(sv) ((svtype)((sv)->sv_flags & SVTYPEMASK)) /* Sadly there are some parts of the core that have pointers to already-freed SV heads, and rely on being able to tell that they are now free. So mark them all by using a consistent macro. */ #define SvIS_FREED(sv) UNLIKELY(((sv)->sv_flags == SVTYPEMASK)) /* this is defined in this peculiar way to avoid compiler warnings. * See the <20121213131428.GD1842@iabyn.com> thread in p5p */ #define SvUPGRADE(sv, mt) \ ((void)(SvTYPE(sv) >= (mt) || (sv_upgrade(sv, mt),1))) #define SVf_IOK 0x00000100 /* has valid public integer value */ #define SVf_NOK 0x00000200 /* has valid public numeric value */ #define SVf_POK 0x00000400 /* has valid public pointer value */ #define SVf_ROK 0x00000800 /* has a valid reference pointer */ #define SVp_IOK 0x00001000 /* has valid non-public integer value */ #define SVp_NOK 0x00002000 /* has valid non-public numeric value */ #define SVp_POK 0x00004000 /* has valid non-public pointer value */ #define SVp_SCREAM 0x00008000 /* currently unused on plain scalars */ #define SVphv_CLONEABLE SVp_SCREAM /* PVHV (stashes) clone its objects */ #define SVpgv_GP SVp_SCREAM /* GV has a valid GP */ #define SVprv_PCS_IMPORTED SVp_SCREAM /* RV is a proxy for a constant subroutine in another package. Set the GvIMPORTED_CV_on() if it needs to be expanded to a real GV */ /* SVf_PROTECT is what SVf_READONLY should have been: i.e. modifying * this SV is completely illegal. However, SVf_READONLY (via * Internals::SvREADONLY()) has come to be seen as a flag that can be * temporarily set and unset by the user to indicate e.g. whether a hash * is "locked". Now, Hash::Util et al only set SVf_READONLY, while core * sets both (SVf_READONLY|SVf_PROTECT) to indicate both to core and user * code that this SV should not be messed with. */ #define SVf_PROTECT 0x00010000 /* very read-only */ #define SVs_PADTMP 0x00020000 /* in use as tmp */ #define SVs_PADSTALE 0x00040000 /* lexical has gone out of scope; only used when !PADTMP */ #define SVs_TEMP 0x00080000 /* mortal (implies string is stealable) */ #define SVs_OBJECT 0x00100000 /* is "blessed" */ #define SVs_GMG 0x00200000 /* has magical get method */ #define SVs_SMG 0x00400000 /* has magical set method */ #define SVs_RMG 0x00800000 /* has random magical methods */ #define SVf_FAKE 0x01000000 /* 0: glob is just a copy 1: SV head arena wasn't malloc()ed 2: For PVCV, whether CvUNIQUE(cv) refers to an eval or once only [CvEVAL(cv), CvSPECIAL(cv)] 3: HV: informally reserved by DAPM for vtables 4: Together with other flags (or lack thereof) indicates a regex, including PVLV-as-regex. See isREGEXP(). */ #define SVf_OOK 0x02000000 /* has valid offset value. For a PVHV this means that a hv_aux struct is present after the main array */ #define SVf_BREAK 0x04000000 /* refcnt is artificially low - used by SVs in final arena cleanup. Set in S_regtry on PL_reg_curpm, so that perl_destruct will skip it. Used for mark and sweep by OP_AASSIGN */ #define SVf_READONLY 0x08000000 /* may not be modified */ #define SVf_THINKFIRST (SVf_READONLY|SVf_PROTECT|SVf_ROK|SVf_FAKE \ |SVs_RMG|SVf_IsCOW) #define SVf_OK (SVf_IOK|SVf_NOK|SVf_POK|SVf_ROK| \ SVp_IOK|SVp_NOK|SVp_POK|SVpgv_GP) #define PRIVSHIFT 4 /* (SVp_?OK >> PRIVSHIFT) == SVf_?OK */ /* SVf_AMAGIC means that the stash *may* have overload methods. It's * set each time a function is compiled into a stash, and is reset by the * overload code when called for the first time and finds that there are * no overload methods. Note that this used to be set on the object; but * is now only set on stashes. */ #define SVf_AMAGIC 0x10000000 /* has magical overloaded methods */ #define SVf_IsCOW 0x10000000 /* copy on write (shared hash key if SvLEN == 0) */ /* Ensure this value does not clash with the GV_ADD* flags in gv.h, or the CV_CKPROTO_* flags in op.c, or the padadd_* flags in pad.h: */ #define SVf_UTF8 0x20000000 /* SvPV is UTF-8 encoded This is also set on RVs whose overloaded stringification is UTF-8. This might only happen as a side effect of SvPV() */ /* PVHV */ #define SVphv_SHAREKEYS 0x20000000 /* PVHV keys live on shared string table */ /* PVAV could probably use 0x2000000 without conflict. I assume that PVFM can be UTF-8 encoded, and PVCVs could well have UTF-8 prototypes. PVIOs haven't been restructured, so sometimes get used as string buffers. */ /* Some private flags. */ /* PVAV */ #define SVpav_REAL 0x40000000 /* free old entries */ /* PVHV */ #define SVphv_LAZYDEL 0x40000000 /* entry in xhv_eiter must be deleted */ /* IV, PVIV, PVNV, PVMG, PVGV and (I assume) PVLV */ #define SVf_IVisUV 0x80000000 /* use XPVUV instead of XPVIV */ /* PVAV */ #define SVpav_REIFY 0x80000000 /* can become real */ /* PVHV */ #define SVphv_HASKFLAGS 0x80000000 /* keys have flag byte after hash */ /* RV upwards. However, SVf_ROK and SVp_IOK are exclusive */ #define SVprv_WEAKREF 0x80000000 /* Weak reference */ /* pad name vars only */ #define _XPV_HEAD \ HV* xmg_stash; /* class package */ \ union _xmgu xmg_u; \ STRLEN xpv_cur; /* length of svu_pv as a C string */ \ union { \ STRLEN xpvlenu_len; /* allocated size */ \ struct regexp* xpvlenu_rx; /* regex when SV body is XPVLV */ \ } xpv_len_u #define xpv_len xpv_len_u.xpvlenu_len union _xnvu { NV xnv_nv; /* numeric value, if any */ HV * xgv_stash; line_t xnv_lines; /* used internally by S_scan_subst() */ bool xnv_bm_tail; /* an SvVALID (BM) SV has an implicit "\n" */ }; union _xivu { IV xivu_iv; /* integer value */ UV xivu_uv; HEK * xivu_namehek; /* xpvlv, xpvgv: GvNAME */ bool xivu_eval_seen; /* used internally by S_scan_subst() */ }; union _xmgu { MAGIC* xmg_magic; /* linked list of magicalness */ STRLEN xmg_hash_index; /* used while freeing hash entries */ }; struct xpv { _XPV_HEAD; }; struct xpviv { _XPV_HEAD; union _xivu xiv_u; }; #define xiv_iv xiv_u.xivu_iv struct xpvuv { _XPV_HEAD; union _xivu xuv_u; }; #define xuv_uv xuv_u.xivu_uv struct xpvnv { _XPV_HEAD; union _xivu xiv_u; union _xnvu xnv_u; }; /* This structure must match the beginning of struct xpvhv in hv.h. */ struct xpvmg { _XPV_HEAD; union _xivu xiv_u; union _xnvu xnv_u; }; struct xpvlv { _XPV_HEAD; union _xivu xiv_u; union _xnvu xnv_u; union { STRLEN xlvu_targoff; SSize_t xlvu_stargoff; } xlv_targoff_u; STRLEN xlv_targlen; SV* xlv_targ; char xlv_type; /* k=keys .=pos x=substr v=vec /=join/re * y=alem/helem/iter t=tie T=tied HE */ char xlv_flags; /* 1 = negative offset 2 = negative len 4 = out of range (vec) */ }; #define xlv_targoff xlv_targoff_u.xlvu_targoff struct xpvinvlist { _XPV_HEAD; IV prev_index; /* caches result of previous invlist_search() */ STRLEN iterator; /* Stores where we are in iterating */ bool is_offset; /* The data structure for all inversion lists begins with an element for code point U+0000. If this bool is set, the actual list contains that 0; otherwise, the list actually begins with the following element. Thus to invert the list, merely toggle this flag */ }; /* This structure works in 2 ways - regular scalar, or GV with GP */ struct xpvgv { _XPV_HEAD; union _xivu xiv_u; union _xnvu xnv_u; }; typedef U32 cv_flags_t; #define _XPVCV_COMMON \ HV * xcv_stash; \ union { \ OP * xcv_start; \ ANY xcv_xsubany; \ } xcv_start_u; \ union { \ OP * xcv_root; \ void (*xcv_xsub) (pTHX_ CV*); \ } xcv_root_u; \ union { \ GV * xcv_gv; \ HEK * xcv_hek; \ } xcv_gv_u; \ char * xcv_file; \ union { \ PADLIST * xcv_padlist; \ void * xcv_hscxt; \ } xcv_padlist_u; \ CV * xcv_outside; \ U32 xcv_outside_seq; /* the COP sequence (at the point of our \ * compilation) in the lexically enclosing \ * sub */ \ cv_flags_t xcv_flags; \ I32 xcv_depth /* >= 2 indicates recursive call */ /* This structure must match XPVCV in cv.h */ struct xpvfm { _XPV_HEAD; _XPVCV_COMMON; }; struct xpvio { _XPV_HEAD; union _xivu xiv_u; /* ifp and ofp are normally the same, but sockets need separate streams */ PerlIO * xio_ofp; /* Cray addresses everything by word boundaries (64 bits) and * code and data pointers cannot be mixed (which is exactly what * Perl_filter_add() tries to do with the dirp), hence the * following union trick (as suggested by Gurusamy Sarathy). * For further information see Geir Johansen's problem report * titled [ID 20000612.002 (#3366)] Perl problem on Cray system * The any pointer (known as IoANY()) will also be a good place * to hang any IO disciplines to. */ union { DIR * xiou_dirp; /* for opendir, readdir, etc */ void * xiou_any; /* for alignment */ } xio_dirpu; /* IV xio_lines is now in IVX $. */ IV xio_page; /* $% */ IV xio_page_len; /* $= */ IV xio_lines_left; /* $- */ char * xio_top_name; /* $^ */ GV * xio_top_gv; /* $^ */ char * xio_fmt_name; /* $~ */ GV * xio_fmt_gv; /* $~ */ char * xio_bottom_name;/* $^B */ GV * xio_bottom_gv; /* $^B */ char xio_type; U8 xio_flags; }; #define xio_dirp xio_dirpu.xiou_dirp #define xio_any xio_dirpu.xiou_any #define IOf_ARGV 1 /* this fp iterates over ARGV */ #define IOf_START 2 /* check for null ARGV and substitute '-' */ #define IOf_FLUSH 4 /* this fp wants a flush after write op */ #define IOf_DIDTOP 8 /* just did top of form */ #define IOf_UNTAINT 16 /* consider this fp (and its data) "safe" */ #define IOf_NOLINE 32 /* slurped a pseudo-line from empty file */ #define IOf_FAKE_DIRP 64 /* xio_dirp is fake (source filters kludge) Also, when this is set, SvPVX() is valid */ /* The following macros define implementation-independent predicates on SVs. */ /* =for apidoc Am|U32|SvNIOK|SV* sv Returns a U32 value indicating whether the SV contains a number, integer or double. =for apidoc Am|U32|SvNIOKp|SV* sv Returns a U32 value indicating whether the SV contains a number, integer or double. Checks the B<private> setting. Use C<SvNIOK> instead. =for apidoc Am|void|SvNIOK_off|SV* sv Unsets the NV/IV status of an SV. =for apidoc Am|U32|SvOK|SV* sv Returns a U32 value indicating whether the value is defined. This is only meaningful for scalars. =for apidoc Am|U32|SvIOKp|SV* sv Returns a U32 value indicating whether the SV contains an integer. Checks the B<private> setting. Use C<SvIOK> instead. =for apidoc Am|U32|SvNOKp|SV* sv Returns a U32 value indicating whether the SV contains a double. Checks the B<private> setting. Use C<SvNOK> instead. =for apidoc Am|U32|SvPOKp|SV* sv Returns a U32 value indicating whether the SV contains a character string. Checks the B<private> setting. Use C<SvPOK> instead. =for apidoc Am|U32|SvIOK|SV* sv Returns a U32 value indicating whether the SV contains an integer. =for apidoc Am|void|SvIOK_on|SV* sv Tells an SV that it is an integer. =for apidoc Am|void|SvIOK_off|SV* sv Unsets the IV status of an SV. =for apidoc Am|void|SvIOK_only|SV* sv Tells an SV that it is an integer and disables all other C<OK> bits. =for apidoc Am|void|SvIOK_only_UV|SV* sv Tells an SV that it is an unsigned integer and disables all other C<OK> bits. =for apidoc Am|bool|SvIOK_UV|SV* sv Returns a boolean indicating whether the SV contains an integer that must be interpreted as unsigned. A non-negative integer whose value is within the range of both an IV and a UV may be flagged as either C<SvUOK> or C<SvIOK>. =for apidoc Am|bool|SvUOK|SV* sv Returns a boolean indicating whether the SV contains an integer that must be interpreted as unsigned. A non-negative integer whose value is within the range of both an IV and a UV may be flagged as either C<SvUOK> or C<SvIOK>. =for apidoc Am|bool|SvIOK_notUV|SV* sv Returns a boolean indicating whether the SV contains a signed integer. =for apidoc Am|U32|SvNOK|SV* sv Returns a U32 value indicating whether the SV contains a double. =for apidoc Am|void|SvNOK_on|SV* sv Tells an SV that it is a double. =for apidoc Am|void|SvNOK_off|SV* sv Unsets the NV status of an SV. =for apidoc Am|void|SvNOK_only|SV* sv Tells an SV that it is a double and disables all other OK bits. =for apidoc Am|U32|SvPOK|SV* sv Returns a U32 value indicating whether the SV contains a character string. =for apidoc Am|void|SvPOK_on|SV* sv Tells an SV that it is a string. =for apidoc Am|void|SvPOK_off|SV* sv Unsets the PV status of an SV. =for apidoc Am|void|SvPOK_only|SV* sv Tells an SV that it is a string and disables all other C<OK> bits. Will also turn off the UTF-8 status. =for apidoc Am|bool|SvVOK|SV* sv Returns a boolean indicating whether the SV contains a v-string. =for apidoc Am|U32|SvOOK|SV* sv Returns a U32 indicating whether the pointer to the string buffer is offset. This hack is used internally to speed up removal of characters from the beginning of a C<SvPV>. When C<SvOOK> is true, then the start of the allocated string buffer is actually C<SvOOK_offset()> bytes before C<SvPVX>. This offset used to be stored in C<SvIVX>, but is now stored within the spare part of the buffer. =for apidoc Am|U32|SvROK|SV* sv Tests if the SV is an RV. =for apidoc Am|void|SvROK_on|SV* sv Tells an SV that it is an RV. =for apidoc Am|void|SvROK_off|SV* sv Unsets the RV status of an SV. =for apidoc Am|SV*|SvRV|SV* sv Dereferences an RV to return the SV. =for apidoc Am|IV|SvIVX|SV* sv Returns the raw value in the SV's IV slot, without checks or conversions. Only use when you are sure C<SvIOK> is true. See also C<L</SvIV>>. =for apidoc Am|UV|SvUVX|SV* sv Returns the raw value in the SV's UV slot, without checks or conversions. Only use when you are sure C<SvIOK> is true. See also C<L</SvUV>>. =for apidoc AmD|UV|SvUVXx|SV* sv This is an unnecessary synonym for L</SvUVX> =for apidoc Am|NV|SvNVX|SV* sv Returns the raw value in the SV's NV slot, without checks or conversions. Only use when you are sure C<SvNOK> is true. See also C<L</SvNV>>. =for apidoc Am|char*|SvPVX|SV* sv Returns a pointer to the physical string in the SV. The SV must contain a string. Prior to 5.9.3 it is not safe to execute this macro unless the SV's type >= C<SVt_PV>. This is also used to store the name of an autoloaded subroutine in an XS AUTOLOAD routine. See L<perlguts/Autoloading with XSUBs>. =for apidoc Am|STRLEN|SvCUR|SV* sv Returns the length of the string which is in the SV. See C<L</SvLEN>>. =for apidoc Am|STRLEN|SvLEN|SV* sv Returns the size of the string buffer in the SV, not including any part attributable to C<SvOOK>. See C<L</SvCUR>>. =for apidoc Am|char*|SvEND|SV* sv Returns a pointer to the spot just after the last character in the string which is in the SV, where there is usually a trailing C<NUL> character (even though Perl scalars do not strictly require it). See C<L</SvCUR>>. Access the character as C<*(SvEND(sv))>. Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to unallocated memory. =for apidoc Am|HV*|SvSTASH|SV* sv Returns the stash of the SV. =for apidoc Am|void|SvIV_set|SV* sv|IV val Set the value of the IV pointer in sv to val. It is possible to perform the same function of this macro with an lvalue assignment to C<SvIVX>. With future Perls, however, it will be more efficient to use C<SvIV_set> instead of the lvalue assignment to C<SvIVX>. =for apidoc Am|void|SvNV_set|SV* sv|NV val Set the value of the NV pointer in C<sv> to val. See C<L</SvIV_set>>. =for apidoc Am|void|SvPV_set|SV* sv|char* val This is probably not what you want to use, you probably wanted L</sv_usepvn_flags> or L</sv_setpvn> or L</sv_setpvs>. Set the value of the PV pointer in C<sv> to the Perl allocated C<NUL>-terminated string C<val>. See also C<L</SvIV_set>>. Remember to free the previous PV buffer. There are many things to check. Beware that the existing pointer may be involved in copy-on-write or other mischief, so do C<SvOOK_off(sv)> and use C<sv_force_normal> or C<SvPV_force> (or check the C<SvIsCOW> flag) first to make sure this modification is safe. Then finally, if it is not a COW, call C<SvPV_free> to free the previous PV buffer. =for apidoc Am|void|SvUV_set|SV* sv|UV val Set the value of the UV pointer in C<sv> to val. See C<L</SvIV_set>>. =for apidoc Am|void|SvRV_set|SV* sv|SV* val Set the value of the RV pointer in C<sv> to val. See C<L</SvIV_set>>. =for apidoc Am|void|SvMAGIC_set|SV* sv|MAGIC* val Set the value of the MAGIC pointer in C<sv> to val. See C<L</SvIV_set>>. =for apidoc Am|void|SvSTASH_set|SV* sv|HV* val Set the value of the STASH pointer in C<sv> to val. See C<L</SvIV_set>>. =for apidoc Am|void|SvCUR_set|SV* sv|STRLEN len Set the current length of the string which is in the SV. See C<L</SvCUR>> and C<SvIV_set>>. =for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len Set the size of the string buffer for the SV. See C<L</SvLEN>>. =cut */ #define SvNIOK(sv) (SvFLAGS(sv) & (SVf_IOK|SVf_NOK)) #define SvNIOKp(sv) (SvFLAGS(sv) & (SVp_IOK|SVp_NOK)) #define SvNIOK_off(sv) (SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK| \ SVp_IOK|SVp_NOK|SVf_IVisUV)) #define assert_not_ROK(sv) assert_(!SvROK(sv) || !SvRV(sv)) #define assert_not_glob(sv) assert_(!isGV_with_GP(sv)) #define SvOK(sv) (SvFLAGS(sv) & SVf_OK) #define SvOK_off(sv) (assert_not_ROK(sv) assert_not_glob(sv) \ SvFLAGS(sv) &= ~(SVf_OK| \ SVf_IVisUV|SVf_UTF8), \ SvOOK_off(sv)) #define SvOK_off_exc_UV(sv) (assert_not_ROK(sv) \ SvFLAGS(sv) &= ~(SVf_OK| \ SVf_UTF8), \ SvOOK_off(sv)) #define SvOKp(sv) (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) #define SvIOKp(sv) (SvFLAGS(sv) & SVp_IOK) #define SvIOKp_on(sv) (assert_not_glob(sv) \ SvFLAGS(sv) |= SVp_IOK) #define SvNOKp(sv) (SvFLAGS(sv) & SVp_NOK) #define SvNOKp_on(sv) (assert_not_glob(sv) SvFLAGS(sv) |= SVp_NOK) #define SvPOKp(sv) (SvFLAGS(sv) & SVp_POK) #define SvPOKp_on(sv) (assert_not_ROK(sv) assert_not_glob(sv) \ SvFLAGS(sv) |= SVp_POK) #define SvIOK(sv) (SvFLAGS(sv) & SVf_IOK) #define SvIOK_on(sv) (assert_not_glob(sv) \ SvFLAGS(sv) |= (SVf_IOK|SVp_IOK)) #define SvIOK_off(sv) (SvFLAGS(sv) &= ~(SVf_IOK|SVp_IOK|SVf_IVisUV)) #define SvIOK_only(sv) (SvOK_off(sv), \ SvFLAGS(sv) |= (SVf_IOK|SVp_IOK)) #define SvIOK_only_UV(sv) (assert_not_glob(sv) SvOK_off_exc_UV(sv), \ SvFLAGS(sv) |= (SVf_IOK|SVp_IOK)) #define SvIOK_UV(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) \ == (SVf_IOK|SVf_IVisUV)) #define SvUOK(sv) SvIOK_UV(sv) #define SvIOK_notUV(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) \ == SVf_IOK) #define SvIsUV(sv) (SvFLAGS(sv) & SVf_IVisUV) #define SvIsUV_on(sv) (SvFLAGS(sv) |= SVf_IVisUV) #define SvIsUV_off(sv) (SvFLAGS(sv) &= ~SVf_IVisUV) #define SvNOK(sv) (SvFLAGS(sv) & SVf_NOK) #define SvNOK_on(sv) (assert_not_glob(sv) \ SvFLAGS(sv) |= (SVf_NOK|SVp_NOK)) #define SvNOK_off(sv) (SvFLAGS(sv) &= ~(SVf_NOK|SVp_NOK)) #define SvNOK_only(sv) (SvOK_off(sv), \ SvFLAGS(sv) |= (SVf_NOK|SVp_NOK)) /* =for apidoc Am|U32|SvUTF8|SV* sv Returns a U32 value indicating the UTF-8 status of an SV. If things are set-up properly, this indicates whether or not the SV contains UTF-8 encoded data. You should use this I<after> a call to C<SvPV()> or one of its variants, in case any call to string overloading updates the internal flag. If you want to take into account the L<bytes> pragma, use C<L</DO_UTF8>> instead. =for apidoc Am|void|SvUTF8_on|SV *sv Turn on the UTF-8 status of an SV (the data is not changed, just the flag). Do not use frivolously. =for apidoc Am|void|SvUTF8_off|SV *sv Unsets the UTF-8 status of an SV (the data is not changed, just the flag). Do not use frivolously. =for apidoc Am|void|SvPOK_only_UTF8|SV* sv Tells an SV that it is a string and disables all other C<OK> bits, and leaves the UTF-8 status as it was. =cut */ /* Ensure the return value of this macro does not clash with the GV_ADD* flags in gv.h: */ #define SvUTF8(sv) (SvFLAGS(sv) & SVf_UTF8) #define SvUTF8_on(sv) (SvFLAGS(sv) |= (SVf_UTF8)) #define SvUTF8_off(sv) (SvFLAGS(sv) &= ~(SVf_UTF8)) #define SvPOK(sv) (SvFLAGS(sv) & SVf_POK) #define SvPOK_on(sv) (assert_not_ROK(sv) assert_not_glob(sv) \ SvFLAGS(sv) |= (SVf_POK|SVp_POK)) #define SvPOK_off(sv) (SvFLAGS(sv) &= ~(SVf_POK|SVp_POK)) #define SvPOK_only(sv) (assert_not_ROK(sv) assert_not_glob(sv) \ SvFLAGS(sv) &= ~(SVf_OK| \ SVf_IVisUV|SVf_UTF8), \ SvFLAGS(sv) |= (SVf_POK|SVp_POK)) #define SvPOK_only_UTF8(sv) (assert_not_ROK(sv) assert_not_glob(sv) \ SvFLAGS(sv) &= ~(SVf_OK| \ SVf_IVisUV), \ SvFLAGS(sv) |= (SVf_POK|SVp_POK)) #define SvVOK(sv) (SvMAGICAL(sv) \ && mg_find(sv,PERL_MAGIC_vstring)) /* returns the vstring magic, if any */ #define SvVSTRING_mg(sv) (SvMAGICAL(sv) \ ? mg_find(sv,PERL_MAGIC_vstring) : NULL) #define SvOOK(sv) (SvFLAGS(sv) & SVf_OOK) #define SvOOK_on(sv) (SvFLAGS(sv) |= SVf_OOK) #define SvOOK_off(sv) ((void)(SvOOK(sv) && (sv_backoff(sv),0))) #define SvFAKE(sv) (SvFLAGS(sv) & SVf_FAKE) #define SvFAKE_on(sv) (SvFLAGS(sv) |= SVf_FAKE) #define SvFAKE_off(sv) (SvFLAGS(sv) &= ~SVf_FAKE) #define SvROK(sv) (SvFLAGS(sv) & SVf_ROK) #define SvROK_on(sv) (SvFLAGS(sv) |= SVf_ROK) #define SvROK_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK)) #define SvMAGICAL(sv) (SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) #define SvMAGICAL_on(sv) (SvFLAGS(sv) |= (SVs_GMG|SVs_SMG|SVs_RMG)) #define SvMAGICAL_off(sv) (SvFLAGS(sv) &= ~(SVs_GMG|SVs_SMG|SVs_RMG)) #define SvGMAGICAL(sv) (SvFLAGS(sv) & SVs_GMG) #define SvGMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_GMG) #define SvGMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_GMG) #define SvSMAGICAL(sv) (SvFLAGS(sv) & SVs_SMG) #define SvSMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_SMG) #define SvSMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_SMG) #define SvRMAGICAL(sv) (SvFLAGS(sv) & SVs_RMG) #define SvRMAGICAL_on(sv) (SvFLAGS(sv) |= SVs_RMG) #define SvRMAGICAL_off(sv) (SvFLAGS(sv) &= ~SVs_RMG) #define SvAMAGIC(sv) (SvROK(sv) && SvOBJECT(SvRV(sv)) && \ HvAMAGIC(SvSTASH(SvRV(sv)))) /* To be used on the stashes themselves: */ #define HvAMAGIC(hv) (SvFLAGS(hv) & SVf_AMAGIC) #define HvAMAGIC_on(hv) (SvFLAGS(hv) |= SVf_AMAGIC) #define HvAMAGIC_off(hv) (SvFLAGS(hv) &=~ SVf_AMAGIC) /* "nog" means "doesn't have get magic" */ #define SvPOK_nog(sv) ((SvFLAGS(sv) & (SVf_POK|SVs_GMG)) == SVf_POK) #define SvIOK_nog(sv) ((SvFLAGS(sv) & (SVf_IOK|SVs_GMG)) == SVf_IOK) #define SvUOK_nog(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV|SVs_GMG)) == (SVf_IOK|SVf_IVisUV)) #define SvNOK_nog(sv) ((SvFLAGS(sv) & (SVf_NOK|SVs_GMG)) == SVf_NOK) #define SvNIOK_nog(sv) (SvNIOK(sv) && !(SvFLAGS(sv) & SVs_GMG)) #define SvPOK_nogthink(sv) ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST|SVs_GMG)) == SVf_POK) #define SvIOK_nogthink(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_THINKFIRST|SVs_GMG)) == SVf_IOK) #define SvUOK_nogthink(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV|SVf_THINKFIRST|SVs_GMG)) == (SVf_IOK|SVf_IVisUV)) #define SvNOK_nogthink(sv) ((SvFLAGS(sv) & (SVf_NOK|SVf_THINKFIRST|SVs_GMG)) == SVf_NOK) #define SvNIOK_nogthink(sv) (SvNIOK(sv) && !(SvFLAGS(sv) & (SVf_THINKFIRST|SVs_GMG))) #define SvPOK_utf8_nog(sv) ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVs_GMG)) == (SVf_POK|SVf_UTF8)) #define SvPOK_utf8_nogthink(sv) ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST|SVs_GMG)) == (SVf_POK|SVf_UTF8)) #define SvPOK_byte_nog(sv) ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVs_GMG)) == SVf_POK) #define SvPOK_byte_nogthink(sv) ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST|SVs_GMG)) == SVf_POK) #define SvPOK_pure_nogthink(sv) \ ((SvFLAGS(sv) & (SVf_POK|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == SVf_POK) #define SvPOK_utf8_pure_nogthink(sv) \ ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == (SVf_POK|SVf_UTF8)) #define SvPOK_byte_pure_nogthink(sv) \ ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == SVf_POK) /* =for apidoc Am|U32|SvGAMAGIC|SV* sv Returns true if the SV has get magic or overloading. If either is true then the scalar is active data, and has the potential to return a new value every time it is accessed. Hence you must be careful to only read it once per user logical operation and work with that returned value. If neither is true then the scalar's value cannot change unless written to. =cut */ #define SvGAMAGIC(sv) (SvGMAGICAL(sv) || SvAMAGIC(sv)) #define Gv_AMG(stash) \ (HvNAME(stash) && Gv_AMupdate(stash,FALSE) \ ? 1 \ : (HvAMAGIC_off(stash), 0)) #define SvWEAKREF(sv) ((SvFLAGS(sv) & (SVf_ROK|SVprv_WEAKREF)) \ == (SVf_ROK|SVprv_WEAKREF)) #define SvWEAKREF_on(sv) (SvFLAGS(sv) |= (SVf_ROK|SVprv_WEAKREF)) #define SvWEAKREF_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK|SVprv_WEAKREF)) #define SvPCS_IMPORTED(sv) ((SvFLAGS(sv) & (SVf_ROK|SVprv_PCS_IMPORTED)) \ == (SVf_ROK|SVprv_PCS_IMPORTED)) #define SvPCS_IMPORTED_on(sv) (SvFLAGS(sv) |= (SVf_ROK|SVprv_PCS_IMPORTED)) #define SvPCS_IMPORTED_off(sv) (SvFLAGS(sv) &= ~(SVf_ROK|SVprv_PCS_IMPORTED)) /* =for apidoc m|U32|SvTHINKFIRST|SV *sv A quick flag check to see whether an C<sv> should be passed to C<sv_force_normal> to be "downgraded" before C<SvIVX> or C<SvPVX> can be modified directly. For example, if your scalar is a reference and you want to modify the C<SvIVX> slot, you can't just do C<SvROK_off>, as that will leak the referent. This is used internally by various sv-modifying functions, such as C<sv_setsv>, C<sv_setiv> and C<sv_pvn_force>. One case that this does not handle is a gv without SvFAKE set. After if (SvTHINKFIRST(gv)) sv_force_normal(gv); it will still be a gv. C<SvTHINKFIRST> sometimes produces false positives. In those cases C<sv_force_normal> does nothing. =cut */ #define SvTHINKFIRST(sv) (SvFLAGS(sv) & SVf_THINKFIRST) #define SVs_PADMY 0 #define SvPADMY(sv) !(SvFLAGS(sv) & SVs_PADTMP) #ifndef PERL_CORE # define SvPADMY_on(sv) SvPADTMP_off(sv) #endif #define SvPADTMP(sv) (SvFLAGS(sv) & (SVs_PADTMP)) #define SvPADSTALE(sv) (SvFLAGS(sv) & (SVs_PADSTALE)) #define SvPADTMP_on(sv) (SvFLAGS(sv) |= SVs_PADTMP) #define SvPADTMP_off(sv) (SvFLAGS(sv) &= ~SVs_PADTMP) #define SvPADSTALE_on(sv) Perl_SvPADSTALE_on(MUTABLE_SV(sv)) #define SvPADSTALE_off(sv) Perl_SvPADSTALE_off(MUTABLE_SV(sv)) #define SvTEMP(sv) (SvFLAGS(sv) & SVs_TEMP) #define SvTEMP_on(sv) (SvFLAGS(sv) |= SVs_TEMP) #define SvTEMP_off(sv) (SvFLAGS(sv) &= ~SVs_TEMP) #define SvOBJECT(sv) (SvFLAGS(sv) & SVs_OBJECT) #define SvOBJECT_on(sv) (SvFLAGS(sv) |= SVs_OBJECT) #define SvOBJECT_off(sv) (SvFLAGS(sv) &= ~SVs_OBJECT) /* =for apidoc Am|U32|SvREADONLY|SV* sv Returns true if the argument is readonly, otherwise returns false. Exposed to perl code via Internals::SvREADONLY(). =for apidoc Am|U32|SvREADONLY_on|SV* sv Mark an object as readonly. Exactly what this means depends on the object type. Exposed to perl code via Internals::SvREADONLY(). =for apidoc Am|U32|SvREADONLY_off|SV* sv Mark an object as not-readonly. Exactly what this mean depends on the object type. Exposed to perl code via Internals::SvREADONLY(). =cut */ #define SvREADONLY(sv) (SvFLAGS(sv) & (SVf_READONLY|SVf_PROTECT)) #ifdef PERL_CORE # define SvREADONLY_on(sv) (SvFLAGS(sv) |= (SVf_READONLY|SVf_PROTECT)) # define SvREADONLY_off(sv) (SvFLAGS(sv) &=~(SVf_READONLY|SVf_PROTECT)) #else # define SvREADONLY_on(sv) (SvFLAGS(sv) |= SVf_READONLY) # define SvREADONLY_off(sv) (SvFLAGS(sv) &= ~SVf_READONLY) #endif #define SvSCREAM(sv) ((SvFLAGS(sv) & (SVp_SCREAM|SVp_POK)) == (SVp_SCREAM|SVp_POK)) #define SvSCREAM_on(sv) (SvFLAGS(sv) |= SVp_SCREAM) #define SvSCREAM_off(sv) (SvFLAGS(sv) &= ~SVp_SCREAM) #ifndef PERL_CORE # define SvCOMPILED(sv) 0 # define SvCOMPILED_on(sv) # define SvCOMPILED_off(sv) #endif #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define SvTAIL(sv) ({ const SV *const _svtail = (const SV *)(sv); \ assert(SvTYPE(_svtail) != SVt_PVAV); \ assert(SvTYPE(_svtail) != SVt_PVHV); \ assert(!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))); \ assert(SvVALID(_svtail)); \ ((XPVNV*)SvANY(_svtail))->xnv_u.xnv_bm_tail; \ }) #else # define SvTAIL(_svtail) (((XPVNV*)SvANY(_svtail))->xnv_u.xnv_bm_tail) #endif /* Does the SV have a Boyer-Moore table attached as magic? * 'VALID' is a poor name, but is kept for historical reasons. */ #define SvVALID(_svvalid) ( \ SvPOKp(_svvalid) \ && SvSMAGICAL(_svvalid) \ && SvMAGIC(_svvalid) \ && (SvMAGIC(_svvalid)->mg_type == PERL_MAGIC_bm \ || mg_find(_svvalid, PERL_MAGIC_bm)) \ ) #define SvRVx(sv) SvRV(sv) #ifdef PERL_DEBUG_COW /* Need -0.0 for SvNVX to preserve IEEE FP "negative zero" because +0.0 + -0.0 => +0.0 but -0.0 + -0.0 => -0.0 */ # define SvIVX(sv) (0 + ((XPVIV*) SvANY(sv))->xiv_iv) # define SvUVX(sv) (0 + ((XPVUV*) SvANY(sv))->xuv_uv) # define SvNVX(sv) (-0.0 + ((XPVNV*) SvANY(sv))->xnv_u.xnv_nv) # define SvRV(sv) (0 + (sv)->sv_u.svu_rv) # define SvRV_const(sv) (0 + (sv)->sv_u.svu_rv) /* Don't test the core XS code yet. */ # if defined (PERL_CORE) && PERL_DEBUG_COW > 1 # define SvPVX(sv) (0 + (assert_(!SvREADONLY(sv)) (sv)->sv_u.svu_pv)) # else # define SvPVX(sv) SvPVX_mutable(sv) # endif # define SvCUR(sv) (0 + ((XPV*) SvANY(sv))->xpv_cur) # define SvLEN(sv) (0 + ((XPV*) SvANY(sv))->xpv_len) # define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur) # define SvMAGIC(sv) (0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*) SvANY(sv))->xmg_u.xmg_magic)) # define SvSTASH(sv) (0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*) SvANY(sv))->xmg_stash)) #else # ifdef PERL_CORE # define SvLEN(sv) (0 + ((XPV*) SvANY(sv))->xpv_len) # else # define SvLEN(sv) ((XPV*) SvANY(sv))->xpv_len # endif # define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur) # if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) /* These get expanded inside other macros that already use a variable _sv */ # define SvPVX(sv) \ (*({ SV *const _svpvx = MUTABLE_SV(sv); \ assert(PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]); \ assert(!isGV_with_GP(_svpvx)); \ assert(!(SvTYPE(_svpvx) == SVt_PVIO \ && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))); \ &((_svpvx)->sv_u.svu_pv); \ })) # ifdef PERL_CORE # define SvCUR(sv) \ ({ const SV *const _svcur = (const SV *)(sv); \ assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]); \ assert(!isGV_with_GP(_svcur)); \ assert(!(SvTYPE(_svcur) == SVt_PVIO \ && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \ (((XPV*) MUTABLE_PTR(SvANY(_svcur)))->xpv_cur); \ }) # else # define SvCUR(sv) \ (*({ const SV *const _svcur = (const SV *)(sv); \ assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]); \ assert(!isGV_with_GP(_svcur)); \ assert(!(SvTYPE(_svcur) == SVt_PVIO \ && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \ &(((XPV*) MUTABLE_PTR(SvANY(_svcur)))->xpv_cur); \ })) # endif # define SvIVX(sv) \ (*({ const SV *const _svivx = (const SV *)(sv); \ assert(PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]); \ assert(!isGV_with_GP(_svivx)); \ &(((XPVIV*) MUTABLE_PTR(SvANY(_svivx)))->xiv_iv); \ })) # define SvUVX(sv) \ (*({ const SV *const _svuvx = (const SV *)(sv); \ assert(PL_valid_types_IVX[SvTYPE(_svuvx) & SVt_MASK]); \ assert(!isGV_with_GP(_svuvx)); \ &(((XPVUV*) MUTABLE_PTR(SvANY(_svuvx)))->xuv_uv); \ })) # define SvNVX(sv) \ (*({ const SV *const _svnvx = (const SV *)(sv); \ assert(PL_valid_types_NVX[SvTYPE(_svnvx) & SVt_MASK]); \ assert(!isGV_with_GP(_svnvx)); \ &(((XPVNV*) MUTABLE_PTR(SvANY(_svnvx)))->xnv_u.xnv_nv); \ })) # define SvRV(sv) \ (*({ SV *const _svrv = MUTABLE_SV(sv); \ assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]); \ assert(!isGV_with_GP(_svrv)); \ assert(!(SvTYPE(_svrv) == SVt_PVIO \ && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \ &((_svrv)->sv_u.svu_rv); \ })) # define SvRV_const(sv) \ ({ const SV *const _svrv = (const SV *)(sv); \ assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]); \ assert(!isGV_with_GP(_svrv)); \ assert(!(SvTYPE(_svrv) == SVt_PVIO \ && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \ (_svrv)->sv_u.svu_rv; \ }) # define SvMAGIC(sv) \ (*({ const SV *const _svmagic = (const SV *)(sv); \ assert(SvTYPE(_svmagic) >= SVt_PVMG); \ &(((XPVMG*) MUTABLE_PTR(SvANY(_svmagic)))->xmg_u.xmg_magic); \ })) # define SvSTASH(sv) \ (*({ const SV *const _svstash = (const SV *)(sv); \ assert(SvTYPE(_svstash) >= SVt_PVMG); \ &(((XPVMG*) MUTABLE_PTR(SvANY(_svstash)))->xmg_stash); \ })) # else # define SvPVX(sv) ((sv)->sv_u.svu_pv) # define SvCUR(sv) ((XPV*) SvANY(sv))->xpv_cur # define SvIVX(sv) ((XPVIV*) SvANY(sv))->xiv_iv # define SvUVX(sv) ((XPVUV*) SvANY(sv))->xuv_uv # define SvNVX(sv) ((XPVNV*) SvANY(sv))->xnv_u.xnv_nv # define SvRV(sv) ((sv)->sv_u.svu_rv) # define SvRV_const(sv) (0 + (sv)->sv_u.svu_rv) # define SvMAGIC(sv) ((XPVMG*) SvANY(sv))->xmg_u.xmg_magic # define SvSTASH(sv) ((XPVMG*) SvANY(sv))->xmg_stash # endif #endif #ifndef PERL_POISON /* Given that these two are new, there can't be any existing code using them * as LVALUEs */ # define SvPVX_mutable(sv) (0 + (sv)->sv_u.svu_pv) # define SvPVX_const(sv) ((const char*)(0 + (sv)->sv_u.svu_pv)) #else /* Except for the poison code, which uses & to scribble over the pointer after free() is called. */ # define SvPVX_mutable(sv) ((sv)->sv_u.svu_pv) # define SvPVX_const(sv) ((const char*)((sv)->sv_u.svu_pv)) #endif #define SvIVXx(sv) SvIVX(sv) #define SvUVXx(sv) SvUVX(sv) #define SvNVXx(sv) SvNVX(sv) #define SvPVXx(sv) SvPVX(sv) #define SvLENx(sv) SvLEN(sv) #define SvENDx(sv) ((PL_Sv = (sv)), SvEND(PL_Sv)) /* Ask a scalar nicely to try to become an IV, if possible. Not guaranteed to stay returning void */ /* Macro won't actually call sv_2iv if already IOK */ #define SvIV_please(sv) \ STMT_START {if (!SvIOKp(sv) && (SvFLAGS(sv) & (SVf_NOK|SVf_POK))) \ (void) SvIV(sv); } STMT_END #define SvIV_please_nomg(sv) \ (!(SvFLAGS(sv) & (SVf_IOK|SVp_IOK)) && (SvFLAGS(sv) & (SVf_NOK|SVf_POK)) \ ? (sv_2iv_flags(sv, 0), SvIOK(sv)) \ : SvIOK(sv)) #define SvIV_set(sv, val) \ STMT_START { \ assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ (((XPVIV*) SvANY(sv))->xiv_iv = (val)); } STMT_END #define SvNV_set(sv, val) \ STMT_START { \ assert(PL_valid_types_NV_set[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END #define SvPV_set(sv, val) \ STMT_START { \ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ assert(!(SvTYPE(sv) == SVt_PVIO \ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \ ((sv)->sv_u.svu_pv = (val)); } STMT_END #define SvUV_set(sv, val) \ STMT_START { \ assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END #define SvRV_set(sv, val) \ STMT_START { \ assert(PL_valid_types_RV[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ assert(!(SvTYPE(sv) == SVt_PVIO \ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \ ((sv)->sv_u.svu_rv = (val)); } STMT_END #define SvMAGIC_set(sv, val) \ STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END #define SvSTASH_set(sv, val) \ STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \ (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END #define SvCUR_set(sv, val) \ STMT_START { \ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ assert(!(SvTYPE(sv) == SVt_PVIO \ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \ (((XPV*) SvANY(sv))->xpv_cur = (val)); } STMT_END #define SvLEN_set(sv, val) \ STMT_START { \ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \ assert(!isGV_with_GP(sv)); \ assert(!(SvTYPE(sv) == SVt_PVIO \ && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \ (((XPV*) SvANY(sv))->xpv_len = (val)); } STMT_END #define SvEND_set(sv, val) \ STMT_START { assert(SvTYPE(sv) >= SVt_PV); \ SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END #define SvPV_renew(sv,n) \ STMT_START { SvLEN_set(sv, n); \ SvPV_set((sv), (MEM_WRAP_CHECK_(n,char) \ (char*)saferealloc((Malloc_t)SvPVX(sv), \ (MEM_SIZE)((n))))); \ } STMT_END #define SvPV_shrink_to_cur(sv) STMT_START { \ const STRLEN _lEnGtH = SvCUR(sv) + 1; \ SvPV_renew(sv, _lEnGtH); \ } STMT_END #define SvPV_free(sv) \ STMT_START { \ assert(SvTYPE(sv) >= SVt_PV); \ if (SvLEN(sv)) { \ assert(!SvROK(sv)); \ if(UNLIKELY(SvOOK(sv))) { \ STRLEN zok; \ SvOOK_offset(sv, zok); \ SvPV_set(sv, SvPVX_mutable(sv) - zok); \ SvFLAGS(sv) &= ~SVf_OOK; \ } \ Safefree(SvPVX(sv)); \ } \ } STMT_END #ifdef PERL_CORE /* Code that crops up in three places to take a scalar and ready it to hold a reference */ # define prepare_SV_for_RV(sv) \ STMT_START { \ if (SvTYPE(sv) < SVt_PV && SvTYPE(sv) != SVt_IV) \ sv_upgrade(sv, SVt_IV); \ else if (SvTYPE(sv) >= SVt_PV) { \ SvPV_free(sv); \ SvLEN_set(sv, 0); \ SvCUR_set(sv, 0); \ } \ } STMT_END #endif #ifndef PERL_CORE # define BmFLAGS(sv) (SvTAIL(sv) ? FBMcf_TAIL : 0) #endif #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define BmUSEFUL(sv) \ (*({ SV *const _bmuseful = MUTABLE_SV(sv); \ assert(SvTYPE(_bmuseful) >= SVt_PVIV); \ assert(SvVALID(_bmuseful)); \ assert(!SvIOK(_bmuseful)); \ &(((XPVIV*) SvANY(_bmuseful))->xiv_u.xivu_iv); \ })) #else # define BmUSEFUL(sv) ((XPVIV*) SvANY(sv))->xiv_u.xivu_iv #endif #ifndef PERL_CORE # define BmRARE(sv) 0 # define BmPREVIOUS(sv) 0 #endif #define FmLINES(sv) ((XPVIV*) SvANY(sv))->xiv_iv #define LvTYPE(sv) ((XPVLV*) SvANY(sv))->xlv_type #define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ #define LvTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff #define LvSTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff_u.xlvu_stargoff #define LvTARGLEN(sv) ((XPVLV*) SvANY(sv))->xlv_targlen #define LvFLAGS(sv) ((XPVLV*) SvANY(sv))->xlv_flags #define LVf_NEG_OFF 0x1 #define LVf_NEG_LEN 0x2 #define LVf_OUT_OF_RANGE 0x4 #define IoIFP(sv) (sv)->sv_u.svu_fp #define IoOFP(sv) ((XPVIO*) SvANY(sv))->xio_ofp #define IoDIRP(sv) ((XPVIO*) SvANY(sv))->xio_dirp #define IoANY(sv) ((XPVIO*) SvANY(sv))->xio_any #define IoLINES(sv) ((XPVIO*) SvANY(sv))->xiv_u.xivu_iv #define IoPAGE(sv) ((XPVIO*) SvANY(sv))->xio_page #define IoPAGE_LEN(sv) ((XPVIO*) SvANY(sv))->xio_page_len #define IoLINES_LEFT(sv)((XPVIO*) SvANY(sv))->xio_lines_left #define IoTOP_NAME(sv) ((XPVIO*) SvANY(sv))->xio_top_name #define IoTOP_GV(sv) ((XPVIO*) SvANY(sv))->xio_top_gv #define IoFMT_NAME(sv) ((XPVIO*) SvANY(sv))->xio_fmt_name #define IoFMT_GV(sv) ((XPVIO*) SvANY(sv))->xio_fmt_gv #define IoBOTTOM_NAME(sv)((XPVIO*) SvANY(sv))->xio_bottom_name #define IoBOTTOM_GV(sv) ((XPVIO*) SvANY(sv))->xio_bottom_gv #define IoTYPE(sv) ((XPVIO*) SvANY(sv))->xio_type #define IoFLAGS(sv) ((XPVIO*) SvANY(sv))->xio_flags /* IoTYPE(sv) is a single character telling the type of I/O connection. */ #define IoTYPE_RDONLY '<' #define IoTYPE_WRONLY '>' #define IoTYPE_RDWR '+' #define IoTYPE_APPEND 'a' #define IoTYPE_PIPE '|' #define IoTYPE_STD '-' /* stdin or stdout */ #define IoTYPE_SOCKET 's' #define IoTYPE_CLOSED ' ' #define IoTYPE_IMPLICIT 'I' /* stdin or stdout or stderr */ #define IoTYPE_NUMERIC '#' /* fdopen */ /* =for apidoc Am|bool|SvTAINTED|SV* sv Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if not. =for apidoc Am|void|SvTAINTED_on|SV* sv Marks an SV as tainted if tainting is enabled. =for apidoc Am|void|SvTAINTED_off|SV* sv Untaints an SV. Be I<very> careful with this routine, as it short-circuits some of Perl's fundamental security features. XS module authors should not use this function unless they fully understand all the implications of unconditionally untainting the value. Untainting should be done in the standard perl fashion, via a carefully crafted regexp, rather than directly untainting variables. =for apidoc Am|void|SvTAINT|SV* sv Taints an SV if tainting is enabled, and if some input to the current expression is tainted--usually a variable, but possibly also implicit inputs such as locale settings. C<SvTAINT> propagates that taintedness to the outputs of an expression in a pessimistic fashion; i.e., without paying attention to precisely which outputs are influenced by which inputs. =cut */ #define sv_taint(sv) sv_magic((sv), NULL, PERL_MAGIC_taint, NULL, 0) #ifdef NO_TAINT_SUPPORT # define SvTAINTED(sv) 0 #else # define SvTAINTED(sv) (SvMAGICAL(sv) && sv_tainted(sv)) #endif #define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END #define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END #define SvTAINT(sv) \ STMT_START { \ assert(TAINTING_get || !TAINT_get); \ if (UNLIKELY(TAINT_get)) \ SvTAINTED_on(sv); \ } STMT_END /* =for apidoc Am|char*|SvPV_force|SV* sv|STRLEN len Like C<SvPV> but will force the SV into containing a string (C<SvPOK>), and only a string (C<SvPOK_only>), by hook or by crook. You need force if you are going to update the C<SvPVX> directly. Processes get magic. Note that coercing an arbitrary scalar into a plain PV will potentially strip useful data from it. For example if the SV was C<SvROK>, then the referent will have its reference count decremented, and the SV itself may be converted to an C<SvPOK> scalar with a string buffer containing a value such as C<"ARRAY(0x1234)">. =for apidoc Am|char*|SvPV_force_nomg|SV* sv|STRLEN len Like C<SvPV_force>, but doesn't process get magic. =for apidoc Am|char*|SvPV|SV* sv|STRLEN len Returns a pointer to the string in the SV, or a stringified form of the SV if the SV does not contain a string. The SV may cache the stringified version becoming C<SvPOK>. Handles 'get' magic. The C<len> variable will be set to the length of the string (this is a macro, so don't use C<&len>). See also C<L</SvPVx>> for a version which guarantees to evaluate C<sv> only once. Note that there is no guarantee that the return value of C<SvPV()> is equal to C<SvPVX(sv)>, or that C<SvPVX(sv)> contains valid data, or that successive calls to C<SvPV(sv)> will return the same pointer value each time. This is due to the way that things like overloading and Copy-On-Write are handled. In these cases, the return value may point to a temporary buffer or similar. If you absolutely need the C<SvPVX> field to be valid (for example, if you intend to write to it), then see C<L</SvPV_force>>. =for apidoc Am|char*|SvPVx|SV* sv|STRLEN len A version of C<SvPV> which guarantees to evaluate C<sv> only once. Only use this if C<sv> is an expression with side effects, otherwise use the more efficient C<SvPV>. =for apidoc Am|char*|SvPV_nomg|SV* sv|STRLEN len Like C<SvPV> but doesn't process magic. =for apidoc Am|char*|SvPV_nolen|SV* sv Like C<SvPV> but doesn't set a length variable. =for apidoc Am|char*|SvPV_nomg_nolen|SV* sv Like C<SvPV_nolen> but doesn't process magic. =for apidoc Am|IV|SvIV|SV* sv Coerces the given SV to IV and returns it. The returned value in many circumstances will get stored in C<sv>'s IV slot, but not in all cases. (Use C<L</sv_setiv>> to make sure it does). See C<L</SvIVx>> for a version which guarantees to evaluate C<sv> only once. =for apidoc Am|IV|SvIV_nomg|SV* sv Like C<SvIV> but doesn't process magic. =for apidoc Am|IV|SvIVx|SV* sv Coerces the given SV to IV and returns it. The returned value in many circumstances will get stored in C<sv>'s IV slot, but not in all cases. (Use C<L</sv_setiv>> to make sure it does). This form guarantees to evaluate C<sv> only once. Only use this if C<sv> is an expression with side effects, otherwise use the more efficient C<SvIV>. =for apidoc Am|NV|SvNV|SV* sv Coerces the given SV to NV and returns it. The returned value in many circumstances will get stored in C<sv>'s NV slot, but not in all cases. (Use C<L</sv_setnv>> to make sure it does). See C<L</SvNVx>> for a version which guarantees to evaluate C<sv> only once. =for apidoc Am|NV|SvNV_nomg|SV* sv Like C<SvNV> but doesn't process magic. =for apidoc Am|NV|SvNVx|SV* sv Coerces the given SV to NV and returns it. The returned value in many circumstances will get stored in C<sv>'s NV slot, but not in all cases. (Use C<L</sv_setnv>> to make sure it does). This form guarantees to evaluate C<sv> only once. Only use this if C<sv> is an expression with side effects, otherwise use the more efficient C<SvNV>. =for apidoc Am|UV|SvUV|SV* sv Coerces the given SV to UV and returns it. The returned value in many circumstances will get stored in C<sv>'s UV slot, but not in all cases. (Use C<L</sv_setuv>> to make sure it does). See C<L</SvUVx>> for a version which guarantees to evaluate C<sv> only once. =for apidoc Am|UV|SvUV_nomg|SV* sv Like C<SvUV> but doesn't process magic. =for apidoc Am|UV|SvUVx|SV* sv Coerces the given SV to UV and returns it. The returned value in many circumstances will get stored in C<sv>'s UV slot, but not in all cases. (Use C<L</sv_setuv>> to make sure it does). This form guarantees to evaluate C<sv> only once. Only use this if C<sv> is an expression with side effects, otherwise use the more efficient C<SvUV>. =for apidoc Am|bool|SvTRUE|SV* sv Returns a boolean indicating whether Perl would evaluate the SV as true or false. See C<L</SvOK>> for a defined/undefined test. Handles 'get' magic unless the scalar is already C<SvPOK>, C<SvIOK> or C<SvNOK> (the public, not the private flags). See C<L</SvTRUEx>> for a version which guarantees to evaluate C<sv> only once. =for apidoc Am|bool|SvTRUE_nomg|SV* sv Returns a boolean indicating whether Perl would evaluate the SV as true or false. See C<L</SvOK>> for a defined/undefined test. Does not handle 'get' magic. =for apidoc Am|bool|SvTRUEx|SV* sv Returns a boolean indicating whether Perl would evaluate the SV as true or false. See C<L</SvOK>> for a defined/undefined test. Handles 'get' magic unless the scalar is already C<SvPOK>, C<SvIOK> or C<SvNOK> (the public, not the private flags). This form guarantees to evaluate C<sv> only once. Only use this if C<sv> is an expression with side effects, otherwise use the more efficient C<SvTRUE>. =for apidoc Am|char*|SvPVutf8_force|SV* sv|STRLEN len Like C<SvPV_force>, but converts C<sv> to UTF-8 first if necessary. =for apidoc Am|char*|SvPVutf8|SV* sv|STRLEN len Like C<SvPV>, but converts C<sv> to UTF-8 first if necessary. =for apidoc Am|char*|SvPVutf8_nomg|SV* sv|STRLEN len Like C<SvPVutf8>, but does not process get magic. =for apidoc Am|char*|SvPVutf8_or_null|SV* sv|STRLEN len Like C<SvPVutf8>, but when C<sv> is undef, returns C<NULL>. =for apidoc Am|char*|SvPVutf8_or_null_nomg|SV* sv|STRLEN len Like C<SvPVutf8_or_null>, but does not process get magic. =for apidoc Am|char*|SvPVutf8_nolen|SV* sv Like C<SvPV_nolen>, but converts C<sv> to UTF-8 first if necessary. =for apidoc Am|char*|SvPVbyte_force|SV* sv|STRLEN len Like C<SvPV_force>, but converts C<sv> to byte representation first if necessary. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVbyte|SV* sv|STRLEN len Like C<SvPV>, but converts C<sv> to byte representation first if necessary. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVbyte_nomg|SV* sv|STRLEN len Like C<SvPVbyte>, but does not process get magic. =for apidoc Am|char*|SvPVbyte_or_null|SV* sv|STRLEN len Like C<SvPVbyte>, but when C<sv> is undef, returns C<NULL>. =for apidoc Am|char*|SvPVbyte_or_null_nomg|SV* sv|STRLEN len Like C<SvPVbyte_or_null>, but does not process get magic. =for apidoc Am|char*|SvPVbyte_nolen|SV* sv Like C<SvPV_nolen>, but converts C<sv> to byte representation first if necessary. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVutf8x_force|SV* sv|STRLEN len Like C<SvPV_force>, but converts C<sv> to UTF-8 first if necessary. Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVutf8_force> otherwise. =for apidoc Am|char*|SvPVutf8x|SV* sv|STRLEN len Like C<SvPV>, but converts C<sv> to UTF-8 first if necessary. Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVutf8> otherwise. =for apidoc Am|char*|SvPVbytex_force|SV* sv|STRLEN len Like C<SvPV_force>, but converts C<sv> to byte representation first if necessary. Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVbyte_force> otherwise. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|char*|SvPVbytex|SV* sv|STRLEN len Like C<SvPV>, but converts C<sv> to byte representation first if necessary. Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVbyte> otherwise. If the SV cannot be downgraded from UTF-8, this croaks. =for apidoc Am|U32|SvIsCOW|SV* sv Returns a U32 value indicating whether the SV is Copy-On-Write (either shared hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for COW). =for apidoc Am|bool|SvIsCOW_shared_hash|SV* sv Returns a boolean indicating whether the SV is Copy-On-Write shared hash key scalar. =for apidoc Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len Like C<sv_catpvn> but doesn't process magic. =for apidoc Am|void|sv_catpv_nomg|SV* sv|const char* ptr Like C<sv_catpv> but doesn't process magic. =for apidoc Am|void|sv_setsv_nomg|SV* dsv|SV* ssv Like C<sv_setsv> but doesn't process magic. =for apidoc Am|void|sv_catsv_nomg|SV* dsv|SV* ssv Like C<sv_catsv> but doesn't process magic. =cut */ /* Let us hope that bitmaps for UV and IV are the same */ #define SvIV(sv) (SvIOK_nog(sv) ? SvIVX(sv) : sv_2iv(sv)) #define SvUV(sv) (SvUOK_nog(sv) ? SvUVX(sv) : sv_2uv(sv)) #define SvNV(sv) (SvNOK_nog(sv) ? SvNVX(sv) : sv_2nv(sv)) #define SvIV_nomg(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv_flags(sv, 0)) #define SvUV_nomg(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv_flags(sv, 0)) #define SvNV_nomg(sv) (SvNOK(sv) ? SvNVX(sv) : sv_2nv_flags(sv, 0)) /* ----*/ #define SvPV(sv, lp) SvPV_flags(sv, lp, SV_GMAGIC) #define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC) #define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC) #define SvPV_flags(sv, lp, flags) \ (SvPOK_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags)) #define SvPV_flags_const(sv, lp, flags) \ (SvPOK_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \ (const char*) sv_2pv_flags(sv, &lp, (flags|SV_CONST_RETURN))) #define SvPV_flags_const_nolen(sv, flags) \ (SvPOK_nog(sv) \ ? SvPVX_const(sv) : \ (const char*) sv_2pv_flags(sv, 0, (flags|SV_CONST_RETURN))) #define SvPV_flags_mutable(sv, lp, flags) \ (SvPOK_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \ sv_2pv_flags(sv, &lp, (flags|SV_MUTABLE_RETURN))) #define SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC) #define SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC) #define SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC) #define SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0) #define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0) #define SvPV_force_flags(sv, lp, flags) \ (SvPOK_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags)) #define SvPV_force_flags_nolen(sv, flags) \ (SvPOK_pure_nogthink(sv) \ ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags)) #define SvPV_force_flags_mutable(sv, lp, flags) \ (SvPOK_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \ : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN)) #define SvPV_nolen(sv) \ (SvPOK_nog(sv) \ ? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC)) /* "_nomg" in these defines means no mg_get() */ #define SvPV_nomg_nolen(sv) \ (SvPOK_nog(sv) \ ? SvPVX(sv) : sv_2pv_flags(sv, 0, 0)) #define SvPV_nolen_const(sv) \ (SvPOK_nog(sv) \ ? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN)) #define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0) #define SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0) #define SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0) /* ----*/ #define SvPVutf8(sv, lp) \ (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8(sv, &lp)) #define SvPVutf8_or_null(sv, lp) \ (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : (SvGETMAGIC(sv), SvOK(sv)) \ ? sv_2pvutf8_flags(sv, &lp, 0) : ((lp = 0), NULL)) #define SvPVutf8_nomg(sv, lp) \ (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8_flags(sv, &lp, 0)) #define SvPVutf8_or_null_nomg(sv, lp) \ (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : SvOK(sv) \ ? sv_2pvutf8_flags(sv, &lp, 0) : ((lp = 0), NULL)) #define SvPVutf8_force(sv, lp) \ (SvPOK_utf8_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvutf8n_force(sv, &lp)) #define SvPVutf8_nolen(sv) \ (SvPOK_utf8_nog(sv) \ ? SvPVX(sv) : sv_2pvutf8(sv, 0)) /* ----*/ #define SvPVbyte(sv, lp) \ (SvPOK_byte_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp)) #define SvPVbyte_or_null(sv, lp) \ (SvPOK_byte_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : (SvGETMAGIC(sv), SvOK(sv)) \ ? sv_2pvbyte_flags(sv, &lp, 0) : ((lp = 0), NULL)) #define SvPVbyte_nomg(sv, lp) \ (SvPOK_byte_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte_flags(sv, &lp, 0)) #define SvPVbyte_or_null_nomg(sv, lp) \ (SvPOK_utf8_nog(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : SvOK(sv) \ ? sv_2pvbyte_flags(sv, &lp, 0) : ((lp = 0), NULL)) #define SvPVbyte_force(sv, lp) \ (SvPOK_byte_pure_nogthink(sv) \ ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvbyten_force(sv, &lp)) #define SvPVbyte_nolen(sv) \ (SvPOK_byte_nog(sv) \ ? SvPVX(sv) : sv_2pvbyte(sv, 0)) /* define FOOx(): idempotent versions of FOO(). If possible, use a local * var to evaluate the arg once; failing that, use a global if possible; * failing that, call a function to do the work */ #define SvPVx_force(sv, lp) sv_pvn_force(sv, &lp) #define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp) #define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp) #define SvTRUE(sv) Perl_SvTRUE(aTHX_ sv) #define SvTRUE_nomg(sv) (LIKELY(sv) && SvTRUE_nomg_NN(sv)) #define SvTRUE_NN(sv) (SvGETMAGIC(sv), SvTRUE_nomg_NN(sv)) #define SvTRUE_nomg_NN(sv) (SvTRUE_common(sv, sv_2bool_nomg(sv))) #define SvTRUE_common(sv,fallback) ( \ SvIMMORTAL_INTERP(sv) \ ? SvIMMORTAL_TRUE(sv) \ : !SvOK(sv) \ ? 0 \ : SvPOK(sv) \ ? SvPVXtrue(sv) \ : SvIOK(sv) \ ? (SvIVX(sv) != 0 /* cast to bool */) \ : (SvROK(sv) && !( SvOBJECT(SvRV(sv)) \ && HvAMAGIC(SvSTASH(SvRV(sv))))) \ ? TRUE \ : (fallback)) #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define SvIVx(sv) ({SV *_sv = MUTABLE_SV(sv); SvIV(_sv); }) # define SvUVx(sv) ({SV *_sv = MUTABLE_SV(sv); SvUV(_sv); }) # define SvNVx(sv) ({SV *_sv = MUTABLE_SV(sv); SvNV(_sv); }) # define SvPVx(sv, lp) ({SV *_sv = (sv); SvPV(_sv, lp); }) # define SvPVx_const(sv, lp) ({SV *_sv = (sv); SvPV_const(_sv, lp); }) # define SvPVx_nolen(sv) ({SV *_sv = (sv); SvPV_nolen(_sv); }) # define SvPVx_nolen_const(sv) ({SV *_sv = (sv); SvPV_nolen_const(_sv); }) # define SvPVutf8x(sv, lp) ({SV *_sv = (sv); SvPVutf8(_sv, lp); }) # define SvPVbytex(sv, lp) ({SV *_sv = (sv); SvPVbyte(_sv, lp); }) # define SvPVbytex_nolen(sv) ({SV *_sv = (sv); SvPVbyte_nolen(_sv); }) # define SvTRUEx(sv) ({SV *_sv = (sv); SvTRUE(_sv); }) # define SvTRUEx_nomg(sv) ({SV *_sv = (sv); SvTRUE_nomg(_sv); }) #else /* __GNUC__ */ /* These inlined macros use globals, which will require a thread * declaration in user code, so we avoid them under threads */ # define SvIVx(sv) ((PL_Sv = (sv)), SvIV(PL_Sv)) # define SvUVx(sv) ((PL_Sv = (sv)), SvUV(PL_Sv)) # define SvNVx(sv) ((PL_Sv = (sv)), SvNV(PL_Sv)) # define SvPVx(sv, lp) ((PL_Sv = (sv)), SvPV(PL_Sv, lp)) # define SvPVx_const(sv, lp) ((PL_Sv = (sv)), SvPV_const(PL_Sv, lp)) # define SvPVx_nolen(sv) ((PL_Sv = (sv)), SvPV_nolen(PL_Sv)) # define SvPVx_nolen_const(sv) ((PL_Sv = (sv)), SvPV_nolen_const(PL_Sv)) # define SvPVutf8x(sv, lp) ((PL_Sv = (sv)), SvPVutf8(PL_Sv, lp)) # define SvPVbytex(sv, lp) ((PL_Sv = (sv)), SvPVbyte(PL_Sv, lp)) # define SvPVbytex_nolen(sv) ((PL_Sv = (sv)), SvPVbyte_nolen(PL_Sv)) # define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv)) # define SvTRUEx_nomg(sv) ((PL_Sv = (sv)), SvTRUE_nomg(PL_Sv)) #endif /* __GNU__ */ #define SvPVXtrue(sv) ( \ ((XPV*)SvANY((sv))) \ && ( \ ((XPV*)SvANY((sv)))->xpv_cur > 1 \ || ( \ ((XPV*)SvANY((sv)))->xpv_cur \ && *(sv)->sv_u.svu_pv != '0' \ ) \ ) \ ) #define SvIsCOW(sv) (SvFLAGS(sv) & SVf_IsCOW) #define SvIsCOW_on(sv) (SvFLAGS(sv) |= SVf_IsCOW) #define SvIsCOW_off(sv) (SvFLAGS(sv) &= ~SVf_IsCOW) #define SvIsCOW_shared_hash(sv) (SvIsCOW(sv) && SvLEN(sv) == 0) #define SvSHARED_HEK_FROM_PV(pvx) \ ((struct hek*)(pvx - STRUCT_OFFSET(struct hek, hek_key))) #define SvSHARED_HASH(sv) (0 + SvSHARED_HEK_FROM_PV(SvPVX_const(sv))->hek_hash) /* flag values for sv_*_flags functions */ #define SV_UTF8_NO_ENCODING 0 /* No longer used */ #define SV_IMMEDIATE_UNREF 1 #define SV_GMAGIC 2 #define SV_COW_DROP_PV 4 #define SV_NOSTEAL 16 #define SV_CONST_RETURN 32 #define SV_MUTABLE_RETURN 64 #define SV_SMAGIC 128 #define SV_HAS_TRAILING_NUL 256 #define SV_COW_SHARED_HASH_KEYS 512 /* This one is only enabled for PERL_OLD_COPY_ON_WRITE */ /* XXX This flag actually enabled for any COW. But it appears not to do anything. Can we just remove it? Or will it serve some future purpose. */ #define SV_COW_OTHER_PVS 1024 /* Make sv_2pv_flags return NULL if something is undefined. */ #define SV_UNDEF_RETURNS_NULL 2048 /* Tell sv_utf8_upgrade() to not check to see if an upgrade is really needed. * This is used when the caller has already determined it is, and avoids * redundant work */ #define SV_FORCE_UTF8_UPGRADE 4096 /* if (after resolving magic etc), the SV is found to be overloaded, * don't call the overload magic, just return as-is */ #define SV_SKIP_OVERLOAD 8192 #define SV_CATBYTES 16384 #define SV_CATUTF8 32768 /* The core is safe for this COW optimisation. XS code on CPAN may not be. So only default to doing the COW setup if we're in the core. */ #ifdef PERL_CORE # ifndef SV_DO_COW_SVSETSV # define SV_DO_COW_SVSETSV SV_COW_SHARED_HASH_KEYS|SV_COW_OTHER_PVS # endif #endif #ifndef SV_DO_COW_SVSETSV # define SV_DO_COW_SVSETSV 0 #endif #define sv_unref(sv) sv_unref_flags(sv, 0) #define sv_force_normal(sv) sv_force_normal_flags(sv, 0) #define sv_usepvn(sv, p, l) sv_usepvn_flags(sv, p, l, 0) #define sv_usepvn_mg(sv, p, l) sv_usepvn_flags(sv, p, l, SV_SMAGIC) /* We are about to replace the SV's current value. So if it's copy on write we need to normalise it. Use the SV_COW_DROP_PV flag hint to say that the value is about to get thrown away, so drop the PV rather than go to the effort of making a read-write copy only for it to get immediately discarded. */ #define SV_CHECK_THINKFIRST_COW_DROP(sv) if (SvTHINKFIRST(sv)) \ sv_force_normal_flags(sv, SV_COW_DROP_PV) #ifdef PERL_COPY_ON_WRITE # define SvCANCOW(sv) \ (SvIsCOW(sv) \ ? SvLEN(sv) ? CowREFCNT(sv) != SV_COW_REFCNT_MAX : 1 \ : (SvFLAGS(sv) & CAN_COW_MASK) == CAN_COW_FLAGS \ && SvCUR(sv)+1 < SvLEN(sv)) /* Note: To allow 256 COW "copies", a refcnt of 0 means 1. */ # define CowREFCNT(sv) (*(U8 *)(SvPVX(sv)+SvLEN(sv)-1)) # define SV_COW_REFCNT_MAX ((1 << sizeof(U8)*8) - 1) # define CAN_COW_MASK (SVf_POK|SVf_ROK|SVp_POK|SVf_FAKE| \ SVf_OOK|SVf_BREAK|SVf_READONLY|SVf_PROTECT) #endif #define CAN_COW_FLAGS (SVp_POK|SVf_POK) #define SV_CHECK_THINKFIRST(sv) if (SvTHINKFIRST(sv)) \ sv_force_normal_flags(sv, 0) /* all these 'functions' are now just macros */ #define sv_pv(sv) SvPV_nolen(sv) #define sv_pvutf8(sv) SvPVutf8_nolen(sv) #define sv_pvbyte(sv) SvPVbyte_nolen(sv) #define sv_pvn_force_nomg(sv, lp) sv_pvn_force_flags(sv, lp, 0) #define sv_utf8_upgrade_flags(sv, flags) sv_utf8_upgrade_flags_grow(sv, flags, 0) #define sv_utf8_upgrade_nomg(sv) sv_utf8_upgrade_flags(sv, 0) #define sv_utf8_downgrade(sv, fail_ok) sv_utf8_downgrade_flags(sv, fail_ok, SV_GMAGIC) #define sv_utf8_downgrade_nomg(sv, fail_ok) sv_utf8_downgrade_flags(sv, fail_ok, 0) #define sv_catpvn_nomg(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, 0) #define sv_catpv_nomg(dsv, sstr) sv_catpv_flags(dsv, sstr, 0) #define sv_setsv(dsv, ssv) \ sv_setsv_flags(dsv, ssv, SV_GMAGIC|SV_DO_COW_SVSETSV) #define sv_setsv_nomg(dsv, ssv) sv_setsv_flags(dsv, ssv, SV_DO_COW_SVSETSV) #define sv_catsv(dsv, ssv) sv_catsv_flags(dsv, ssv, SV_GMAGIC) #define sv_catsv_nomg(dsv, ssv) sv_catsv_flags(dsv, ssv, 0) #define sv_catsv_mg(dsv, ssv) sv_catsv_flags(dsv, ssv, SV_GMAGIC|SV_SMAGIC) #define sv_catpvn(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, SV_GMAGIC) #define sv_catpvn_mg(sv, sstr, slen) sv_catpvn_flags(sv, sstr, slen, SV_GMAGIC|SV_SMAGIC); #define sv_copypv(dsv, ssv) sv_copypv_flags(dsv, ssv, SV_GMAGIC) #define sv_copypv_nomg(dsv, ssv) sv_copypv_flags(dsv, ssv, 0) #define sv_2pv(sv, lp) sv_2pv_flags(sv, lp, SV_GMAGIC) #define sv_2pv_nolen(sv) sv_2pv(sv, 0) #define sv_2pvbyte(sv, lp) sv_2pvbyte_flags(sv, lp, SV_GMAGIC) #define sv_2pvbyte_nolen(sv) sv_2pvbyte(sv, 0) #define sv_2pvutf8(sv, lp) sv_2pvutf8_flags(sv, lp, SV_GMAGIC) #define sv_2pvutf8_nolen(sv) sv_2pvutf8(sv, 0) #define sv_2pv_nomg(sv, lp) sv_2pv_flags(sv, lp, 0) #define sv_pvn_force(sv, lp) sv_pvn_force_flags(sv, lp, SV_GMAGIC) #define sv_utf8_upgrade(sv) sv_utf8_upgrade_flags(sv, SV_GMAGIC) #define sv_2iv(sv) sv_2iv_flags(sv, SV_GMAGIC) #define sv_2uv(sv) sv_2uv_flags(sv, SV_GMAGIC) #define sv_2nv(sv) sv_2nv_flags(sv, SV_GMAGIC) #define sv_eq(sv1, sv2) sv_eq_flags(sv1, sv2, SV_GMAGIC) #define sv_cmp(sv1, sv2) sv_cmp_flags(sv1, sv2, SV_GMAGIC) #define sv_cmp_locale(sv1, sv2) sv_cmp_locale_flags(sv1, sv2, SV_GMAGIC) #define sv_collxfrm(sv, nxp) sv_cmp_flags(sv, nxp, SV_GMAGIC) #define sv_2bool(sv) sv_2bool_flags(sv, SV_GMAGIC) #define sv_2bool_nomg(sv) sv_2bool_flags(sv, 0) #define sv_insert(bigstr, offset, len, little, littlelen) \ Perl_sv_insert_flags(aTHX_ (bigstr),(offset), (len), (little), \ (littlelen), SV_GMAGIC) #define sv_mortalcopy(sv) \ Perl_sv_mortalcopy_flags(aTHX_ sv, SV_GMAGIC|SV_DO_COW_SVSETSV) #define sv_cathek(sv,hek) \ STMT_START { \ HEK * const bmxk = hek; \ sv_catpvn_flags(sv, HEK_KEY(bmxk), HEK_LEN(bmxk), \ HEK_UTF8(bmxk) ? SV_CATUTF8 : SV_CATBYTES); \ } STMT_END /* Should be named SvCatPVN_utf8_upgrade? */ #define sv_catpvn_nomg_utf8_upgrade(dsv, sstr, slen, nsv) \ STMT_START { \ if (!(nsv)) \ nsv = newSVpvn_flags(sstr, slen, SVs_TEMP); \ else \ sv_setpvn(nsv, sstr, slen); \ SvUTF8_off(nsv); \ sv_utf8_upgrade(nsv); \ sv_catsv_nomg(dsv, nsv); \ } STMT_END #define sv_catpvn_nomg_maybeutf8(dsv, sstr, slen, is_utf8) \ sv_catpvn_flags(dsv, sstr, slen, (is_utf8)?SV_CATUTF8:SV_CATBYTES) #if defined(PERL_CORE) || defined(PERL_EXT) # define sv_or_pv_len_utf8(sv, pv, bytelen) \ (SvGAMAGIC(sv) \ ? utf8_length((U8 *)(pv), (U8 *)(pv)+(bytelen)) \ : sv_len_utf8(sv)) #endif /* =for apidoc Am|SV*|newRV_inc|SV* sv Creates an RV wrapper for an SV. The reference count for the original SV is incremented. =cut */ #define newRV_inc(sv) newRV(sv) /* the following macros update any magic values this C<sv> is associated with */ /* =head1 Magical Functions =for apidoc Am|void|SvGETMAGIC|SV* sv Invokes C<mg_get> on an SV if it has 'get' magic. For example, this will call C<FETCH> on a tied variable. This macro evaluates its argument more than once. =for apidoc Am|void|SvSETMAGIC|SV* sv Invokes C<mg_set> on an SV if it has 'set' magic. This is necessary after modifying a scalar, in case it is a magical variable like C<$|> or a tied variable (it calls C<STORE>). This macro evaluates its argument more than once. =for apidoc Am|void|SvSetSV|SV* dsv|SV* ssv Calls C<sv_setsv> if C<dsv> is not the same as C<ssv>. May evaluate arguments more than once. Does not handle 'set' magic on the destination SV. =for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv Calls a non-destructive version of C<sv_setsv> if C<dsv> is not the same as C<ssv>. May evaluate arguments more than once. =for apidoc Am|void|SvSetMagicSV|SV* dsv|SV* ssv Like C<SvSetSV>, but does any set magic required afterwards. =for apidoc Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv Like C<SvSetSV_nosteal>, but does any set magic required afterwards. =for apidoc Am|void|SvSHARE|SV* sv Arranges for C<sv> to be shared between threads if a suitable module has been loaded. =for apidoc Am|void|SvLOCK|SV* sv Arranges for a mutual exclusion lock to be obtained on C<sv> if a suitable module has been loaded. =for apidoc Am|void|SvUNLOCK|SV* sv Releases a mutual exclusion lock on C<sv> if a suitable module has been loaded. =head1 SV Manipulation Functions =for apidoc Am|char *|SvGROW|SV* sv|STRLEN len Expands the character buffer in the SV so that it has room for the indicated number of bytes (remember to reserve space for an extra trailing C<NUL> character). Calls C<sv_grow> to perform the expansion if necessary. Returns a pointer to the character buffer. SV must be of type >= C<SVt_PV>. One alternative is to call C<sv_grow> if you are not sure of the type of SV. You might mistakenly think that C<len> is the number of bytes to add to the existing size, but instead it is the total size C<sv> should be. =for apidoc Am|char *|SvPVCLEAR|SV* sv Ensures that sv is a SVt_PV and that its SvCUR is 0, and that it is properly null terminated. Equivalent to sv_setpvs(""), but more efficient. =cut */ #define SvPVCLEAR(sv) sv_setpv_bufsize(sv,0,0) #define SvSHARE(sv) PL_sharehook(aTHX_ sv) #define SvLOCK(sv) PL_lockhook(aTHX_ sv) #define SvUNLOCK(sv) PL_unlockhook(aTHX_ sv) #define SvDESTROYABLE(sv) PL_destroyhook(aTHX_ sv) #define SvGETMAGIC(x) ((void)(UNLIKELY(SvGMAGICAL(x)) && mg_get(x))) #define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END #define SvSetSV_and(dst,src,finally) \ STMT_START { \ if (LIKELY((dst) != (src))) { \ sv_setsv(dst, src); \ finally; \ } \ } STMT_END #define SvSetSV_nosteal_and(dst,src,finally) \ STMT_START { \ if (LIKELY((dst) != (src))) { \ sv_setsv_flags(dst, src, SV_GMAGIC | SV_NOSTEAL | SV_DO_COW_SVSETSV); \ finally; \ } \ } STMT_END #define SvSetSV(dst,src) \ SvSetSV_and(dst,src,/*nothing*/;) #define SvSetSV_nosteal(dst,src) \ SvSetSV_nosteal_and(dst,src,/*nothing*/;) #define SvSetMagicSV(dst,src) \ SvSetSV_and(dst,src,SvSETMAGIC(dst)) #define SvSetMagicSV_nosteal(dst,src) \ SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst)) #if !defined(SKIP_DEBUGGING) #define SvPEEK(sv) sv_peek(sv) #else #define SvPEEK(sv) "" #endif /* Is this a per-interpreter immortal SV (rather than global)? * These should either occupy adjacent entries in the interpreter struct * (MULTIPLICITY) or adjacent elements of PL_sv_immortals[] otherwise. * The unsigned (Size_t) cast avoids the need for a second < 0 condition. */ #define SvIMMORTAL_INTERP(sv) ((Size_t)((sv) - &PL_sv_yes) < 4) /* Does this immortal have a true value? Currently only PL_sv_yes does. */ #define SvIMMORTAL_TRUE(sv) ((sv) == &PL_sv_yes) /* the SvREADONLY() test is to quickly reject most SVs */ #define SvIMMORTAL(sv) \ ( SvREADONLY(sv) \ && (SvIMMORTAL_INTERP(sv) || (sv) == &PL_sv_placeholder)) #ifdef DEBUGGING /* exercise the immortal resurrection code in sv_free2() */ # define SvREFCNT_IMMORTAL 1000 #else # define SvREFCNT_IMMORTAL ((~(U32)0)/2) #endif /* =for apidoc Am|SV *|boolSV|bool b Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0. See also C<L</PL_sv_yes>> and C<L</PL_sv_no>>. =cut */ #define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no) #define isGV(sv) (SvTYPE(sv) == SVt_PVGV) /* If I give every macro argument a different name, then there won't be bugs where nested macros get confused. Been there, done that. */ #define isGV_with_GP(pwadak) \ (((SvFLAGS(pwadak) & (SVp_POK|SVpgv_GP)) == SVpgv_GP) \ && (SvTYPE(pwadak) == SVt_PVGV || SvTYPE(pwadak) == SVt_PVLV)) #define isGV_with_GP_on(sv) STMT_START { \ assert (SvTYPE(sv) == SVt_PVGV || SvTYPE(sv) == SVt_PVLV); \ assert (!SvPOKp(sv)); \ assert (!SvIOKp(sv)); \ (SvFLAGS(sv) |= SVpgv_GP); \ } STMT_END #define isGV_with_GP_off(sv) STMT_START { \ assert (SvTYPE(sv) == SVt_PVGV || SvTYPE(sv) == SVt_PVLV); \ assert (!SvPOKp(sv)); \ assert (!SvIOKp(sv)); \ (SvFLAGS(sv) &= ~SVpgv_GP); \ } STMT_END #ifdef PERL_CORE # define isGV_or_RVCV(kadawp) \ (isGV(kadawp) || (SvROK(kadawp) && SvTYPE(SvRV(kadawp)) == SVt_PVCV)) #endif #define isREGEXP(sv) \ (SvTYPE(sv) == SVt_REGEXP \ || (SvFLAGS(sv) & (SVTYPEMASK|SVpgv_GP|SVf_FAKE)) \ == (SVt_PVLV|SVf_FAKE)) #ifdef PERL_ANY_COW # define SvGROW(sv,len) \ (SvIsCOW(sv) || SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv)) #else # define SvGROW(sv,len) (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv)) #endif #define SvGROW_mutable(sv,len) \ (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX_mutable(sv)) #define Sv_Grow sv_grow #define CLONEf_COPY_STACKS 1 #define CLONEf_KEEP_PTR_TABLE 2 #define CLONEf_CLONE_HOST 4 #define CLONEf_JOIN_IN 8 struct clone_params { AV* stashes; UV flags; PerlInterpreter *proto_perl; PerlInterpreter *new_perl; AV *unreferenced; }; /* SV_NOSTEAL prevents TEMP buffers being, well, stolen, and saves games with SvTEMP_off and SvTEMP_on round a call to sv_setsv. */ #define newSVsv(sv) newSVsv_flags((sv), SV_GMAGIC|SV_NOSTEAL) #define newSVsv_nomg(sv) newSVsv_flags((sv), SV_NOSTEAL) /* =for apidoc Am|SV*|newSVpvn_utf8|const char* s|STRLEN len|U32 utf8 Creates a new SV and copies a string (which may contain C<NUL> (C<\0>) characters) into it. If C<utf8> is true, calls C<SvUTF8_on> on the new SV. Implemented as a wrapper around C<newSVpvn_flags>. =cut */ #define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0) /* =for apidoc Amx|SV*|newSVpadname|PADNAME *pn Creates a new SV containing the pad name. =cut */ #define newSVpadname(pn) newSVpvn_utf8(PadnamePV(pn), PadnameLEN(pn), TRUE) /* =for apidoc Am|void|SvOOK_offset|SV*sv|STRLEN len Reads into C<len> the offset from C<SvPVX> back to the true start of the allocated buffer, which will be non-zero if C<sv_chop> has been used to efficiently remove characters from start of the buffer. Implemented as a macro, which takes the address of C<len>, which must be of type C<STRLEN>. Evaluates C<sv> more than once. Sets C<len> to 0 if C<SvOOK(sv)> is false. =cut */ #ifdef DEBUGGING /* Does the bot know something I don't? 10:28 <@Nicholas> metabatman 10:28 <+meta> Nicholas: crash */ # define SvOOK_offset(sv, offset) STMT_START { \ assert(sizeof(offset) == sizeof(STRLEN)); \ if (SvOOK(sv)) { \ const U8 *_crash = (U8*)SvPVX_const(sv); \ (offset) = *--_crash; \ if (!(offset)) { \ _crash -= sizeof(STRLEN); \ Copy(_crash, (U8 *)&(offset), sizeof(STRLEN), U8); \ } \ { \ /* Validate the preceding buffer's sentinels to \ verify that no-one is using it. */ \ const U8 *const _bonk = (U8*)SvPVX_const(sv) - (offset);\ while (_crash > _bonk) { \ --_crash; \ assert (*_crash == (U8)PTR2UV(_crash)); \ } \ } \ } else { \ (offset) = 0; \ } \ } STMT_END #else /* This is the same code, but avoids using any temporary variables: */ # define SvOOK_offset(sv, offset) STMT_START { \ assert(sizeof(offset) == sizeof(STRLEN)); \ if (SvOOK(sv)) { \ (offset) = ((U8*)SvPVX_const(sv))[-1]; \ if (!(offset)) { \ Copy(SvPVX_const(sv) - 1 - sizeof(STRLEN), \ (U8*)&(offset), sizeof(STRLEN), U8); \ } \ } else { \ (offset) = 0; \ } \ } STMT_END #endif #define newIO() MUTABLE_IO(newSV_type(SVt_PVIO)) #define SV_CONST(name) \ PL_sv_consts[SV_CONST_##name] \ ? PL_sv_consts[SV_CONST_##name] \ : (PL_sv_consts[SV_CONST_##name] = newSVpv_share(#name, 0)) #define SV_CONST_TIESCALAR 0 #define SV_CONST_TIEARRAY 1 #define SV_CONST_TIEHASH 2 #define SV_CONST_TIEHANDLE 3 #define SV_CONST_FETCH 4 #define SV_CONST_FETCHSIZE 5 #define SV_CONST_STORE 6 #define SV_CONST_STORESIZE 7 #define SV_CONST_EXISTS 8 #define SV_CONST_PUSH 9 #define SV_CONST_POP 10 #define SV_CONST_SHIFT 11 #define SV_CONST_UNSHIFT 12 #define SV_CONST_SPLICE 13 #define SV_CONST_EXTEND 14 #define SV_CONST_FIRSTKEY 15 #define SV_CONST_NEXTKEY 16 #define SV_CONST_SCALAR 17 #define SV_CONST_OPEN 18 #define SV_CONST_WRITE 19 #define SV_CONST_PRINT 20 #define SV_CONST_PRINTF 21 #define SV_CONST_READ 22 #define SV_CONST_READLINE 23 #define SV_CONST_GETC 24 #define SV_CONST_SEEK 25 #define SV_CONST_TELL 26 #define SV_CONST_EOF 27 #define SV_CONST_BINMODE 28 #define SV_CONST_FILENO 29 #define SV_CONST_CLOSE 30 #define SV_CONST_DELETE 31 #define SV_CONST_CLEAR 32 #define SV_CONST_UNTIE 33 #define SV_CONST_DESTROY 34 #define SV_CONSTS_COUNT 35 /* * Bodyless IVs and NVs! * * Since 5.9.2, we can avoid allocating a body for SVt_IV-type SVs. * Since the larger IV-holding variants of SVs store their integer * values in their respective bodies, the family of SvIV() accessor * macros would naively have to branch on the SV type to find the * integer value either in the HEAD or BODY. In order to avoid this * expensive branch, a clever soul has deployed a great hack: * We set up the SvANY pointer such that instead of pointing to a * real body, it points into the memory before the location of the * head. We compute this pointer such that the location of * the integer member of the hypothetical body struct happens to * be the same as the location of the integer member of the bodyless * SV head. This now means that the SvIV() family of accessors can * always read from the (hypothetical or real) body via SvANY. * * Since the 5.21 dev series, we employ the same trick for NVs * if the architecture can support it (NVSIZE <= IVSIZE). */ /* The following two macros compute the necessary offsets for the above * trick and store them in SvANY for SvIV() (and friends) to use. */ #ifdef PERL_CORE # define SET_SVANY_FOR_BODYLESS_IV(sv) \ SvANY(sv) = (XPVIV*)((char*)&(sv->sv_u.svu_iv) \ - STRUCT_OFFSET(XPVIV, xiv_iv)) # define SET_SVANY_FOR_BODYLESS_NV(sv) \ SvANY(sv) = (XPVNV*)((char*)&(sv->sv_u.svu_nv) \ - STRUCT_OFFSET(XPVNV, xnv_u.xnv_nv)) #endif /* * ex: set ts=8 sts=4 sw=4 et: */ utf8.h 0000644 00000142377 15140731057 0005624 0 ustar 00 /* utf8.h * * This file contains definitions for use with the UTF-8 encoding. It * actually also works with the variant UTF-8 encoding called UTF-EBCDIC, and * hides almost all of the differences between these from the caller. In other * words, someone should #include this file, and if the code is being compiled * on an EBCDIC platform, things should mostly just work. * * Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2009, * 2010, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef PERL_UTF8_H_ /* Guard against recursive inclusion */ #define PERL_UTF8_H_ 1 /* Use UTF-8 as the default script encoding? * Turning this on will break scripts having non-UTF-8 binary * data (such as Latin-1) in string literals. */ #ifdef USE_UTF8_SCRIPTS # define USE_UTF8_IN_NAMES (!IN_BYTES) #else # define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8) #endif #include "regcharclass.h" #include "unicode_constants.h" /* For to_utf8_fold_flags, q.v. */ #define FOLD_FLAGS_LOCALE 0x1 #define FOLD_FLAGS_FULL 0x2 #define FOLD_FLAGS_NOMIX_ASCII 0x4 /* =head1 Unicode Support L<perlguts/Unicode Support> has an introduction to this API. See also L</Character classification>, and L</Character case changing>. Various functions outside this section also work specially with Unicode. Search for the string "utf8" in this document. =for apidoc is_ascii_string This is a misleadingly-named synonym for L</is_utf8_invariant_string>. On ASCII-ish platforms, the name isn't misleading: the ASCII-range characters are exactly the UTF-8 invariants. But EBCDIC machines have more invariants than just the ASCII characters, so C<is_utf8_invariant_string> is preferred. =for apidoc is_invariant_string This is a somewhat misleadingly-named synonym for L</is_utf8_invariant_string>. C<is_utf8_invariant_string> is preferred, as it indicates under what conditions the string is invariant. =cut */ #define is_ascii_string(s, len) is_utf8_invariant_string(s, len) #define is_invariant_string(s, len) is_utf8_invariant_string(s, len) #define uvoffuni_to_utf8_flags(d,uv,flags) \ uvoffuni_to_utf8_flags_msgs(d, uv, flags, 0) #define uvchr_to_utf8(a,b) uvchr_to_utf8_flags(a,b,0) #define uvchr_to_utf8_flags(d,uv,flags) \ uvchr_to_utf8_flags_msgs(d,uv,flags, 0) #define uvchr_to_utf8_flags_msgs(d,uv,flags,msgs) \ uvoffuni_to_utf8_flags_msgs(d,NATIVE_TO_UNI(uv),flags, msgs) #define utf8_to_uvchr_buf(s, e, lenp) \ utf8_to_uvchr_buf_helper((const U8 *) (s), (const U8 *) e, lenp) #define utf8n_to_uvchr(s, len, lenp, flags) \ utf8n_to_uvchr_error(s, len, lenp, flags, 0) #define utf8n_to_uvchr_error(s, len, lenp, flags, errors) \ utf8n_to_uvchr_msgs(s, len, lenp, flags, errors, 0) #define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL) #define foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2) \ foldEQ_utf8_flags(s1, pe1, l1, u1, s2, pe2, l2, u2, 0) #define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0) #define FOLDEQ_LOCALE (1 << 1) #define FOLDEQ_S1_ALREADY_FOLDED (1 << 2) #define FOLDEQ_S2_ALREADY_FOLDED (1 << 3) #define FOLDEQ_S1_FOLDS_SANE (1 << 4) #define FOLDEQ_S2_FOLDS_SANE (1 << 5) #define ibcmp_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2) \ cBOOL(! foldEQ_utf8(s1, pe1, l1, u1, s2, pe2, l2, u2)) #ifdef EBCDIC /* The equivalent of these macros but implementing UTF-EBCDIC are in the following header file: */ #include "utfebcdic.h" #else /* ! EBCDIC */ START_EXTERN_C /* =for apidoc AmnU|STRLEN|UTF8_MAXBYTES The maximum width of a single UTF-8 encoded character, in bytes. NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8 is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be expressed with 4 bytes. However, Perl thinks of UTF-8 as a way to encode non-negative integers in a binary format, even those above Unicode. =cut */ #define UTF8_MAXBYTES 13 #ifdef DOINIT EXTCONST unsigned char PL_utf8skip[] = { /* 0x00 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x10 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x20 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x30 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x50 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x60 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x70 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */ /* 0x80 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */ /* 0x90 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */ /* 0xA0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */ /* 0xB0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */ /* 0xC0 */ 2,2, /* overlong */ /* 0xC2 */ 2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* U+0080 to U+03FF */ /* 0xD0 */ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* U+0400 to U+07FF */ /* 0xE0 */ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, /* U+0800 to U+FFFF */ /* 0xF0 */ 4,4,4,4,4,4,4,4,5,5,5,5,6,6, /* above BMP to 2**31 - 1 */ /* Perl extended (never was official UTF-8). Up to 36 bit */ /* 0xFE */ 7, /* More extended, Up to 72 bits (64-bit + reserved) */ /* 0xFF */ UTF8_MAXBYTES }; #else EXTCONST unsigned char PL_utf8skip[]; #endif END_EXTERN_C /* =for apidoc Am|U8|NATIVE_TO_LATIN1|U8 ch Returns the Latin-1 (including ASCII and control characters) equivalent of the input native code point given by C<ch>. Thus, C<NATIVE_TO_LATIN1(193)> on EBCDIC platforms returns 65. These each represent the character C<"A"> on their respective platforms. On ASCII platforms no conversion is needed, so this macro expands to just its input, adding no time nor space requirements to the implementation. For conversion of code points potentially larger than will fit in a character, use L</NATIVE_TO_UNI>. =for apidoc Am|U8|LATIN1_TO_NATIVE|U8 ch Returns the native equivalent of the input Latin-1 code point (including ASCII and control characters) given by C<ch>. Thus, C<LATIN1_TO_NATIVE(66)> on EBCDIC platforms returns 194. These each represent the character C<"B"> on their respective platforms. On ASCII platforms no conversion is needed, so this macro expands to just its input, adding no time nor space requirements to the implementation. For conversion of code points potentially larger than will fit in a character, use L</UNI_TO_NATIVE>. =for apidoc Am|UV|NATIVE_TO_UNI|UV ch Returns the Unicode equivalent of the input native code point given by C<ch>. Thus, C<NATIVE_TO_UNI(195)> on EBCDIC platforms returns 67. These each represent the character C<"C"> on their respective platforms. On ASCII platforms no conversion is needed, so this macro expands to just its input, adding no time nor space requirements to the implementation. =for apidoc Am|UV|UNI_TO_NATIVE|UV ch Returns the native equivalent of the input Unicode code point given by C<ch>. Thus, C<UNI_TO_NATIVE(68)> on EBCDIC platforms returns 196. These each represent the character C<"D"> on their respective platforms. On ASCII platforms no conversion is needed, so this macro expands to just its input, adding no time nor space requirements to the implementation. =cut */ #define NATIVE_TO_LATIN1(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) #define LATIN1_TO_NATIVE(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) /* I8 is an intermediate version of UTF-8 used only in UTF-EBCDIC. We thus * consider it to be identical to UTF-8 on ASCII platforms. Strictly speaking * UTF-8 and UTF-EBCDIC are two different things, but we often conflate them * because they are 8-bit encodings that serve the same purpose in Perl, and * rarely do we need to distinguish them. The term "NATIVE_UTF8" applies to * whichever one is applicable on the current platform */ #define NATIVE_UTF8_TO_I8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) #define I8_TO_NATIVE_UTF8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) ((U8) ((ch) | 0))) #define UNI_TO_NATIVE(ch) ((UV) ((ch) | 0)) #define NATIVE_TO_UNI(ch) ((UV) ((ch) | 0)) /* The following table is from Unicode 3.2, plus the Perl extensions for above U+10FFFF Code Points 1st Byte 2nd Byte 3rd 4th 5th 6th 7th 8th-13th U+0000..U+007F 00..7F U+0080..U+07FF * C2..DF 80..BF U+0800..U+0FFF E0 * A0..BF 80..BF U+1000..U+CFFF E1..EC 80..BF 80..BF U+D000..U+D7FF ED 80..9F 80..BF U+D800..U+DFFF ED A0..BF 80..BF (surrogates) U+E000..U+FFFF EE..EF 80..BF 80..BF U+10000..U+3FFFF F0 * 90..BF 80..BF 80..BF U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF U+100000..U+10FFFF F4 80..8F 80..BF 80..BF Below are above-Unicode code points U+110000..U+13FFFF F4 90..BF 80..BF 80..BF U+110000..U+1FFFFF F5..F7 80..BF 80..BF 80..BF U+200000..U+FFFFFF F8 * 88..BF 80..BF 80..BF 80..BF U+1000000..U+3FFFFFF F9..FB 80..BF 80..BF 80..BF 80..BF U+4000000..U+3FFFFFFF FC * 84..BF 80..BF 80..BF 80..BF 80..BF U+40000000..U+7FFFFFFF FD 80..BF 80..BF 80..BF 80..BF 80..BF U+80000000..U+FFFFFFFFF FE * 82..BF 80..BF 80..BF 80..BF 80..BF 80..BF U+1000000000.. FF 80..BF 80..BF 80..BF 80..BF 80..BF * 81..BF 80..BF Note the gaps before several of the byte entries above marked by '*'. These are caused by legal UTF-8 avoiding non-shortest encodings: it is technically possible to UTF-8-encode a single code point in different ways, but that is explicitly forbidden, and the shortest possible encoding should always be used (and that is what Perl does). The non-shortest ones are called 'overlongs'. */ /* Another way to look at it, as bits: Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte 0aaa aaaa 0aaa aaaa 0000 0bbb bbaa aaaa 110b bbbb 10aa aaaa cccc bbbb bbaa aaaa 1110 cccc 10bb bbbb 10aa aaaa 00 000d ddcc cccc bbbb bbaa aaaa 1111 0ddd 10cc cccc 10bb bbbb 10aa aaaa As you can see, the continuation bytes all begin with C<10>, and the leading bits of the start byte tell how many bytes there are in the encoded character. Perl's extended UTF-8 means we can have start bytes up through FF, though any beginning with FF yields a code point that is too large for 32-bit ASCII platforms. FF signals to use 13 bytes for the encoded character. This breaks the paradigm that the number of leading bits gives how many total bytes there are in the character. */ /* This is the number of low-order bits a continuation byte in a UTF-8 encoded * sequence contributes to the specification of the code point. In the bit * maps above, you see that the first 2 bits are a constant '10', leaving 6 of * real information */ #define UTF_ACCUMULATION_SHIFT 6 /* ^? is defined to be DEL on ASCII systems. See the definition of toCTRL() * for more */ #define QUESTION_MARK_CTRL DEL_NATIVE /* Surrogates, non-character code points and above-Unicode code points are * problematic in some contexts. This allows code that needs to check for * those to quickly exclude the vast majority of code points it will * encounter */ #define isUTF8_POSSIBLY_PROBLEMATIC(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (U8) c >= 0xED) #define UNICODE_IS_PERL_EXTENDED(uv) UNLIKELY((UV) (uv) > 0x7FFFFFFF) #endif /* EBCDIC vs ASCII */ /* 2**UTF_ACCUMULATION_SHIFT - 1. This masks out all but the bits that carry * real information in a continuation byte. This turns out to be 0x3F in * UTF-8, 0x1F in UTF-EBCDIC. */ #define UTF_CONTINUATION_MASK ((U8) ((1U << UTF_ACCUMULATION_SHIFT) - 1)) /* For use in UTF8_IS_CONTINUATION(). This turns out to be 0xC0 in UTF-8, * E0 in UTF-EBCDIC */ #define UTF_IS_CONTINUATION_MASK ((U8) (0xFF << UTF_ACCUMULATION_SHIFT)) /* This defines the bits that are to be in the continuation bytes of a * multi-byte UTF-8 encoded character that mark it is a continuation byte. * This turns out to be 0x80 in UTF-8, 0xA0 in UTF-EBCDIC. (khw doesn't know * the underlying reason that B0 works here) */ #define UTF_CONTINUATION_MARK (UTF_IS_CONTINUATION_MASK & 0xB0) /* Is the byte 'c' part of a multi-byte UTF8-8 encoded sequence, and not the * first byte thereof? */ #define UTF8_IS_CONTINUATION(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (((NATIVE_UTF8_TO_I8(c) & UTF_IS_CONTINUATION_MASK) \ == UTF_CONTINUATION_MARK))) /* Is the representation of the Unicode code point 'cp' the same regardless of * being encoded in UTF-8 or not? This is a fundamental property of * UTF-8,EBCDIC */ #define OFFUNI_IS_INVARIANT(c) (((WIDEST_UTYPE)(c)) < UTF_CONTINUATION_MARK) /* =for apidoc Am|bool|UVCHR_IS_INVARIANT|UV cp Evaluates to 1 if the representation of code point C<cp> is the same whether or not it is encoded in UTF-8; otherwise evaluates to 0. UTF-8 invariant characters can be copied as-is when converting to/from UTF-8, saving time. C<cp> is Unicode if above 255; otherwise is platform-native. =cut */ #define UVCHR_IS_INVARIANT(cp) (OFFUNI_IS_INVARIANT(NATIVE_TO_UNI(cp))) /* Internal macro to be used only in this file to aid in constructing other * publicly accessible macros. * The number of bytes required to express this uv in UTF-8, for just those * uv's requiring 2 through 6 bytes, as these are common to all platforms and * word sizes. The number of bytes needed is given by the number of leading 1 * bits in the start byte. There are 32 start bytes that have 2 initial 1 bits * (C0-DF); there are 16 that have 3 initial 1 bits (E0-EF); 8 that have 4 * initial 1 bits (F0-F8); 4 that have 5 initial 1 bits (F9-FB), and 2 that * have 6 initial 1 bits (FC-FD). The largest number a string of n bytes can * represent is (the number of possible start bytes for 'n') * * (the number of possiblities for each start byte * The latter in turn is * 2 ** ( (how many continuation bytes there are) * * (the number of bits of information each * continuation byte holds)) * * If we were on a platform where we could use a fast find first set bit * instruction (or count leading zeros instruction) this could be replaced by * using that to find the log2 of the uv, and divide that by the number of bits * of information in each continuation byte, adjusting for large cases and how * much information is in a start byte for that length */ #define __COMMON_UNI_SKIP(uv) \ (UV) (uv) < (32 * (1U << ( UTF_ACCUMULATION_SHIFT))) ? 2 : \ (UV) (uv) < (16 * (1U << (2 * UTF_ACCUMULATION_SHIFT))) ? 3 : \ (UV) (uv) < ( 8 * (1U << (3 * UTF_ACCUMULATION_SHIFT))) ? 4 : \ (UV) (uv) < ( 4 * (1U << (4 * UTF_ACCUMULATION_SHIFT))) ? 5 : \ (UV) (uv) < ( 2 * (1U << (5 * UTF_ACCUMULATION_SHIFT))) ? 6 : /* Internal macro to be used only in this file. * This adds to __COMMON_UNI_SKIP the details at this platform's upper range. * For any-sized EBCDIC platforms, or 64-bit ASCII ones, we need one more test * to see if just 7 bytes is needed, or if the maximum is needed. For 32-bit * ASCII platforms, everything is representable by 7 bytes */ #if defined(UV_IS_QUAD) || defined(EBCDIC) # define __BASE_UNI_SKIP(uv) (__COMMON_UNI_SKIP(uv) \ (UV) (uv) < ((UV) 1U << (6 * UTF_ACCUMULATION_SHIFT)) ? 7 : UTF8_MAXBYTES) #else # define __BASE_UNI_SKIP(uv) (__COMMON_UNI_SKIP(uv) 7) #endif /* The next two macros use the base macro defined above, and add in the tests * at the low-end of the range, for just 1 byte, yielding complete macros, * publicly accessible. */ /* Input is a true Unicode (not-native) code point */ #define OFFUNISKIP(uv) (OFFUNI_IS_INVARIANT(uv) ? 1 : __BASE_UNI_SKIP(uv)) /* =for apidoc Am|STRLEN|UVCHR_SKIP|UV cp returns the number of bytes required to represent the code point C<cp> when encoded as UTF-8. C<cp> is a native (ASCII or EBCDIC) code point if less than 255; a Unicode code point otherwise. =cut */ #define UVCHR_SKIP(uv) ( UVCHR_IS_INVARIANT(uv) ? 1 : __BASE_UNI_SKIP(uv)) #define UTF_MIN_START_BYTE \ ((UTF_CONTINUATION_MARK >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) /* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence? * This excludes invariants (they are single-byte). It also excludes the * illegal overlong sequences that begin with C0 and C1 on ASCII platforms, and * C0-C4 I8 start bytes on EBCDIC ones. On EBCDIC E0 can't start a * non-overlong sequence, so we define a base macro and for those platforms, * extend it to also exclude E0 */ #define UTF8_IS_START_base(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (NATIVE_UTF8_TO_I8(c) >= UTF_MIN_START_BYTE)) #ifdef EBCDIC # define UTF8_IS_START(c) \ (UTF8_IS_START_base(c) && (c) != I8_TO_NATIVE_UTF8(0xE0)) #else # define UTF8_IS_START(c) UTF8_IS_START_base(c) #endif #define UTF_MIN_ABOVE_LATIN1_BYTE \ ((0x100 >> UTF_ACCUMULATION_SHIFT) | UTF_START_MARK(2)) /* Is the UTF8-encoded byte 'c' the first byte of a sequence of bytes that * represent a code point > 255? */ #define UTF8_IS_ABOVE_LATIN1(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (NATIVE_UTF8_TO_I8(c) >= UTF_MIN_ABOVE_LATIN1_BYTE)) /* Is the UTF8-encoded byte 'c' the first byte of a two byte sequence? Use * UTF8_IS_NEXT_CHAR_DOWNGRADEABLE() instead if the input isn't known to * be well-formed. */ #define UTF8_IS_DOWNGRADEABLE_START(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ inRANGE(NATIVE_UTF8_TO_I8(c), \ UTF_MIN_START_BYTE, UTF_MIN_ABOVE_LATIN1_BYTE - 1)) /* The largest code point representable by two UTF-8 bytes on this platform. * As explained in the comments for __COMMON_UNI_SKIP, 32 start bytes with * UTF_ACCUMULATION_SHIFT bits of information each */ #define MAX_UTF8_TWO_BYTE (32 * (1U << UTF_ACCUMULATION_SHIFT) - 1) /* The largest code point representable by two UTF-8 bytes on any platform that * Perl runs on. This value is constrained by EBCDIC which has 5 bits per * continuation byte */ #define MAX_PORTABLE_UTF8_TWO_BYTE (32 * (1U << 5) - 1) /* =for apidoc AmnU|STRLEN|UTF8_MAXBYTES_CASE The maximum number of UTF-8 bytes a single Unicode character can uppercase/lowercase/titlecase/fold into. =cut * Unicode guarantees that the maximum expansion is UTF8_MAX_FOLD_CHAR_EXPAND * characters, but any above-Unicode code point will fold to itself, so we only * have to look at the expansion of the maximum Unicode code point. But this * number may be less than the space occupied by a very large code point under * Perl's extended UTF-8. We have to make it large enough to fit any single * character. (It turns out that ASCII and EBCDIC differ in which is larger) * =cut */ #define UTF8_MAXBYTES_CASE \ MAX(UTF8_MAXBYTES, UTF8_MAX_FOLD_CHAR_EXPAND * OFFUNISKIP(0x10FFFF)) /* Rest of these are attributes of Unicode and perl's internals rather than the * encoding, or happen to be the same in both ASCII and EBCDIC (at least at * this level; the macros that some of these call may have different * definitions in the two encodings */ /* In domain restricted to ASCII, these may make more sense to the reader than * the ones with Latin1 in the name */ #define NATIVE_TO_ASCII(ch) NATIVE_TO_LATIN1(ch) #define ASCII_TO_NATIVE(ch) LATIN1_TO_NATIVE(ch) /* More or less misleadingly-named defines, retained for back compat */ #define NATIVE_TO_UTF(ch) NATIVE_UTF8_TO_I8(ch) #define NATIVE_TO_I8(ch) NATIVE_UTF8_TO_I8(ch) #define UTF_TO_NATIVE(ch) I8_TO_NATIVE_UTF8(ch) #define I8_TO_NATIVE(ch) I8_TO_NATIVE_UTF8(ch) #define NATIVE8_TO_UNI(ch) NATIVE_TO_LATIN1(ch) /* This defines the 1-bits that are to be in the first byte of a multi-byte * UTF-8 encoded character that mark it as a start byte and give the number of * bytes that comprise the character. 'len' is the number of bytes in the * multi-byte sequence. */ #define UTF_START_MARK(len) (((len) > 7) ? 0xFF : ((U8) (0xFE << (7-(len))))) /* Masks out the initial one bits in a start byte, leaving the real data ones. * Doesn't work on an invariant byte. 'len' is the number of bytes in the * multi-byte sequence that comprises the character. */ #define UTF_START_MASK(len) (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2))) /* Adds a UTF8 continuation byte 'new' of information to a running total code * point 'old' of all the continuation bytes so far. This is designed to be * used in a loop to convert from UTF-8 to the code point represented. Note * that this is asymmetric on EBCDIC platforms, in that the 'new' parameter is * the UTF-EBCDIC byte, whereas the 'old' parameter is a Unicode (not EBCDIC) * code point in process of being generated */ #define UTF8_ACCUMULATE(old, new) (__ASSERT_(FITS_IN_8_BITS(new)) \ ((old) << UTF_ACCUMULATION_SHIFT) \ | ((NATIVE_UTF8_TO_I8(new)) \ & UTF_CONTINUATION_MASK)) /* This works in the face of malformed UTF-8. */ #define UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, e) \ ( UTF8_IS_DOWNGRADEABLE_START(*(s)) \ && ( (e) - (s) > 1) \ && UTF8_IS_CONTINUATION(*((s)+1))) /* Number of bytes a code point occupies in UTF-8. */ #define NATIVE_SKIP(uv) UVCHR_SKIP(uv) /* Most code which says UNISKIP is really thinking in terms of native code * points (0-255) plus all those beyond. This is an imprecise term, but having * it means existing code continues to work. For precision, use UVCHR_SKIP, * NATIVE_SKIP, or OFFUNISKIP */ #define UNISKIP(uv) UVCHR_SKIP(uv) /* Longer, but more accurate name */ #define UTF8_IS_ABOVE_LATIN1_START(c) UTF8_IS_ABOVE_LATIN1(c) /* Convert a UTF-8 variant Latin1 character to a native code point value. * Needs just one iteration of accumulate. Should be used only if it is known * that the code point is < 256, and is not UTF-8 invariant. Use the slower * but more general TWO_BYTE_UTF8_TO_NATIVE() which handles any code point * representable by two bytes (which turns out to be up through * MAX_PORTABLE_UTF8_TWO_BYTE). The two parameters are: * HI: a downgradable start byte; * LO: continuation. * */ #define EIGHT_BIT_UTF8_TO_NATIVE(HI, LO) \ ( __ASSERT_(UTF8_IS_DOWNGRADEABLE_START(HI)) \ __ASSERT_(UTF8_IS_CONTINUATION(LO)) \ LATIN1_TO_NATIVE(UTF8_ACCUMULATE(( \ NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), (LO)))) /* Convert a two (not one) byte utf8 character to a native code point value. * Needs just one iteration of accumulate. Should not be used unless it is * known that the two bytes are legal: 1) two-byte start, and 2) continuation. * Note that the result can be larger than 255 if the input character is not * downgradable */ #define TWO_BYTE_UTF8_TO_NATIVE(HI, LO) \ (__ASSERT_(FITS_IN_8_BITS(HI)) \ __ASSERT_(FITS_IN_8_BITS(LO)) \ __ASSERT_(PL_utf8skip[HI] == 2) \ __ASSERT_(UTF8_IS_CONTINUATION(LO)) \ UNI_TO_NATIVE(UTF8_ACCUMULATE((NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), \ (LO)))) /* Should never be used, and be deprecated */ #define TWO_BYTE_UTF8_TO_UNI(HI, LO) NATIVE_TO_UNI(TWO_BYTE_UTF8_TO_NATIVE(HI, LO)) /* =for apidoc Am|STRLEN|UTF8SKIP|char* s returns the number of bytes a non-malformed UTF-8 encoded character whose first (perhaps only) byte is pointed to by C<s>. If there is a possibility of malformed input, use instead: =over =item L</C<UTF8_SAFE_SKIP>> if you know the maximum ending pointer in the buffer pointed to by C<s>; or =item L</C<UTF8_CHK_SKIP>> if you don't know it. =back It is better to restructure your code so the end pointer is passed down so that you know what it actually is at the point of this call, but if that isn't possible, L</C<UTF8_CHK_SKIP>> can minimize the chance of accessing beyond the end of the input buffer. =cut */ #define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)] /* =for apidoc Am|STRLEN|UTF8_SKIP|char* s This is a synonym for L</C<UTF8SKIP>> =cut */ #define UTF8_SKIP(s) UTF8SKIP(s) /* =for apidoc Am|STRLEN|UTF8_CHK_SKIP|char* s This is a safer version of L</C<UTF8SKIP>>, but still not as safe as L</C<UTF8_SAFE_SKIP>>. This version doesn't blindly assume that the input string pointed to by C<s> is well-formed, but verifies that there isn't a NUL terminating character before the expected end of the next character in C<s>. The length C<UTF8_CHK_SKIP> returns stops just before any such NUL. Perl tends to add NULs, as an insurance policy, after the end of strings in SV's, so it is likely that using this macro will prevent inadvertent reading beyond the end of the input buffer, even if it is malformed UTF-8. This macro is intended to be used by XS modules where the inputs could be malformed, and it isn't feasible to restructure to use the safer L</C<UTF8_SAFE_SKIP>>, for example when interfacing with a C library. =cut */ #define UTF8_CHK_SKIP(s) \ (s[0] == '\0' ? 1 : MIN(UTF8SKIP(s), \ my_strnlen((char *) (s), UTF8SKIP(s)))) /* =for apidoc Am|STRLEN|UTF8_SAFE_SKIP|char* s|char* e returns 0 if S<C<s E<gt>= e>>; otherwise returns the number of bytes in the UTF-8 encoded character whose first byte is pointed to by C<s>. But it never returns beyond C<e>. On DEBUGGING builds, it asserts that S<C<s E<lt>= e>>. =cut */ #define UTF8_SAFE_SKIP(s, e) (__ASSERT_((e) >= (s)) \ ((e) - (s)) <= 0 \ ? 0 \ : MIN(((e) - (s)), UTF8_SKIP(s))) /* Most code that says 'UNI_' really means the native value for code points up * through 255 */ #define UNI_IS_INVARIANT(cp) UVCHR_IS_INVARIANT(cp) /* =for apidoc Am|bool|UTF8_IS_INVARIANT|char c Evaluates to 1 if the byte C<c> represents the same character when encoded in UTF-8 as when not; otherwise evaluates to 0. UTF-8 invariant characters can be copied as-is when converting to/from UTF-8, saving time. In spite of the name, this macro gives the correct result if the input string from which C<c> comes is not encoded in UTF-8. See C<L</UVCHR_IS_INVARIANT>> for checking if a UV is invariant. =cut The reason it works on both UTF-8 encoded strings and non-UTF-8 encoded, is that it returns TRUE in each for the exact same set of bit patterns. It is valid on a subset of what UVCHR_IS_INVARIANT is valid on, so can just use that; and the compiler should optimize out anything extraneous given the implementation of the latter. The |0 makes sure this isn't mistakenly called with a ptr argument. */ #define UTF8_IS_INVARIANT(c) UVCHR_IS_INVARIANT((c) | 0) /* Like the above, but its name implies a non-UTF8 input, which as the comments * above show, doesn't matter as to its implementation */ #define NATIVE_BYTE_IS_INVARIANT(c) UVCHR_IS_INVARIANT(c) /* Misleadingly named: is the UTF8-encoded byte 'c' part of a variant sequence * in UTF-8? This is the inverse of UTF8_IS_INVARIANT. */ #define UTF8_IS_CONTINUED(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (! UTF8_IS_INVARIANT(c))) /* The macros in the next 4 sets are used to generate the two utf8 or utfebcdic * bytes from an ordinal that is known to fit into exactly two (not one) bytes; * it must be less than 0x3FF to work across both encodings. */ /* These two are helper macros for the other three sets, and should not be used * directly anywhere else. 'translate_function' is either NATIVE_TO_LATIN1 * (which works for code points up through 0xFF) or NATIVE_TO_UNI which works * for any code point */ #define __BASE_TWO_BYTE_HI(c, translate_function) \ (__ASSERT_(! UVCHR_IS_INVARIANT(c)) \ I8_TO_NATIVE_UTF8((translate_function(c) >> UTF_ACCUMULATION_SHIFT) \ | UTF_START_MARK(2))) #define __BASE_TWO_BYTE_LO(c, translate_function) \ (__ASSERT_(! UVCHR_IS_INVARIANT(c)) \ I8_TO_NATIVE_UTF8((translate_function(c) & UTF_CONTINUATION_MASK) \ | UTF_CONTINUATION_MARK)) /* The next two macros should not be used. They were designed to be usable as * the case label of a switch statement, but this doesn't work for EBCDIC. Use * regen/unicode_constants.pl instead */ #define UTF8_TWO_BYTE_HI_nocast(c) __BASE_TWO_BYTE_HI(c, NATIVE_TO_UNI) #define UTF8_TWO_BYTE_LO_nocast(c) __BASE_TWO_BYTE_LO(c, NATIVE_TO_UNI) /* The next two macros are used when the source should be a single byte * character; checked for under DEBUGGING */ #define UTF8_EIGHT_BIT_HI(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ ( __BASE_TWO_BYTE_HI(c, NATIVE_TO_LATIN1))) #define UTF8_EIGHT_BIT_LO(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ (__BASE_TWO_BYTE_LO(c, NATIVE_TO_LATIN1))) /* These final two macros in the series are used when the source can be any * code point whose UTF-8 is known to occupy 2 bytes; they are less efficient * than the EIGHT_BIT versions on EBCDIC platforms. We use the logical '~' * operator instead of "<=" to avoid getting compiler warnings. * MAX_UTF8_TWO_BYTE should be exactly all one bits in the lower few * places, so the ~ works */ #define UTF8_TWO_BYTE_HI(c) \ (__ASSERT_((sizeof(c) == 1) \ || !(((WIDEST_UTYPE)(c)) & ~MAX_UTF8_TWO_BYTE)) \ (__BASE_TWO_BYTE_HI(c, NATIVE_TO_UNI))) #define UTF8_TWO_BYTE_LO(c) \ (__ASSERT_((sizeof(c) == 1) \ || !(((WIDEST_UTYPE)(c)) & ~MAX_UTF8_TWO_BYTE)) \ (__BASE_TWO_BYTE_LO(c, NATIVE_TO_UNI))) /* This is illegal in any well-formed UTF-8 in both EBCDIC and ASCII * as it is only in overlongs. */ #define ILLEGAL_UTF8_BYTE I8_TO_NATIVE_UTF8(0xC1) /* * 'UTF' is whether or not p is encoded in UTF8. The names 'foo_lazy_if' stem * from an earlier version of these macros in which they didn't call the * foo_utf8() macros (i.e. were 'lazy') unless they decided that *p is the * beginning of a utf8 character. Now that foo_utf8() determines that itself, * no need to do it again here */ #define isIDFIRST_lazy_if_safe(p, e, UTF) \ ((IN_BYTES || !UTF) \ ? isIDFIRST(*(p)) \ : isIDFIRST_utf8_safe(p, e)) #define isWORDCHAR_lazy_if_safe(p, e, UTF) \ ((IN_BYTES || !UTF) \ ? isWORDCHAR(*(p)) \ : isWORDCHAR_utf8_safe((U8 *) p, (U8 *) e)) #define isALNUM_lazy_if_safe(p, e, UTF) isWORDCHAR_lazy_if_safe(p, e, UTF) #define UTF8_MAXLEN UTF8_MAXBYTES /* A Unicode character can fold to up to 3 characters */ #define UTF8_MAX_FOLD_CHAR_EXPAND 3 #define IN_BYTES UNLIKELY(CopHINTS_get(PL_curcop) & HINT_BYTES) /* =for apidoc Am|bool|DO_UTF8|SV* sv Returns a bool giving whether or not the PV in C<sv> is to be treated as being encoded in UTF-8. You should use this I<after> a call to C<SvPV()> or one of its variants, in case any call to string overloading updates the internal UTF-8 encoding flag. =cut */ #define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES) /* Should all strings be treated as Unicode, and not just UTF-8 encoded ones? * Is so within 'feature unicode_strings' or 'locale :not_characters', and not * within 'use bytes'. UTF-8 locales are not tested for here, but perhaps * could be */ #define IN_UNI_8_BIT \ (( ( (CopHINTS_get(PL_curcop) & HINT_UNI_8_BIT)) \ || ( CopHINTS_get(PL_curcop) & HINT_LOCALE_PARTIAL \ /* -1 below is for :not_characters */ \ && _is_in_locale_category(FALSE, -1))) \ && (! IN_BYTES)) #define UTF8_ALLOW_EMPTY 0x0001 /* Allow a zero length string */ #define UTF8_GOT_EMPTY UTF8_ALLOW_EMPTY /* Allow first byte to be a continuation byte */ #define UTF8_ALLOW_CONTINUATION 0x0002 #define UTF8_GOT_CONTINUATION UTF8_ALLOW_CONTINUATION /* Unexpected non-continuation byte */ #define UTF8_ALLOW_NON_CONTINUATION 0x0004 #define UTF8_GOT_NON_CONTINUATION UTF8_ALLOW_NON_CONTINUATION /* expecting more bytes than were available in the string */ #define UTF8_ALLOW_SHORT 0x0008 #define UTF8_GOT_SHORT UTF8_ALLOW_SHORT /* Overlong sequence; i.e., the code point can be specified in fewer bytes. * First one will convert the overlong to the REPLACEMENT CHARACTER; second * will return what the overlong evaluates to */ #define UTF8_ALLOW_LONG 0x0010 #define UTF8_ALLOW_LONG_AND_ITS_VALUE (UTF8_ALLOW_LONG|0x0020) #define UTF8_GOT_LONG UTF8_ALLOW_LONG #define UTF8_ALLOW_OVERFLOW 0x0080 #define UTF8_GOT_OVERFLOW UTF8_ALLOW_OVERFLOW #define UTF8_DISALLOW_SURROGATE 0x0100 /* Unicode surrogates */ #define UTF8_GOT_SURROGATE UTF8_DISALLOW_SURROGATE #define UTF8_WARN_SURROGATE 0x0200 /* Unicode non-character code points */ #define UTF8_DISALLOW_NONCHAR 0x0400 #define UTF8_GOT_NONCHAR UTF8_DISALLOW_NONCHAR #define UTF8_WARN_NONCHAR 0x0800 /* Super-set of Unicode: code points above the legal max */ #define UTF8_DISALLOW_SUPER 0x1000 #define UTF8_GOT_SUPER UTF8_DISALLOW_SUPER #define UTF8_WARN_SUPER 0x2000 /* The original UTF-8 standard did not define UTF-8 with start bytes of 0xFE or * 0xFF, though UTF-EBCDIC did. This allowed both versions to represent code * points up to 2 ** 31 - 1. Perl extends UTF-8 so that 0xFE and 0xFF are * usable on ASCII platforms, and 0xFF means something different than * UTF-EBCDIC defines. These changes allow code points of 64 bits (actually * somewhat more) to be represented on both platforms. But these are Perl * extensions, and not likely to be interchangeable with other languages. Note * that on ASCII platforms, FE overflows a signed 32-bit word, and FF an * unsigned one. */ #define UTF8_DISALLOW_PERL_EXTENDED 0x4000 #define UTF8_GOT_PERL_EXTENDED UTF8_DISALLOW_PERL_EXTENDED #define UTF8_WARN_PERL_EXTENDED 0x8000 /* For back compat, these old names are misleading for overlongs and * UTF_EBCDIC. */ #define UTF8_DISALLOW_ABOVE_31_BIT UTF8_DISALLOW_PERL_EXTENDED #define UTF8_GOT_ABOVE_31_BIT UTF8_GOT_PERL_EXTENDED #define UTF8_WARN_ABOVE_31_BIT UTF8_WARN_PERL_EXTENDED #define UTF8_DISALLOW_FE_FF UTF8_DISALLOW_PERL_EXTENDED #define UTF8_WARN_FE_FF UTF8_WARN_PERL_EXTENDED #define UTF8_CHECK_ONLY 0x10000 #define _UTF8_NO_CONFIDENCE_IN_CURLEN 0x20000 /* Internal core use only */ /* For backwards source compatibility. They do nothing, as the default now * includes what they used to mean. The first one's meaning was to allow the * just the single non-character 0xFFFF */ #define UTF8_ALLOW_FFFF 0 #define UTF8_ALLOW_FE_FF 0 #define UTF8_ALLOW_SURROGATE 0 /* C9 refers to Unicode Corrigendum #9: allows but discourages non-chars */ #define UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE \ (UTF8_DISALLOW_SUPER|UTF8_DISALLOW_SURROGATE) #define UTF8_WARN_ILLEGAL_C9_INTERCHANGE (UTF8_WARN_SUPER|UTF8_WARN_SURROGATE) #define UTF8_DISALLOW_ILLEGAL_INTERCHANGE \ (UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE|UTF8_DISALLOW_NONCHAR) #define UTF8_WARN_ILLEGAL_INTERCHANGE \ (UTF8_WARN_ILLEGAL_C9_INTERCHANGE|UTF8_WARN_NONCHAR) /* This is typically used for code that processes UTF-8 input and doesn't want * to have to deal with any malformations that might be present. All such will * be safely replaced by the REPLACEMENT CHARACTER, unless other flags * overriding this are also present. */ #define UTF8_ALLOW_ANY ( UTF8_ALLOW_CONTINUATION \ |UTF8_ALLOW_NON_CONTINUATION \ |UTF8_ALLOW_SHORT \ |UTF8_ALLOW_LONG \ |UTF8_ALLOW_OVERFLOW) /* Accept any Perl-extended UTF-8 that evaluates to any UV on the platform, but * not any malformed. This is the default. */ #define UTF8_ALLOW_ANYUV 0 #define UTF8_ALLOW_DEFAULT UTF8_ALLOW_ANYUV /* =for apidoc Am|bool|UTF8_IS_SURROGATE|const U8 *s|const U8 *e Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8 that represents one of the Unicode surrogate code points; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. =cut */ #define UTF8_IS_SURROGATE(s, e) is_SURROGATE_utf8_safe(s, e) #define UTF8_IS_REPLACEMENT(s, send) is_REPLACEMENT_utf8_safe(s,send) #define MAX_LEGAL_CP ((UV)IV_MAX) /* =for apidoc Am|bool|UTF8_IS_SUPER|const U8 *s|const U8 *e Recall that Perl recognizes an extension to UTF-8 that can encode code points larger than the ones defined by Unicode, which are 0..0x10FFFF. This macro evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are from this UTF-8 extension; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. 0 is returned if the bytes are not well-formed extended UTF-8, or if they represent a code point that cannot fit in a UV on the current platform. Hence this macro can give different results when run on a 64-bit word machine than on one with a 32-bit word size. Note that it is illegal to have code points that are larger than what can fit in an IV on the current machine. =cut * ASCII EBCDIC I8 * U+10FFFF: \xF4\x8F\xBF\xBF \xF9\xA1\xBF\xBF\xBF max legal Unicode * U+110000: \xF4\x90\x80\x80 \xF9\xA2\xA0\xA0\xA0 * U+110001: \xF4\x90\x80\x81 \xF9\xA2\xA0\xA0\xA1 */ #ifdef EBCDIC # define UTF8_IS_SUPER(s, e) \ (( LIKELY((e) > (s) + 4) \ && NATIVE_UTF8_TO_I8(*(s)) >= 0xF9 \ && ( NATIVE_UTF8_TO_I8(*(s)) > 0xF9 \ || (NATIVE_UTF8_TO_I8(*((s) + 1)) >= 0xA2)) \ && LIKELY((s) + UTF8SKIP(s) <= (e))) \ ? is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) #else # define UTF8_IS_SUPER(s, e) \ (( LIKELY((e) > (s) + 3) \ && (*(U8*) (s)) >= 0xF4 \ && ((*(U8*) (s)) > 0xF4 || (*((U8*) (s) + 1) >= 0x90))\ && LIKELY((s) + UTF8SKIP(s) <= (e))) \ ? is_utf8_char_helper(s, s + UTF8SKIP(s), 0) : 0) #endif /* These are now machine generated, and the 'given' clause is no longer * applicable */ #define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s, e) \ cBOOL(is_NONCHAR_utf8_safe(s,e)) /* =for apidoc Am|bool|UTF8_IS_NONCHAR|const U8 *s|const U8 *e Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8 that represents one of the Unicode non-character code points; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. =for apidoc AmnU|UV|UNICODE_REPLACEMENT Evaluates to 0xFFFD, the code point of the Unicode REPLACEMENT CHARACTER =cut */ #define UTF8_IS_NONCHAR(s, e) \ UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s, e) #define UNICODE_SURROGATE_FIRST 0xD800 #define UNICODE_SURROGATE_LAST 0xDFFF #define UNICODE_REPLACEMENT 0xFFFD #define UNICODE_BYTE_ORDER_MARK 0xFEFF /* Though our UTF-8 encoding can go beyond this, * let's be conservative and do as Unicode says. */ #define PERL_UNICODE_MAX 0x10FFFF #define UNICODE_WARN_SURROGATE 0x0001 /* UTF-16 surrogates */ #define UNICODE_WARN_NONCHAR 0x0002 /* Non-char code points */ #define UNICODE_WARN_SUPER 0x0004 /* Above 0x10FFFF */ #define UNICODE_WARN_PERL_EXTENDED 0x0008 /* Above 0x7FFF_FFFF */ #define UNICODE_WARN_ABOVE_31_BIT UNICODE_WARN_PERL_EXTENDED #define UNICODE_DISALLOW_SURROGATE 0x0010 #define UNICODE_DISALLOW_NONCHAR 0x0020 #define UNICODE_DISALLOW_SUPER 0x0040 #define UNICODE_DISALLOW_PERL_EXTENDED 0x0080 #ifdef PERL_CORE # define UNICODE_ALLOW_ABOVE_IV_MAX 0x0100 #endif #define UNICODE_DISALLOW_ABOVE_31_BIT UNICODE_DISALLOW_PERL_EXTENDED #define UNICODE_GOT_SURROGATE UNICODE_DISALLOW_SURROGATE #define UNICODE_GOT_NONCHAR UNICODE_DISALLOW_NONCHAR #define UNICODE_GOT_SUPER UNICODE_DISALLOW_SUPER #define UNICODE_GOT_PERL_EXTENDED UNICODE_DISALLOW_PERL_EXTENDED #define UNICODE_WARN_ILLEGAL_C9_INTERCHANGE \ (UNICODE_WARN_SURROGATE|UNICODE_WARN_SUPER) #define UNICODE_WARN_ILLEGAL_INTERCHANGE \ (UNICODE_WARN_ILLEGAL_C9_INTERCHANGE|UNICODE_WARN_NONCHAR) #define UNICODE_DISALLOW_ILLEGAL_C9_INTERCHANGE \ (UNICODE_DISALLOW_SURROGATE|UNICODE_DISALLOW_SUPER) #define UNICODE_DISALLOW_ILLEGAL_INTERCHANGE \ (UNICODE_DISALLOW_ILLEGAL_C9_INTERCHANGE|UNICODE_DISALLOW_NONCHAR) /* For backward source compatibility, as are now the default */ #define UNICODE_ALLOW_SURROGATE 0 #define UNICODE_ALLOW_SUPER 0 #define UNICODE_ALLOW_ANY 0 /* This matches the 2048 code points between UNICODE_SURROGATE_FIRST (0xD800) and * UNICODE_SURROGATE_LAST (0xDFFF) */ #define UNICODE_IS_SURROGATE(uv) (((UV) (uv) & (~0xFFFF | 0xF800)) \ == 0xD800) #define UNICODE_IS_REPLACEMENT(uv) ((UV) (uv) == UNICODE_REPLACEMENT) #define UNICODE_IS_BYTE_ORDER_MARK(uv) ((UV) (uv) == UNICODE_BYTE_ORDER_MARK) /* Is 'uv' one of the 32 contiguous-range noncharacters? */ #define UNICODE_IS_32_CONTIGUOUS_NONCHARS(uv) ((UV) (uv) >= 0xFDD0 \ && (UV) (uv) <= 0xFDEF) /* Is 'uv' one of the 34 plane-ending noncharacters 0xFFFE, 0xFFFF, 0x1FFFE, * 0x1FFFF, ... 0x10FFFE, 0x10FFFF, given that we know that 'uv' is not above * the Unicode legal max */ #define UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER(uv) \ (((UV) (uv) & 0xFFFE) == 0xFFFE) #define UNICODE_IS_NONCHAR(uv) \ ( UNICODE_IS_32_CONTIGUOUS_NONCHARS(uv) \ || ( LIKELY( ! UNICODE_IS_SUPER(uv)) \ && UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER(uv))) #define UNICODE_IS_SUPER(uv) ((UV) (uv) > PERL_UNICODE_MAX) #define LATIN_SMALL_LETTER_SHARP_S LATIN_SMALL_LETTER_SHARP_S_NATIVE #define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS \ LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE #define MICRO_SIGN MICRO_SIGN_NATIVE #define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE \ LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE #define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE \ LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE #define UNICODE_GREEK_CAPITAL_LETTER_SIGMA 0x03A3 #define UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA 0x03C2 #define UNICODE_GREEK_SMALL_LETTER_SIGMA 0x03C3 #define GREEK_SMALL_LETTER_MU 0x03BC #define GREEK_CAPITAL_LETTER_MU 0x039C /* Upper and title case of MICRON */ #define LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS 0x0178 /* Also is title case */ #ifdef LATIN_CAPITAL_LETTER_SHARP_S_UTF8 # define LATIN_CAPITAL_LETTER_SHARP_S 0x1E9E #endif #define LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE 0x130 #define LATIN_SMALL_LETTER_DOTLESS_I 0x131 #define LATIN_SMALL_LETTER_LONG_S 0x017F #define LATIN_SMALL_LIGATURE_LONG_S_T 0xFB05 #define LATIN_SMALL_LIGATURE_ST 0xFB06 #define KELVIN_SIGN 0x212A #define ANGSTROM_SIGN 0x212B #define UNI_DISPLAY_ISPRINT 0x0001 #define UNI_DISPLAY_BACKSLASH 0x0002 #define UNI_DISPLAY_BACKSPACE 0x0004 /* Allow \b when also UNI_DISPLAY_BACKSLASH */ #define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT \ |UNI_DISPLAY_BACKSLASH \ |UNI_DISPLAY_BACKSPACE) /* Character classes could also allow \b, but not patterns in general */ #define UNI_DISPLAY_REGEX (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH) #define ANYOF_FOLD_SHARP_S(node, input, end) \ (ANYOF_BITMAP_TEST(node, LATIN_SMALL_LETTER_SHARP_S) && \ (ANYOF_NONBITMAP(node)) && \ (ANYOF_FLAGS(node) & ANYOF_LOC_NONBITMAP_FOLD) && \ ((end) > (input) + 1) && \ isALPHA_FOLD_EQ((input)[0], 's')) #define SHARP_S_SKIP 2 #define is_utf8_char_buf(buf, buf_end) isUTF8_CHAR(buf, buf_end) #define bytes_from_utf8(s, lenp, is_utf8p) \ bytes_from_utf8_loc(s, lenp, is_utf8p, 0) /* =for apidoc Am|STRLEN|isUTF8_CHAR_flags|const U8 *s|const U8 *e| const U32 flags Evaluates to non-zero if the first few bytes of the string starting at C<s> and looking no further than S<C<e - 1>> are well-formed UTF-8, as extended by Perl, that represents some code point, subject to the restrictions given by C<flags>; otherwise it evaluates to 0. If non-zero, the value gives how many bytes starting at C<s> comprise the code point's representation. Any bytes remaining before C<e>, but beyond the ones needed to form the first code point in C<s>, are not examined. If C<flags> is 0, this gives the same results as C<L</isUTF8_CHAR>>; if C<flags> is C<UTF8_DISALLOW_ILLEGAL_INTERCHANGE>, this gives the same results as C<L</isSTRICT_UTF8_CHAR>>; and if C<flags> is C<UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE>, this gives the same results as C<L</isC9_STRICT_UTF8_CHAR>>. Otherwise C<flags> may be any combination of the C<UTF8_DISALLOW_I<foo>> flags understood by C<L</utf8n_to_uvchr>>, with the same meanings. The three alternative macros are for the most commonly needed validations; they are likely to run somewhat faster than this more general one, as they can be inlined into your code. Use L</is_utf8_string_flags>, L</is_utf8_string_loc_flags>, and L</is_utf8_string_loclen_flags> to check entire strings. =cut */ #define isUTF8_CHAR_flags(s, e, flags) \ (UNLIKELY((e) <= (s)) \ ? 0 \ : (UTF8_IS_INVARIANT(*s)) \ ? 1 \ : UNLIKELY(((e) - (s)) < UTF8SKIP(s)) \ ? 0 \ : is_utf8_char_helper(s, e, flags)) /* Do not use; should be deprecated. Use isUTF8_CHAR() instead; this is * retained solely for backwards compatibility */ #define IS_UTF8_CHAR(p, n) (isUTF8_CHAR(p, (p) + (n)) == n) #endif /* PERL_UTF8_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ hv.h 0000644 00000061771 15140731057 0005351 0 ustar 00 /* hv.h * * Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, * 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2008, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* These control hash traversal randomization and the environment variable PERL_PERTURB_KEYS. * Currently disabling this functionality will break a few tests, but should otherwise work fine. * See perlrun for more details. */ #if defined(PERL_PERTURB_KEYS_DISABLED) # define PL_HASH_RAND_BITS_ENABLED 0 # define PERL_HASH_ITER_BUCKET(iter) ((iter)->xhv_riter) #else # define PERL_HASH_RANDOMIZE_KEYS 1 # if defined(PERL_PERTURB_KEYS_RANDOM) # define PL_HASH_RAND_BITS_ENABLED 1 # elif defined(PERL_PERTURB_KEYS_DETERMINISTIC) # define PL_HASH_RAND_BITS_ENABLED 2 # else # define USE_PERL_PERTURB_KEYS 1 # define PL_HASH_RAND_BITS_ENABLED PL_hash_rand_bits_enabled # endif # define PERL_HASH_ITER_BUCKET(iter) (((iter)->xhv_riter) ^ ((iter)->xhv_rand)) #endif /* entry in hash value chain */ struct he { /* Keep hent_next first in this structure, because sv_free_arenas take advantage of this to share code between the he arenas and the SV body arenas */ HE *hent_next; /* next entry in chain */ HEK *hent_hek; /* hash key */ union { SV *hent_val; /* scalar value that was hashed */ Size_t hent_refcount; /* references for this shared hash key */ } he_valu; }; /* hash key -- defined separately for use as shared pointer */ struct hek { U32 hek_hash; /* computed hash of key */ I32 hek_len; /* length of the hash key */ /* Be careful! Sometimes we store a pointer in the hek_key * buffer, which means it must be 8 byte aligned or things * dont work on aligned platforms like HPUX * Also beware, the last byte of the hek_key buffer is a * hidden flags byte about the key. */ char hek_key[1]; /* variable-length hash key */ /* the hash-key is \0-terminated */ /* after the \0 there is a byte for flags, such as whether the key is UTF-8 or WAS-UTF-8, or an SV */ }; struct shared_he { struct he shared_he_he; struct hek shared_he_hek; }; /* Subject to change. Don't access this directly. Use the funcs in mro_core.c */ struct mro_alg { AV *(*resolve)(pTHX_ HV* stash, U32 level); const char *name; U16 length; U16 kflags; /* For the hash API - set HVhek_UTF8 if name is UTF-8 */ U32 hash; /* or 0 */ }; struct mro_meta { /* a hash holding the different MROs private data. */ HV *mro_linear_all; /* a pointer directly to the current MROs private data. If mro_linear_all is NULL, this owns the SV reference, else it is just a pointer to a value stored in and owned by mro_linear_all. */ SV *mro_linear_current; HV *mro_nextmethod; /* next::method caching */ U32 cache_gen; /* Bumping this invalidates our method cache */ U32 pkg_gen; /* Bumps when local methods/@ISA change */ const struct mro_alg *mro_which; /* which mro alg is in use? */ HV *isa; /* Everything this class @ISA */ HV *super; /* SUPER method cache */ CV *destroy; /* DESTROY method if destroy_gen non-zero */ U32 destroy_gen; /* Generation number of DESTROY cache */ }; #define MRO_GET_PRIVATE_DATA(smeta, which) \ (((smeta)->mro_which && (which) == (smeta)->mro_which) \ ? (smeta)->mro_linear_current \ : Perl_mro_get_private_data(aTHX_ (smeta), (which))) /* Subject to change. Don't access this directly. */ union _xhvnameu { HEK *xhvnameu_name; /* When xhv_name_count is 0 */ HEK **xhvnameu_names; /* When xhv_name_count is non-0 */ }; struct xpvhv_aux { union _xhvnameu xhv_name_u; /* name, if a symbol table */ AV *xhv_backreferences; /* back references for weak references */ HE *xhv_eiter; /* current entry of iterator */ I32 xhv_riter; /* current root of iterator */ /* Concerning xhv_name_count: When non-zero, xhv_name_u contains a pointer * to an array of HEK pointers, this being the length. The first element is * the name of the stash, which may be NULL. If xhv_name_count is positive, * then *xhv_name is one of the effective names. If xhv_name_count is nega- * tive, then xhv_name_u.xhvnameu_names[1] is the first effective name. */ I32 xhv_name_count; struct mro_meta *xhv_mro_meta; #ifdef PERL_HASH_RANDOMIZE_KEYS U32 xhv_rand; /* random value for hash traversal */ U32 xhv_last_rand; /* last random value for hash traversal, used to detect each() after insert for warnings */ #endif U32 xhv_aux_flags; /* assorted extra flags */ }; #define HvAUXf_SCAN_STASH 0x1 /* stash is being scanned by gv_check */ #define HvAUXf_NO_DEREF 0x2 /* @{}, %{} etc (and nomethod) not present */ /* hash structure: */ /* This structure must match the beginning of struct xpvmg in sv.h. */ struct xpvhv { HV* xmg_stash; /* class package */ union _xmgu xmg_u; STRLEN xhv_keys; /* total keys, including placeholders */ STRLEN xhv_max; /* subscript of last element of xhv_array */ }; /* =head1 Hash Manipulation Functions =for apidoc AmnU||HEf_SVKEY This flag, used in the length slot of hash entries and magic structures, specifies the structure contains an C<SV*> pointer where a C<char*> pointer is to be expected. (For information only--not to be used). =head1 Handy Values =for apidoc ADmnU||Nullhv Null HV pointer. (deprecated - use C<(HV *)NULL> instead) =head1 Hash Manipulation Functions =for apidoc Am|char*|HvNAME|HV* stash Returns the package name of a stash, or C<NULL> if C<stash> isn't a stash. See C<L</SvSTASH>>, C<L</CvSTASH>>. =for apidoc Am|STRLEN|HvNAMELEN|HV *stash Returns the length of the stash's name. =for apidoc Am|unsigned char|HvNAMEUTF8|HV *stash Returns true if the name is in UTF-8 encoding. =for apidoc Am|char*|HvENAME|HV* stash Returns the effective name of a stash, or NULL if there is none. The effective name represents a location in the symbol table where this stash resides. It is updated automatically when packages are aliased or deleted. A stash that is no longer in the symbol table has no effective name. This name is preferable to C<HvNAME> for use in MRO linearisations and isa caches. =for apidoc Am|STRLEN|HvENAMELEN|HV *stash Returns the length of the stash's effective name. =for apidoc Am|unsigned char|HvENAMEUTF8|HV *stash Returns true if the effective name is in UTF-8 encoding. =for apidoc Am|void*|HeKEY|HE* he Returns the actual pointer stored in the key slot of the hash entry. The pointer may be either C<char*> or C<SV*>, depending on the value of C<HeKLEN()>. Can be assigned to. The C<HePV()> or C<HeSVKEY()> macros are usually preferable for finding the value of a key. =for apidoc Am|STRLEN|HeKLEN|HE* he If this is negative, and amounts to C<HEf_SVKEY>, it indicates the entry holds an C<SV*> key. Otherwise, holds the actual length of the key. Can be assigned to. The C<HePV()> macro is usually preferable for finding key lengths. =for apidoc Am|SV*|HeVAL|HE* he Returns the value slot (type C<SV*>) stored in the hash entry. Can be assigned to. SV *foo= HeVAL(hv); HeVAL(hv)= sv; =for apidoc Am|U32|HeHASH|HE* he Returns the computed hash stored in the hash entry. =for apidoc Am|char*|HePV|HE* he|STRLEN len Returns the key slot of the hash entry as a C<char*> value, doing any necessary dereferencing of possibly C<SV*> keys. The length of the string is placed in C<len> (this is a macro, so do I<not> use C<&len>). If you do not care about what the length of the key is, you may use the global variable C<PL_na>, though this is rather less efficient than using a local variable. Remember though, that hash keys in perl are free to contain embedded nulls, so using C<strlen()> or similar is not a good way to find the length of hash keys. This is very similar to the C<SvPV()> macro described elsewhere in this document. See also C<L</HeUTF8>>. If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more efficient. =for apidoc Am|U32|HeUTF8|HE* he Returns whether the C<char *> value returned by C<HePV> is encoded in UTF-8, doing any necessary dereferencing of possibly C<SV*> keys. The value returned will be 0 or non-0, not necessarily 1 (or even a value with any low bits set), so B<do not> blindly assign this to a C<bool> variable, as C<bool> may be a typedef for C<char>. =for apidoc Am|SV*|HeSVKEY|HE* he Returns the key as an C<SV*>, or C<NULL> if the hash entry does not contain an C<SV*> key. =for apidoc Am|SV*|HeSVKEY_force|HE* he Returns the key as an C<SV*>. Will create and return a temporary mortal C<SV*> if the hash entry contains only a C<char*> key. =for apidoc Am|SV*|HeSVKEY_set|HE* he|SV* sv Sets the key to a given C<SV*>, taking care to set the appropriate flags to indicate the presence of an C<SV*> key, and returns the same C<SV*>. =cut */ #define PERL_HASH_DEFAULT_HvMAX 7 /* During hsplit(), if HvMAX(hv)+1 (the new bucket count) is >= this value, * we preallocate the HvAUX() struct. * The assumption being that we are using so much space anyway we might * as well allocate the extra bytes and speed up later keys() * or each() operations. We don't do this to small hashes as we assume * that a) it will be easy/fast to resize them to add the iterator, and b) that * many of them will be objects which won't be traversed. Larger hashes however * will take longer to extend, and the size of the aux struct is swamped by the * overall length of the bucket array. * */ #define PERL_HV_ALLOC_AUX_SIZE (1 << 9) /* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */ #define HEf_SVKEY -2 /* hent_key is an SV* */ #ifndef PERL_CORE # define Nullhv Null(HV*) #endif #define HvARRAY(hv) ((hv)->sv_u.svu_hash) /* =for apidoc Am|STRLEN|HvFILL|HV *const hv See L</hv_fill>. =cut */ #define HvFILL(hv) Perl_hv_fill(aTHX_ MUTABLE_HV(hv)) #define HvMAX(hv) ((XPVHV*) SvANY(hv))->xhv_max /* This quite intentionally does no flag checking first. That's your responsibility. */ #define HvAUX(hv) ((struct xpvhv_aux*)&(HvARRAY(hv)[HvMAX(hv)+1])) #define HvRITER(hv) (*Perl_hv_riter_p(aTHX_ MUTABLE_HV(hv))) #define HvEITER(hv) (*Perl_hv_eiter_p(aTHX_ MUTABLE_HV(hv))) #define HvRITER_set(hv,r) Perl_hv_riter_set(aTHX_ MUTABLE_HV(hv), r) #define HvEITER_set(hv,e) Perl_hv_eiter_set(aTHX_ MUTABLE_HV(hv), e) #define HvRITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_riter : -1) #define HvEITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_eiter : NULL) #define HvRAND_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_rand : 0) #define HvLASTRAND_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_last_rand : 0) #define HvNAME(hv) HvNAME_get(hv) #define HvNAMELEN(hv) HvNAMELEN_get(hv) #define HvENAME(hv) HvENAME_get(hv) #define HvENAMELEN(hv) HvENAMELEN_get(hv) /* Checking that hv is a valid package stash is the caller's responsibility */ #define HvMROMETA(hv) (HvAUX(hv)->xhv_mro_meta \ ? HvAUX(hv)->xhv_mro_meta \ : Perl_mro_meta_init(aTHX_ hv)) #define HvNAME_HEK_NN(hv) \ ( \ HvAUX(hv)->xhv_name_count \ ? *HvAUX(hv)->xhv_name_u.xhvnameu_names \ : HvAUX(hv)->xhv_name_u.xhvnameu_name \ ) /* This macro may go away without notice. */ #define HvNAME_HEK(hv) \ (SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvNAME_HEK_NN(hv) : NULL) #define HvNAME_get(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \ ? HEK_KEY(HvNAME_HEK_NN(hv)) : NULL) #define HvNAMELEN_get(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \ ? HEK_LEN(HvNAME_HEK_NN(hv)) : 0) #define HvNAMEUTF8(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \ ? HEK_UTF8(HvNAME_HEK_NN(hv)) : 0) #define HvENAME_HEK_NN(hv) \ ( \ HvAUX(hv)->xhv_name_count > 0 ? HvAUX(hv)->xhv_name_u.xhvnameu_names[0] : \ HvAUX(hv)->xhv_name_count < -1 ? HvAUX(hv)->xhv_name_u.xhvnameu_names[1] : \ HvAUX(hv)->xhv_name_count == -1 ? NULL : \ HvAUX(hv)->xhv_name_u.xhvnameu_name \ ) #define HvENAME_HEK(hv) \ (SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvENAME_HEK_NN(hv) : NULL) #define HvENAME_get(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \ ? HEK_KEY(HvENAME_HEK_NN(hv)) : NULL) #define HvENAMELEN_get(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \ ? HEK_LEN(HvENAME_HEK_NN(hv)) : 0) #define HvENAMEUTF8(hv) \ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \ ? HEK_UTF8(HvENAME_HEK_NN(hv)) : 0) /* the number of keys (including any placeholders) - NOT PART OF THE API */ #define XHvTOTALKEYS(xhv) ((xhv)->xhv_keys) /* * HvKEYS gets the number of keys that actually exist(), and is provided * for backwards compatibility with old XS code. The core uses HvUSEDKEYS * (keys, excluding placeholders) and HvTOTALKEYS (including placeholders) */ #define HvKEYS(hv) HvUSEDKEYS(hv) #define HvUSEDKEYS(hv) (HvTOTALKEYS(hv) - HvPLACEHOLDERS_get(hv)) #define HvTOTALKEYS(hv) XHvTOTALKEYS((XPVHV*) SvANY(hv)) #define HvPLACEHOLDERS(hv) (*Perl_hv_placeholders_p(aTHX_ MUTABLE_HV(hv))) #define HvPLACEHOLDERS_get(hv) (SvMAGIC(hv) ? Perl_hv_placeholders_get(aTHX_ (const HV *)hv) : 0) #define HvPLACEHOLDERS_set(hv,p) Perl_hv_placeholders_set(aTHX_ MUTABLE_HV(hv), p) #define HvSHAREKEYS(hv) (SvFLAGS(hv) & SVphv_SHAREKEYS) #define HvSHAREKEYS_on(hv) (SvFLAGS(hv) |= SVphv_SHAREKEYS) #define HvSHAREKEYS_off(hv) (SvFLAGS(hv) &= ~SVphv_SHAREKEYS) /* This is an optimisation flag. It won't be set if all hash keys have a 0 * flag. Currently the only flags relate to utf8. * Hence it won't be set if all keys are 8 bit only. It will be set if any key * is utf8 (including 8 bit keys that were entered as utf8, and need upgrading * when retrieved during iteration. It may still be set when there are no longer * any utf8 keys. * See HVhek_ENABLEHVKFLAGS for the trigger. */ #define HvHASKFLAGS(hv) (SvFLAGS(hv) & SVphv_HASKFLAGS) #define HvHASKFLAGS_on(hv) (SvFLAGS(hv) |= SVphv_HASKFLAGS) #define HvHASKFLAGS_off(hv) (SvFLAGS(hv) &= ~SVphv_HASKFLAGS) #define HvLAZYDEL(hv) (SvFLAGS(hv) & SVphv_LAZYDEL) #define HvLAZYDEL_on(hv) (SvFLAGS(hv) |= SVphv_LAZYDEL) #define HvLAZYDEL_off(hv) (SvFLAGS(hv) &= ~SVphv_LAZYDEL) #ifndef PERL_CORE # define Nullhe Null(HE*) #endif #define HeNEXT(he) (he)->hent_next #define HeKEY_hek(he) (he)->hent_hek #define HeKEY(he) HEK_KEY(HeKEY_hek(he)) #define HeKEY_sv(he) (*(SV**)HeKEY(he)) #define HeKLEN(he) HEK_LEN(HeKEY_hek(he)) #define HeKUTF8(he) HEK_UTF8(HeKEY_hek(he)) #define HeKWASUTF8(he) HEK_WASUTF8(HeKEY_hek(he)) #define HeKLEN_UTF8(he) (HeKUTF8(he) ? -HeKLEN(he) : HeKLEN(he)) #define HeKFLAGS(he) HEK_FLAGS(HeKEY_hek(he)) #define HeVAL(he) (he)->he_valu.hent_val #define HeHASH(he) HEK_HASH(HeKEY_hek(he)) #define HePV(he,lp) ((HeKLEN(he) == HEf_SVKEY) ? \ SvPV(HeKEY_sv(he),lp) : \ ((lp = HeKLEN(he)), HeKEY(he))) #define HeUTF8(he) ((HeKLEN(he) == HEf_SVKEY) ? \ SvUTF8(HeKEY_sv(he)) : \ (U32)HeKUTF8(he)) #define HeSVKEY(he) ((HeKEY(he) && \ HeKLEN(he) == HEf_SVKEY) ? \ HeKEY_sv(he) : NULL) #define HeSVKEY_force(he) (HeKEY(he) ? \ ((HeKLEN(he) == HEf_SVKEY) ? \ HeKEY_sv(he) : \ newSVpvn_flags(HeKEY(he), \ HeKLEN(he), \ SVs_TEMP | \ ( HeKUTF8(he) ? SVf_UTF8 : 0 ))) : \ &PL_sv_undef) #define HeSVKEY_set(he,sv) ((HeKLEN(he) = HEf_SVKEY), (HeKEY_sv(he) = sv)) #ifndef PERL_CORE # define Nullhek Null(HEK*) #endif #define HEK_BASESIZE STRUCT_OFFSET(HEK, hek_key[0]) #define HEK_HASH(hek) (hek)->hek_hash #define HEK_LEN(hek) (hek)->hek_len #define HEK_KEY(hek) (hek)->hek_key #define HEK_FLAGS(hek) (*((unsigned char *)(HEK_KEY(hek))+HEK_LEN(hek)+1)) #define HVhek_UTF8 0x01 /* Key is utf8 encoded. */ #define HVhek_WASUTF8 0x02 /* Key is bytes here, but was supplied as utf8. */ #define HVhek_UNSHARED 0x08 /* This key isn't a shared hash key. */ /* the following flags are options for functions, they are not stored in heks */ #define HVhek_FREEKEY 0x100 /* Internal flag to say key is Newx()ed. */ #define HVhek_PLACEHOLD 0x200 /* Internal flag to create placeholder. * (may change, but Storable is a core module) */ #define HVhek_KEYCANONICAL 0x400 /* Internal flag - key is in canonical form. If the string is UTF-8, it cannot be converted to bytes. */ #define HVhek_MASK 0xFF #define HVhek_ENABLEHVKFLAGS (HVhek_MASK & ~(HVhek_UNSHARED)) #define HEK_UTF8(hek) (HEK_FLAGS(hek) & HVhek_UTF8) #define HEK_UTF8_on(hek) (HEK_FLAGS(hek) |= HVhek_UTF8) #define HEK_UTF8_off(hek) (HEK_FLAGS(hek) &= ~HVhek_UTF8) #define HEK_WASUTF8(hek) (HEK_FLAGS(hek) & HVhek_WASUTF8) #define HEK_WASUTF8_on(hek) (HEK_FLAGS(hek) |= HVhek_WASUTF8) #define HEK_WASUTF8_off(hek) (HEK_FLAGS(hek) &= ~HVhek_WASUTF8) /* calculate HV array allocation */ #ifndef PERL_USE_LARGE_HV_ALLOC /* Default to allocating the correct size - default to assuming that malloc() is not broken and is efficient at allocating blocks sized at powers-of-two. */ # define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE*)) #else # define MALLOC_OVERHEAD 16 # define PERL_HV_ARRAY_ALLOC_BYTES(size) \ (((size) < 64) \ ? (size) * sizeof(HE*) \ : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD) #endif /* Flags for hv_iternext_flags. */ #define HV_ITERNEXT_WANTPLACEHOLDERS 0x01 /* Don't skip placeholders. */ #define hv_iternext(hv) hv_iternext_flags(hv, 0) #define hv_magic(hv, gv, how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0) #define hv_undef(hv) Perl_hv_undef_flags(aTHX_ hv, 0) #define Perl_sharepvn(pv, len, hash) HEK_KEY(share_hek(pv, len, hash)) #define sharepvn(pv, len, hash) Perl_sharepvn(pv, len, hash) #define share_hek_hek(hek) \ (++(((struct shared_he *)(((char *)hek) \ - STRUCT_OFFSET(struct shared_he, \ shared_he_hek))) \ ->shared_he_he.he_valu.hent_refcount), \ hek) #define hv_store_ent(hv, keysv, val, hash) \ ((HE *) hv_common((hv), (keysv), NULL, 0, 0, HV_FETCH_ISSTORE, \ (val), (hash))) #define hv_exists_ent(hv, keysv, hash) \ cBOOL(hv_common((hv), (keysv), NULL, 0, 0, HV_FETCH_ISEXISTS, 0, (hash))) #define hv_fetch_ent(hv, keysv, lval, hash) \ ((HE *) hv_common((hv), (keysv), NULL, 0, 0, \ ((lval) ? HV_FETCH_LVALUE : 0), NULL, (hash))) #define hv_delete_ent(hv, key, flags, hash) \ (MUTABLE_SV(hv_common((hv), (key), NULL, 0, 0, (flags) | HV_DELETE, \ NULL, (hash)))) #define hv_store_flags(hv, key, klen, val, hash, flags) \ ((SV**) hv_common((hv), NULL, (key), (klen), (flags), \ (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), (val), \ (hash))) #define hv_store(hv, key, klen, val, hash) \ ((SV**) hv_common_key_len((hv), (key), (klen), \ (HV_FETCH_ISSTORE|HV_FETCH_JUST_SV), \ (val), (hash))) #define hv_exists(hv, key, klen) \ cBOOL(hv_common_key_len((hv), (key), (klen), HV_FETCH_ISEXISTS, NULL, 0)) #define hv_fetch(hv, key, klen, lval) \ ((SV**) hv_common_key_len((hv), (key), (klen), (lval) \ ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \ : HV_FETCH_JUST_SV, NULL, 0)) #define hv_delete(hv, key, klen, flags) \ (MUTABLE_SV(hv_common_key_len((hv), (key), (klen), \ (flags) | HV_DELETE, NULL, 0))) /* Provide 's' suffix subs for constant strings (and avoid needing to count * chars). See STR_WITH_LEN in handy.h - because these are macros we cant use * STR_WITH_LEN to do the work, we have to unroll it. */ #define hv_existss(hv, key) \ hv_exists((hv), ("" key ""), (sizeof(key)-1)) #define hv_fetchs(hv, key, lval) \ hv_fetch((hv), ("" key ""), (sizeof(key)-1), (lval)) #define hv_deletes(hv, key, flags) \ hv_delete((hv), ("" key ""), (sizeof(key)-1), (flags)) #define hv_name_sets(hv, name, flags) \ hv_name_set((hv),("" name ""),(sizeof(name)-1), flags) #define hv_stores(hv, key, val) \ hv_store((hv), ("" key ""), (sizeof(key)-1), (val), 0) #ifdef PERL_CORE # define hv_storehek(hv, hek, val) \ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \ HV_FETCH_ISSTORE|HV_FETCH_JUST_SV, (val), HEK_HASH(hek)) # define hv_fetchhek(hv, hek, lval) \ ((SV **) \ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \ (lval) \ ? (HV_FETCH_JUST_SV | HV_FETCH_LVALUE) \ : HV_FETCH_JUST_SV, \ NULL, HEK_HASH(hek))) # define hv_deletehek(hv, hek, flags) \ hv_common((hv), NULL, HEK_KEY(hek), HEK_LEN(hek), HEK_UTF8(hek), \ (flags)|HV_DELETE, NULL, HEK_HASH(hek)) #endif /* This refcounted he structure is used for storing the hints used for lexical pragmas. Without threads, it's basically struct he + refcount. With threads, life gets more complex as the structure needs to be shared between threads (because it hangs from OPs, which are shared), hence the alternate definition and mutex. */ struct refcounted_he; /* flags for the refcounted_he API */ #define REFCOUNTED_HE_KEY_UTF8 0x00000001 #ifdef PERL_CORE # define REFCOUNTED_HE_EXISTS 0x00000002 #endif #ifdef PERL_CORE /* Gosh. This really isn't a good name any longer. */ struct refcounted_he { struct refcounted_he *refcounted_he_next; /* next entry in chain */ #ifdef USE_ITHREADS U32 refcounted_he_hash; U32 refcounted_he_keylen; #else HEK *refcounted_he_hek; /* hint key */ #endif union { IV refcounted_he_u_iv; UV refcounted_he_u_uv; STRLEN refcounted_he_u_len; void *refcounted_he_u_ptr; /* Might be useful in future */ } refcounted_he_val; U32 refcounted_he_refcnt; /* reference count */ /* First byte is flags. Then NUL-terminated value. Then for ithreads, non-NUL terminated key. */ char refcounted_he_data[1]; }; /* =for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|"key"|U32 flags Like L</refcounted_he_fetch_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define refcounted_he_fetch_pvs(chain, key, flags) \ Perl_refcounted_he_fetch_pvn(aTHX_ chain, STR_WITH_LEN(key), 0, flags) /* =for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|"key"|SV *value|U32 flags Like L</refcounted_he_new_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define refcounted_he_new_pvs(parent, key, value, flags) \ Perl_refcounted_he_new_pvn(aTHX_ parent, STR_WITH_LEN(key), 0, value, flags) /* Flag bits are HVhek_UTF8, HVhek_WASUTF8, then */ #define HVrhek_undef 0x00 /* Value is undef. */ #define HVrhek_delete 0x10 /* Value is placeholder - signifies delete. */ #define HVrhek_IV 0x20 /* Value is IV. */ #define HVrhek_UV 0x30 /* Value is UV. */ #define HVrhek_PV 0x40 /* Value is a (byte) string. */ #define HVrhek_PV_UTF8 0x50 /* Value is a (utf8) string. */ /* Two spare. As these have to live in the optree, you can't store anything interpreter specific, such as SVs. :-( */ #define HVrhek_typemask 0x70 #ifdef USE_ITHREADS /* A big expression to find the key offset */ #define REF_HE_KEY(chain) \ ((((chain->refcounted_he_data[0] & 0x60) == 0x40) \ ? chain->refcounted_he_val.refcounted_he_u_len + 1 : 0) \ + 1 + chain->refcounted_he_data) #endif # ifdef USE_ITHREADS # define HINTS_REFCNT_LOCK MUTEX_LOCK(&PL_hints_mutex) # define HINTS_REFCNT_UNLOCK MUTEX_UNLOCK(&PL_hints_mutex) # else # define HINTS_REFCNT_LOCK NOOP # define HINTS_REFCNT_UNLOCK NOOP # endif #endif #ifdef USE_ITHREADS # define HINTS_REFCNT_INIT MUTEX_INIT(&PL_hints_mutex) # define HINTS_REFCNT_TERM MUTEX_DESTROY(&PL_hints_mutex) #else # define HINTS_REFCNT_INIT NOOP # define HINTS_REFCNT_TERM NOOP #endif /* Hash actions * Passed in PERL_MAGIC_uvar calls */ #define HV_DISABLE_UVAR_XKEY 0x01 /* We need to ensure that these don't clash with G_DISCARD, which is 2, as it is documented as being passed to hv_delete(). */ #define HV_FETCH_ISSTORE 0x04 #define HV_FETCH_ISEXISTS 0x08 #define HV_FETCH_LVALUE 0x10 #define HV_FETCH_JUST_SV 0x20 #define HV_DELETE 0x40 #define HV_FETCH_EMPTY_HE 0x80 /* Leave HeVAL null. */ /* Must not conflict with HVhek_UTF8 */ #define HV_NAME_SETALL 0x02 /* =for apidoc newHV Creates a new HV. The reference count is set to 1. =cut */ #define newHV() MUTABLE_HV(newSV_type(SVt_PVHV)) #include "hv_func.h" /* * ex: set ts=8 sts=4 sw=4 et: */ malloc_ctl.h 0000644 00000002764 15140731057 0007042 0 ustar 00 #ifndef PERL_MALLOC_CTL_H_ # define PERL_MALLOC_CTL_H_ struct perl_mstats { UV *nfree; UV *ntotal; IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain; IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains; IV minbucket; /* Level 1 info */ UV *bucket_mem_size; UV *bucket_available_size; UV nbuckets; }; typedef struct perl_mstats perl_mstats_t; PERL_CALLCONV Malloc_t Perl_malloc (MEM_SIZE nbytes); PERL_CALLCONV Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); PERL_CALLCONV Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); /* 'mfree' rather than 'free', since there is already a 'perl_free' * that causes clashes with case-insensitive linkers */ PERL_CALLCONV Free_t Perl_mfree (Malloc_t where); #ifndef NO_MALLOC_DYNAMIC_CFG /* IV configuration data */ enum { MallocCfg_FIRST_SBRK, MallocCfg_MIN_SBRK, MallocCfg_MIN_SBRK_FRAC1000, MallocCfg_SBRK_ALLOW_FAILURES, MallocCfg_SBRK_FAILURE_PRICE, MallocCfg_sbrk_goodness, MallocCfg_filldead, MallocCfg_fillalive, MallocCfg_fillcheck, MallocCfg_skip_cfg_env, MallocCfg_cfg_env_read, MallocCfg_emergency_buffer_size, MallocCfg_emergency_buffer_last_req, MallocCfg_emergency_buffer_prepared_size, MallocCfg_last }; /* char* configuration data */ enum { MallocCfgP_emergency_buffer, MallocCfgP_emergency_buffer_prepared, MallocCfgP_last }; START_EXTERN_C extern IV *MallocCfg_ptr; extern char **MallocCfgP_ptr; END_EXTERN_C #endif #endif dosish.h 0000644 00000012460 15140731057 0006214 0 ustar 00 /* dosish.h * * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999, * 2000, 2001, 2002, 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #define ABORT() abort(); #ifndef SH_PATH #define SH_PATH "/bin/sh" #endif #ifdef DJGPP # define BIT_BUCKET "nul" # define OP_BINARY O_BINARY # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v) Perl_DJGPP_init(c,v); PERLIO_INIT # define init_os_extras Perl_init_os_extras # define HAS_UTIME # define HAS_KILL char *djgpp_pathexp (const char*); void Perl_DJGPP_init (int *argcp,char ***argvp); # if (DJGPP==2 && DJGPP_MINOR < 2) # define NO_LOCALECONV_MON_THOUSANDS_SEP # endif # ifndef PERL_CORE # define PERL_FS_VER_FMT "%d_%d_%d" # endif # define PERL_FS_VERSION STRINGIFY(PERL_REVISION) "_" \ STRINGIFY(PERL_VERSION) "_" \ STRINGIFY(PERL_SUBVERSION) #elif defined(WIN32) # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT # define PERL_SYS_TERM_BODY() Perl_win32_term() # define BIT_BUCKET "nul" #elif defined(NETWARE) # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT # define BIT_BUCKET "nwnul" #else # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT # define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */ #endif #ifndef PERL_SYS_TERM_BODY # define PERL_SYS_TERM_BODY() \ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ ENV_TERM; #endif #define dXSUB_SYS dNOOP /* USEMYBINMODE * This symbol, if defined, indicates that the program should * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure * that a file is in "binary" mode -- that is, that no translation * of bytes occurs on read or write operations. */ #undef USEMYBINMODE /* Stat_t: * This symbol holds the type used to declare buffers for information * returned by stat(). It's usually just struct stat. It may be necessary * to include <sys/stat.h> and <sys/types.h> to get any typedef'ed * information. */ #if defined(WIN64) || defined(USE_LARGE_FILES) # define Stat_t struct _stati64 #else # define Stat_t struct stat #endif /* USE_STAT_RDEV: * This symbol is defined if this system has a stat structure declaring * st_rdev */ #define USE_STAT_RDEV /**/ /* ACME_MESS: * This symbol, if defined, indicates that error messages should be * should be generated in a format that allows the use of the Acme * GUI/editor's autofind feature. */ #undef ACME_MESS /**/ /* ALTERNATE_SHEBANG: * This symbol, if defined, contains a "magic" string which may be used * as the first line of a Perl program designed to be executed directly * by name, instead of the standard Unix #!. If ALTERNATE_SHEBANG * begins with a character other then #, then Perl will only treat * it as a command line if it finds the string "perl" in the first * word; otherwise it's treated as the first line of code in the script. * (IOW, Perl won't hand off to another interpreter via an alternate * shebang sequence that might be legal Perl code.) */ /* #define ALTERNATE_SHEBANG "#!" / **/ #include <signal.h> /* * fwrite1() should be a routine with the same calling sequence as fwrite(), * but which outputs all of the bytes requested as a single stream (unlike * fwrite() itself, which on some systems outputs several distinct records * if the number_of_items parameter is >1). */ #define fwrite1 fwrite #define Fstat(fd,bufptr) fstat((fd),(bufptr)) #ifdef DJGPP # define Fflush(fp) djgpp_fflush(fp) #else # define Fflush(fp) fflush(fp) #endif #define Mkdir(path,mode) mkdir((path),(mode)) #ifndef WIN32 # define Stat(fname,bufptr) stat((fname),(bufptr)) #else # define HAS_IOCTL # define HAS_UTIME # define HAS_KILL # define HAS_WAIT # define HAS_CHOWN #endif /* WIN32 */ /* * <rich@phekda.freeserve.co.uk>: The DJGPP port has code that converts * the return code of system() into the form that Unixy wait usually * returns: * * - signal number in bits 0-6; * - core dump flag in bit 7; * - exit code in bits 8-15. * * Bits 0-7 are always zero for DJGPP, because it uses system(). * See djgpp.c. * * POSIX::W* use the W* macros from <sys/wait.h> to decode * the return code. Unfortunately the W* macros for DJGPP use * a different format than Unixy wait does. So there's a mismatch * and, say, WEXITSTATUS($?) will return bogus values. * * So here we add hack to redefine the W* macros from DJGPP's <sys/wait.h> * to work with our return-code conversion. */ #ifdef DJGPP #include <sys/wait.h> #undef WEXITSTATUS #undef WIFEXITED #undef WIFSIGNALED #undef WIFSTOPPED #undef WNOHANG #undef WSTOPSIG #undef WTERMSIG #undef WUNTRACED #define WEXITSTATUS(stat_val) ((stat_val) >> 8) #define WIFEXITED(stat_val) 0 #define WIFSIGNALED(stat_val) 0 #define WIFSTOPPED(stat_val) 0 #define WNOHANG 0 #define WSTOPSIG(stat_val) 0 #define WTERMSIG(stat_val) 0 #define WUNTRACED 0 #endif /* Don't go reading from /dev/urandom */ #define PERL_NO_DEV_RANDOM /* * ex: set ts=8 sts=4 sw=4 et: */ thread.h 0000644 00000027477 15140731057 0006210 0 ustar 00 /* thread.h * * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, * by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #if defined(USE_ITHREADS) #if defined(VMS) #include <builtins.h> #endif #ifdef WIN32 # include <win32thread.h> #elif defined(NETWARE) # include <nw5thread.h> #else # ifdef OLD_PTHREADS_API /* Here be dragons. */ # define DETACH(t) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_detach(&(t)->self))) { \ MUTEX_UNLOCK(&(t)->mutex); \ Perl_croak_nocontext("panic: DETACH (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } \ } STMT_END # define PERL_GET_CONTEXT Perl_get_context() # define PERL_SET_CONTEXT(t) Perl_set_context((void*)t) # define PTHREAD_GETSPECIFIC_INT # ifdef DJGPP # define pthread_addr_t any_t # define NEED_PTHREAD_INIT # define PTHREAD_CREATE_JOINABLE (1) # endif # ifdef OEMVS # define pthread_addr_t void * # define pthread_create(t,a,s,d) pthread_create(t,&(a),s,d) # define pthread_keycreate pthread_key_create # endif # ifdef VMS # define pthread_attr_init(a) pthread_attr_create(a) # define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_setdetach_np(a,s) # define PTHREAD_CREATE(t,a,s,d) pthread_create(t,a,s,d) # define pthread_key_create(k,d) pthread_keycreate(k,(pthread_destructor_t)(d)) # define pthread_mutexattr_init(a) pthread_mutexattr_create(a) # define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t) # endif # if defined(__hpux) && defined(__ux_version) && __ux_version <= 1020 # define pthread_attr_init(a) pthread_attr_create(a) /* XXX pthread_setdetach_np() missing in DCE threads on HP-UX 10.20 */ # define PTHREAD_ATTR_SETDETACHSTATE(a,s) (0) # define PTHREAD_CREATE(t,a,s,d) pthread_create(t,a,s,d) # define pthread_key_create(k,d) pthread_keycreate(k,(pthread_destructor_t)(d)) # define pthread_mutexattr_init(a) pthread_mutexattr_create(a) # define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t) # endif # if defined(DJGPP) || defined(OEMVS) # define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,&(s)) # define YIELD pthread_yield(NULL) # endif # endif # if !defined(__hpux) || !defined(__ux_version) || __ux_version > 1020 # define pthread_mutexattr_default NULL # define pthread_condattr_default NULL # endif #endif #ifndef PTHREAD_CREATE /* You are not supposed to pass NULL as the 2nd arg of PTHREAD_CREATE(). */ # define PTHREAD_CREATE(t,a,s,d) pthread_create(t,&(a),s,d) #endif #ifndef PTHREAD_ATTR_SETDETACHSTATE # define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,s) #endif #ifndef PTHREAD_CREATE_JOINABLE # ifdef OLD_PTHREAD_CREATE_JOINABLE # define PTHREAD_CREATE_JOINABLE OLD_PTHREAD_CREATE_JOINABLE # else # define PTHREAD_CREATE_JOINABLE 0 /* Panic? No, guess. */ # endif #endif #ifdef __VMS /* Default is 1024 on VAX, 8192 otherwise */ # ifdef __ia64 # define THREAD_CREATE_NEEDS_STACK (48*1024) # else # define THREAD_CREATE_NEEDS_STACK (32*1024) # endif #endif #ifdef I_MACH_CTHREADS /* cthreads interface */ /* #include <mach/cthreads.h> is in perl.h #ifdef I_MACH_CTHREADS */ #define MUTEX_INIT(m) \ STMT_START { \ *m = mutex_alloc(); \ if (*m) { \ mutex_init(*m); \ } else { \ Perl_croak_nocontext("panic: MUTEX_INIT [%s:%d]", \ __FILE__, __LINE__); \ } \ } STMT_END #define MUTEX_LOCK(m) mutex_lock(*m) #define MUTEX_UNLOCK(m) mutex_unlock(*m) #define MUTEX_DESTROY(m) \ STMT_START { \ mutex_free(*m); \ *m = 0; \ } STMT_END #define COND_INIT(c) \ STMT_START { \ *c = condition_alloc(); \ if (*c) { \ condition_init(*c); \ } \ else { \ Perl_croak_nocontext("panic: COND_INIT [%s:%d]", \ __FILE__, __LINE__); \ } \ } STMT_END #define COND_SIGNAL(c) condition_signal(*c) #define COND_BROADCAST(c) condition_broadcast(*c) #define COND_WAIT(c, m) condition_wait(*c, *m) #define COND_DESTROY(c) \ STMT_START { \ condition_free(*c); \ *c = 0; \ } STMT_END #define THREAD_CREATE(thr, f) (thr->self = cthread_fork(f, thr), 0) #define THREAD_POST_CREATE(thr) NOOP #define THREAD_RET_TYPE any_t #define THREAD_RET_CAST(x) ((any_t) x) #define DETACH(t) cthread_detach(t->self) #define JOIN(t, avp) (*(avp) = MUTABLE_AV(cthread_join(t->self))) #define PERL_SET_CONTEXT(t) cthread_set_data(cthread_self(), t) #define PERL_GET_CONTEXT cthread_data(cthread_self()) #define INIT_THREADS cthread_init() #define YIELD cthread_yield() #define ALLOC_THREAD_KEY NOOP #define FREE_THREAD_KEY NOOP #define SET_THREAD_SELF(thr) (thr->self = cthread_self()) #endif /* I_MACH_CTHREADS */ #ifndef YIELD # ifdef SCHED_YIELD # define YIELD SCHED_YIELD # elif defined(HAS_SCHED_YIELD) # define YIELD sched_yield() # elif defined(HAS_PTHREAD_YIELD) /* pthread_yield(NULL) platforms are expected * to have #defined YIELD for themselves. */ # define YIELD pthread_yield() # endif #endif #ifdef __hpux # define MUTEX_INIT_NEEDS_MUTEX_ZEROED #endif #ifndef MUTEX_INIT # ifdef MUTEX_INIT_NEEDS_MUTEX_ZEROED /* Temporary workaround, true bug is deeper. --jhi 1999-02-25 */ # define MUTEX_INIT(m) \ STMT_START { \ int _eC_; \ Zero((m), 1, perl_mutex); \ if ((_eC_ = pthread_mutex_init((m), pthread_mutexattr_default))) \ Perl_croak_nocontext("panic: MUTEX_INIT (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # else # define MUTEX_INIT(m) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_mutex_init((m), pthread_mutexattr_default))) \ Perl_croak_nocontext("panic: MUTEX_INIT (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # endif # ifdef PERL_TSA_ACTIVE # define perl_pthread_mutex_lock(m) perl_tsa_mutex_lock(m) # define perl_pthread_mutex_unlock(m) perl_tsa_mutex_unlock(m) # else # define perl_pthread_mutex_lock(m) pthread_mutex_lock(m) # define perl_pthread_mutex_unlock(m) pthread_mutex_unlock(m) # endif # define MUTEX_LOCK(m) \ STMT_START { \ int _eC_; \ if ((_eC_ = perl_pthread_mutex_lock((m)))) \ Perl_croak_nocontext("panic: MUTEX_LOCK (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define MUTEX_UNLOCK(m) \ STMT_START { \ int _eC_; \ if ((_eC_ = perl_pthread_mutex_unlock((m)))) \ Perl_croak_nocontext("panic: MUTEX_UNLOCK (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define MUTEX_DESTROY(m) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_mutex_destroy((m)))) \ Perl_croak_nocontext("panic: MUTEX_DESTROY (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END #endif /* MUTEX_INIT */ #ifndef COND_INIT # define COND_INIT(c) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_cond_init((c), pthread_condattr_default))) \ Perl_croak_nocontext("panic: COND_INIT (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define COND_SIGNAL(c) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_cond_signal((c)))) \ Perl_croak_nocontext("panic: COND_SIGNAL (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define COND_BROADCAST(c) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_cond_broadcast((c)))) \ Perl_croak_nocontext("panic: COND_BROADCAST (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define COND_WAIT(c, m) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_cond_wait((c), (m)))) \ Perl_croak_nocontext("panic: COND_WAIT (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END # define COND_DESTROY(c) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_cond_destroy((c)))) \ Perl_croak_nocontext("panic: COND_DESTROY (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END #endif /* COND_INIT */ /* DETACH(t) must only be called while holding t->mutex */ #ifndef DETACH # define DETACH(t) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_detach((t)->self))) { \ MUTEX_UNLOCK(&(t)->mutex); \ Perl_croak_nocontext("panic: DETACH (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } \ } STMT_END #endif /* DETACH */ #ifndef JOIN # define JOIN(t, avp) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_join((t)->self, (void**)(avp)))) \ Perl_croak_nocontext("panic: pthread_join (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END #endif /* JOIN */ /* Use an unchecked fetch of thread-specific data instead of a checked one. * It would fail if the key were bogus, but if the key were bogus then * Really Bad Things would be happening anyway. --dan */ #if (defined(__ALPHA) && (__VMS_VER >= 70000000)) || \ (defined(__alpha) && defined(__osf__) && !defined(__GNUC__)) /* Available only on >= 4.0 */ # define HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP /* Configure test needed */ #endif #ifdef HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP # define PTHREAD_GETSPECIFIC(key) pthread_unchecked_getspecific_np(key) #else # define PTHREAD_GETSPECIFIC(key) pthread_getspecific(key) #endif #ifndef PERL_GET_CONTEXT # define PERL_GET_CONTEXT PTHREAD_GETSPECIFIC(PL_thr_key) #endif #ifndef PERL_SET_CONTEXT # define PERL_SET_CONTEXT(t) \ STMT_START { \ int _eC_; \ if ((_eC_ = pthread_setspecific(PL_thr_key, (void *)(t)))) \ Perl_croak_nocontext("panic: pthread_setspecific (%d) [%s:%d]", \ _eC_, __FILE__, __LINE__); \ } STMT_END #endif /* PERL_SET_CONTEXT */ #ifndef INIT_THREADS # ifdef NEED_PTHREAD_INIT # define INIT_THREADS pthread_init() # endif #endif #ifndef ALLOC_THREAD_KEY # define ALLOC_THREAD_KEY \ STMT_START { \ if (pthread_key_create(&PL_thr_key, 0)) { \ PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \ exit(1); \ } \ } STMT_END #endif #ifndef FREE_THREAD_KEY # define FREE_THREAD_KEY \ STMT_START { \ pthread_key_delete(PL_thr_key); \ } STMT_END #endif #ifndef PTHREAD_ATFORK # ifdef HAS_PTHREAD_ATFORK # define PTHREAD_ATFORK(prepare,parent,child) \ pthread_atfork(prepare,parent,child) # else # define PTHREAD_ATFORK(prepare,parent,child) \ NOOP # endif #endif #ifndef THREAD_RET_TYPE # define THREAD_RET_TYPE void * # define THREAD_RET_CAST(p) ((void *)(p)) #endif /* THREAD_RET */ # define LOCK_DOLLARZERO_MUTEX MUTEX_LOCK(&PL_dollarzero_mutex) # define UNLOCK_DOLLARZERO_MUTEX MUTEX_UNLOCK(&PL_dollarzero_mutex) #endif /* USE_ITHREADS */ #ifndef MUTEX_LOCK # define MUTEX_LOCK(m) NOOP #endif #ifndef MUTEX_UNLOCK # define MUTEX_UNLOCK(m) NOOP #endif #ifndef MUTEX_INIT # define MUTEX_INIT(m) NOOP #endif #ifndef MUTEX_DESTROY # define MUTEX_DESTROY(m) NOOP #endif #ifndef COND_INIT # define COND_INIT(c) NOOP #endif #ifndef COND_SIGNAL # define COND_SIGNAL(c) NOOP #endif #ifndef COND_BROADCAST # define COND_BROADCAST(c) NOOP #endif #ifndef COND_WAIT # define COND_WAIT(c, m) NOOP #endif #ifndef COND_DESTROY # define COND_DESTROY(c) NOOP #endif #ifndef LOCK_DOLLARZERO_MUTEX # define LOCK_DOLLARZERO_MUTEX NOOP #endif #ifndef UNLOCK_DOLLARZERO_MUTEX # define UNLOCK_DOLLARZERO_MUTEX NOOP #endif /* THR, SET_THR, and dTHR are there for compatibility with old versions */ #ifndef THR # define THR PERL_GET_THX #endif #ifndef SET_THR # define SET_THR(t) PERL_SET_THX(t) #endif #ifndef dTHR # define dTHR dNOOP #endif #ifndef INIT_THREADS # define INIT_THREADS NOOP #endif /* * ex: set ts=8 sts=4 sw=4 et: */ handy.h 0000644 00000375340 15140731057 0006037 0 ustar 00 /* handy.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, * 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2012 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* IMPORTANT NOTE: Everything whose name begins with an underscore is for * internal core Perl use only. */ #ifndef PERL_HANDY_H_ /* Guard against nested #inclusion */ #define PERL_HANDY_H_ #ifndef PERL_CORE # define Null(type) ((type)NULL) /* =head1 Handy Values =for apidoc AmnU||Nullch Null character pointer. (No longer available when C<PERL_CORE> is defined.) =for apidoc AmnU||Nullsv Null SV pointer. (No longer available when C<PERL_CORE> is defined.) =cut */ # define Nullch Null(char*) # define Nullfp Null(PerlIO*) # define Nullsv Null(SV*) #endif #ifdef TRUE #undef TRUE #endif #ifdef FALSE #undef FALSE #endif #define TRUE (1) #define FALSE (0) /* The MUTABLE_*() macros cast pointers to the types shown, in such a way * (compiler permitting) that casting away const-ness will give a warning; * e.g.: * * const SV *sv = ...; * AV *av1 = (AV*)sv; <== BAD: the const has been silently cast away * AV *av2 = MUTABLE_AV(sv); <== GOOD: it may warn */ #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) #else # define MUTABLE_PTR(p) ((void *) (p)) #endif #define MUTABLE_AV(p) ((AV *)MUTABLE_PTR(p)) #define MUTABLE_CV(p) ((CV *)MUTABLE_PTR(p)) #define MUTABLE_GV(p) ((GV *)MUTABLE_PTR(p)) #define MUTABLE_HV(p) ((HV *)MUTABLE_PTR(p)) #define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p)) #define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) #if defined(I_STDBOOL) && !defined(PERL_BOOL_AS_CHAR) # include <stdbool.h> # ifndef HAS_BOOL # define HAS_BOOL 1 # endif #endif /* bool is built-in for g++-2.6.3 and later, which might be used for extensions. <_G_config.h> defines _G_HAVE_BOOL, but we can't be sure _G_config.h will be included before this file. _G_config.h also defines _G_HAVE_BOOL for both gcc and g++, but only g++ actually has bool. Hence, _G_HAVE_BOOL is pretty useless for us. g++ can be identified by __GNUG__. Andy Dougherty February 2000 */ #ifdef __GNUG__ /* GNU g++ has bool built-in */ # ifndef PERL_BOOL_AS_CHAR # ifndef HAS_BOOL # define HAS_BOOL 1 # endif # endif #endif #ifndef HAS_BOOL # ifdef bool # undef bool # endif # define bool char # define HAS_BOOL 1 #endif /* =for apidoc Am|bool|cBOOL|bool expr Cast-to-bool. A simple S<C<(bool) I<expr>>> cast may not do the right thing: if C<bool> is defined as C<char>, for example, then the cast from C<int> is implementation-defined. C<(bool)!!(cbool)> in a ternary triggers a bug in xlc on AIX =cut */ #define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0) /* Try to figure out __func__ or __FUNCTION__ equivalent, if any. * XXX Should really be a Configure probe, with HAS__FUNCTION__ * and FUNCTION__ as results. * XXX Similarly, a Configure probe for __FILE__ and __LINE__ is needed. */ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */ # define FUNCTION__ __func__ #elif (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */ # define FUNCTION__ "" #else # define FUNCTION__ __FUNCTION__ /* Common extension. */ #endif /* XXX A note on the perl source internal type system. The original intent was that I32 be *exactly* 32 bits. Currently, we only guarantee that I32 is *at least* 32 bits. Specifically, if int is 64 bits, then so is I32. (This is the case for the Cray.) This has the advantage of meshing nicely with standard library calls (where we pass an I32 and the library is expecting an int), but the disadvantage that an I32 is not 32 bits. Andy Dougherty August 1996 There is no guarantee that there is *any* integral type with exactly 32 bits. It is perfectly legal for a system to have sizeof(short) == sizeof(int) == sizeof(long) == 8. Similarly, there is no guarantee that I16 and U16 have exactly 16 bits. For dealing with issues that may arise from various 32/64-bit systems, we will ask Configure to check out SHORTSIZE == sizeof(short) INTSIZE == sizeof(int) LONGSIZE == sizeof(long) LONGLONGSIZE == sizeof(long long) (if HAS_LONG_LONG) PTRSIZE == sizeof(void *) DOUBLESIZE == sizeof(double) LONG_DOUBLESIZE == sizeof(long double) (if HAS_LONG_DOUBLE). */ #ifdef I_INTTYPES /* e.g. Linux has int64_t without <inttypes.h> */ # include <inttypes.h> # ifdef INT32_MIN_BROKEN # undef INT32_MIN # define INT32_MIN (-2147483647-1) # endif # ifdef INT64_MIN_BROKEN # undef INT64_MIN # define INT64_MIN (-9223372036854775807LL-1) # endif #endif typedef I8TYPE I8; typedef U8TYPE U8; typedef I16TYPE I16; typedef U16TYPE U16; typedef I32TYPE I32; typedef U32TYPE U32; #ifdef QUADKIND typedef I64TYPE I64; typedef U64TYPE U64; #endif #if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX) /* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type. Please search CHAR_MAX in perl.h for further details. */ #define U8_MAX UINT8_MAX #define U8_MIN UINT8_MIN #define I16_MAX INT16_MAX #define I16_MIN INT16_MIN #define U16_MAX UINT16_MAX #define U16_MIN UINT16_MIN #define I32_MAX INT32_MAX #define I32_MIN INT32_MIN #ifndef UINT32_MAX_BROKEN /* e.g. HP-UX with gcc messes this up */ # define U32_MAX UINT32_MAX #else # define U32_MAX 4294967295U #endif #define U32_MIN UINT32_MIN #else /* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type. Please search CHAR_MAX in perl.h for further details. */ #define U8_MAX PERL_UCHAR_MAX #define U8_MIN PERL_UCHAR_MIN #define I16_MAX PERL_SHORT_MAX #define I16_MIN PERL_SHORT_MIN #define U16_MAX PERL_USHORT_MAX #define U16_MIN PERL_USHORT_MIN #if LONGSIZE > 4 # define I32_MAX PERL_INT_MAX # define I32_MIN PERL_INT_MIN # define U32_MAX PERL_UINT_MAX # define U32_MIN PERL_UINT_MIN #else # define I32_MAX PERL_LONG_MAX # define I32_MIN PERL_LONG_MIN # define U32_MAX PERL_ULONG_MAX # define U32_MIN PERL_ULONG_MIN #endif #endif /* These C99 typedefs are useful sometimes for, say, loop variables whose * maximum values are small, but for which speed trumps size. If we have a C99 * compiler, use that. Otherwise, a plain 'int' should be good enough. * * Restrict these to core for now until we are more certain this is a good * idea. */ #if defined(PERL_CORE) || defined(PERL_EXT) # ifdef I_STDINT typedef int_fast8_t PERL_INT_FAST8_T; typedef uint_fast8_t PERL_UINT_FAST8_T; typedef int_fast16_t PERL_INT_FAST16_T; typedef uint_fast16_t PERL_UINT_FAST16_T; # else typedef int PERL_INT_FAST8_T; typedef unsigned int PERL_UINT_FAST8_T; typedef int PERL_INT_FAST16_T; typedef unsigned int PERL_UINT_FAST16_T; # endif #endif /* log(2) (i.e., log base 10 of 2) is pretty close to 0.30103, just in case * anyone is grepping for it */ #define BIT_DIGITS(N) (((N)*146)/485 + 1) /* log10(2) =~ 146/485 */ #define TYPE_DIGITS(T) BIT_DIGITS(sizeof(T) * 8) #define TYPE_CHARS(T) (TYPE_DIGITS(T) + 2) /* sign, NUL */ /* Unused by core; should be deprecated */ #define Ctl(ch) ((ch) & 037) #if defined(PERL_CORE) || defined(PERL_EXT) # ifndef MIN # define MIN(a,b) ((a) < (b) ? (a) : (b)) # endif # ifndef MAX # define MAX(a,b) ((a) > (b) ? (a) : (b)) # endif #endif /* Returns a boolean as to whether the input unsigned number is a power of 2 * (2**0, 2**1, etc). In other words if it has just a single bit set. * If not, subtracting 1 would leave the uppermost bit set, so the & would * yield non-zero */ #if defined(PERL_CORE) || defined(PERL_EXT) # define isPOWER_OF_2(n) ((n) && ((n) & ((n)-1)) == 0) #endif /* =for apidoc Am|void|__ASSERT_|bool expr This is a helper macro to avoid preprocessor issues, replaced by nothing unless under DEBUGGING, where it expands to an assert of its argument, followed by a comma (hence the comma operator). If we just used a straight assert(), we would get a comma with nothing before it when not DEBUGGING. =cut We also use empty definition under Coverity since the __ASSERT__ checks often check for things that Really Cannot Happen, and Coverity detects that and gets all excited. */ #if defined(DEBUGGING) && !defined(__COVERITY__) \ && ! defined(PERL_SMALL_MACRO_BUFFER) # define __ASSERT_(statement) assert(statement), #else # define __ASSERT_(statement) #endif /* =head1 SV Manipulation Functions =for apidoc Ama|SV*|newSVpvs|"literal string" Like C<newSVpvn>, but takes a literal string instead of a string/length pair. =for apidoc Ama|SV*|newSVpvs_flags|"literal string"|U32 flags Like C<newSVpvn_flags>, but takes a literal string instead of a string/length pair. =for apidoc Ama|SV*|newSVpvs_share|"literal string" Like C<newSVpvn_share>, but takes a literal string instead of a string/length pair and omits the hash parameter. =for apidoc Am|void|sv_catpvs_flags|SV* sv|"literal string"|I32 flags Like C<sv_catpvn_flags>, but takes a literal string instead of a string/length pair. =for apidoc Am|void|sv_catpvs_nomg|SV* sv|"literal string" Like C<sv_catpvn_nomg>, but takes a literal string instead of a string/length pair. =for apidoc Am|void|sv_catpvs|SV* sv|"literal string" Like C<sv_catpvn>, but takes a literal string instead of a string/length pair. =for apidoc Am|void|sv_catpvs_mg|SV* sv|"literal string" Like C<sv_catpvn_mg>, but takes a literal string instead of a string/length pair. =for apidoc Am|void|sv_setpvs|SV* sv|"literal string" Like C<sv_setpvn>, but takes a literal string instead of a string/length pair. =for apidoc Am|void|sv_setpvs_mg|SV* sv|"literal string" Like C<sv_setpvn_mg>, but takes a literal string instead of a string/length pair. =for apidoc Am|SV *|sv_setref_pvs|SV *const rv|const char *const classname|"literal string" Like C<sv_setref_pvn>, but takes a literal string instead of a string/length pair. =head1 Memory Management =for apidoc Ama|char*|savepvs|"literal string" Like C<savepvn>, but takes a literal string instead of a string/length pair. =for apidoc Ama|char*|savesharedpvs|"literal string" A version of C<savepvs()> which allocates the duplicate string in memory which is shared between threads. =head1 GV Functions =for apidoc Am|HV*|gv_stashpvs|"name"|I32 create Like C<gv_stashpvn>, but takes a literal string instead of a string/length pair. =head1 Hash Manipulation Functions =for apidoc Am|SV**|hv_fetchs|HV* tb|"key"|I32 lval Like C<hv_fetch>, but takes a literal string instead of a string/length pair. =for apidoc Am|SV**|hv_stores|HV* tb|"key"|SV* val Like C<hv_store>, but takes a literal string instead of a string/length pair and omits the hash parameter. =head1 Lexer interface =for apidoc Amx|void|lex_stuff_pvs|"pv"|U32 flags Like L</lex_stuff_pvn>, but takes a literal string instead of a string/length pair. =cut */ /* =head1 Handy Values =for apidoc Amu|pair|STR_WITH_LEN|"literal string" Returns two comma separated tokens of the input literal string, and its length. This is convenience macro which helps out in some API calls. Note that it can't be used as an argument to macros or functions that under some configurations might be macros, which means that it requires the full Perl_xxx(aTHX_ ...) form for any API calls where it's used. =cut */ #define STR_WITH_LEN(s) ("" s ""), (sizeof(s)-1) /* STR_WITH_LEN() shortcuts */ #define newSVpvs(str) Perl_newSVpvn(aTHX_ STR_WITH_LEN(str)) #define newSVpvs_flags(str,flags) \ Perl_newSVpvn_flags(aTHX_ STR_WITH_LEN(str), flags) #define newSVpvs_share(str) Perl_newSVpvn_share(aTHX_ STR_WITH_LEN(str), 0) #define sv_catpvs_flags(sv, str, flags) \ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), flags) #define sv_catpvs_nomg(sv, str) \ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), 0) #define sv_catpvs(sv, str) \ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC) #define sv_catpvs_mg(sv, str) \ Perl_sv_catpvn_flags(aTHX_ sv, STR_WITH_LEN(str), SV_GMAGIC|SV_SMAGIC) #define sv_setpvs(sv, str) Perl_sv_setpvn(aTHX_ sv, STR_WITH_LEN(str)) #define sv_setpvs_mg(sv, str) Perl_sv_setpvn_mg(aTHX_ sv, STR_WITH_LEN(str)) #define sv_setref_pvs(rv, classname, str) \ Perl_sv_setref_pvn(aTHX_ rv, classname, STR_WITH_LEN(str)) #define savepvs(str) Perl_savepvn(aTHX_ STR_WITH_LEN(str)) #define savesharedpvs(str) Perl_savesharedpvn(aTHX_ STR_WITH_LEN(str)) #define gv_stashpvs(str, create) \ Perl_gv_stashpvn(aTHX_ STR_WITH_LEN(str), create) #define gv_fetchpvs(namebeg, add, sv_type) \ Perl_gv_fetchpvn_flags(aTHX_ STR_WITH_LEN(namebeg), add, sv_type) #define gv_fetchpvn(namebeg, len, add, sv_type) \ Perl_gv_fetchpvn_flags(aTHX_ namebeg, len, add, sv_type) #define sv_catxmlpvs(dsv, str, utf8) \ Perl_sv_catxmlpvn(aTHX_ dsv, STR_WITH_LEN(str), utf8) #define lex_stuff_pvs(pv,flags) Perl_lex_stuff_pvn(aTHX_ STR_WITH_LEN(pv), flags) #define get_cvs(str, flags) \ Perl_get_cvn_flags(aTHX_ STR_WITH_LEN(str), (flags)) /* =head1 Miscellaneous Functions =for apidoc Am|bool|strNE|char* s1|char* s2 Test two C<NUL>-terminated strings to see if they are different. Returns true or false. =for apidoc Am|bool|strEQ|char* s1|char* s2 Test two C<NUL>-terminated strings to see if they are equal. Returns true or false. =for apidoc Am|bool|strLT|char* s1|char* s2 Test two C<NUL>-terminated strings to see if the first, C<s1>, is less than the second, C<s2>. Returns true or false. =for apidoc Am|bool|strLE|char* s1|char* s2 Test two C<NUL>-terminated strings to see if the first, C<s1>, is less than or equal to the second, C<s2>. Returns true or false. =for apidoc Am|bool|strGT|char* s1|char* s2 Test two C<NUL>-terminated strings to see if the first, C<s1>, is greater than the second, C<s2>. Returns true or false. =for apidoc Am|bool|strGE|char* s1|char* s2 Test two C<NUL>-terminated strings to see if the first, C<s1>, is greater than or equal to the second, C<s2>. Returns true or false. =for apidoc Am|bool|strnNE|char* s1|char* s2|STRLEN len Test two C<NUL>-terminated strings to see if they are different. The C<len> parameter indicates the number of bytes to compare. Returns true or false. (A wrapper for C<strncmp>). =for apidoc Am|bool|strnEQ|char* s1|char* s2|STRLEN len Test two C<NUL>-terminated strings to see if they are equal. The C<len> parameter indicates the number of bytes to compare. Returns true or false. (A wrapper for C<strncmp>). =for apidoc Am|bool|memEQ|char* s1|char* s2|STRLEN len Test two buffers (which may contain embedded C<NUL> characters, to see if they are equal. The C<len> parameter indicates the number of bytes to compare. Returns zero if equal, or non-zero if non-equal. =for apidoc Am|bool|memEQs|char* s1|STRLEN l1|"s2" Like L</memEQ>, but the second string is a literal enclosed in double quotes, C<l1> gives the number of bytes in C<s1>. Returns zero if equal, or non-zero if non-equal. =for apidoc Am|bool|memNE|char* s1|char* s2|STRLEN len Test two buffers (which may contain embedded C<NUL> characters, to see if they are not equal. The C<len> parameter indicates the number of bytes to compare. Returns zero if non-equal, or non-zero if equal. =for apidoc Am|bool|memNEs|char* s1|STRLEN l1|"s2" Like L</memNE>, but the second string is a literal enclosed in double quotes, C<l1> gives the number of bytes in C<s1>. Returns zero if non-equal, or zero if non-equal. =for apidoc Am|bool|memCHRs|"list"|char c Returns the position of the first occurence of the byte C<c> in the literal string C<"list">, or NULL if C<c> doesn't appear in C<"list">. All bytes are treated as unsigned char. Thus this macro can be used to determine if C<c> is in a set of particular characters. Unlike L<strchr(3)>, it works even if C<c> is C<NUL> (and the set doesn't include C<NUL>). =cut New macros should use the following conventions for their names (which are based on the underlying C library functions): (mem | str n? ) (EQ | NE | LT | GT | GE | (( BEGIN | END ) P? )) l? s? Each has two main parameters, string-like operands that are compared against each other, as specified by the macro name. Some macros may additionally have one or potentially even two length parameters. If a length parameter applies to both string parameters, it will be positioned third; otherwise any length parameter immediately follows the string parameter it applies to. If the prefix to the name is 'str', the string parameter is a pointer to a C language string. Such a string does not contain embedded NUL bytes; its length may be unknown, but can be calculated by C<strlen()>, since it is terminated by a NUL, which isn't included in its length. The optional 'n' following 'str' means that there is a third parameter, giving the maximum number of bytes to look at in each string. Even if both strings are longer than the length parameter, those extra bytes will be unexamined. The 's' suffix means that the 2nd byte string parameter is a literal C double-quoted string. Its length will automatically be calculated by the macro, so no length parameter will ever be needed for it. If the prefix is 'mem', the string parameters don't have to be C strings; they may contain embedded NUL bytes, do not necessarily have a terminating NUL, and their lengths can be known only through other means, which in practice are additional parameter(s) passed to the function. All 'mem' functions have at least one length parameter. Barring any 'l' or 's' suffix, there is a single length parameter, in position 3, which applies to both string parameters. The 's' suffix means, as described above, that the 2nd string is a literal double-quoted C string (hence its length is calculated by the macro, and the length parameter to the function applies just to the first string parameter, and hence is positioned just after it). An 'l' suffix means that the 2nd string parameter has its own length parameter, and the signature will look like memFOOl(s1, l1, s2, l2). BEGIN (and END) are for testing if the 2nd string is an initial (or final) substring of the 1st string. 'P' if present indicates that the substring must be a "proper" one in tha mathematical sense that the first one must be strictly larger than the 2nd. */ #define strNE(s1,s2) (strcmp(s1,s2) != 0) #define strEQ(s1,s2) (strcmp(s1,s2) == 0) #define strLT(s1,s2) (strcmp(s1,s2) < 0) #define strLE(s1,s2) (strcmp(s1,s2) <= 0) #define strGT(s1,s2) (strcmp(s1,s2) > 0) #define strGE(s1,s2) (strcmp(s1,s2) >= 0) #define strnNE(s1,s2,l) (strncmp(s1,s2,l) != 0) #define strnEQ(s1,s2,l) (strncmp(s1,s2,l) == 0) #define memEQ(s1,s2,l) (memcmp(((const void *) (s1)), ((const void *) (s2)), l) == 0) #define memNE(s1,s2,l) (! memEQ(s1,s2,l)) /* memEQ and memNE where second comparand is a string constant */ #define memEQs(s1, l, s2) \ (((sizeof(s2)-1) == (l)) && memEQ((s1), ("" s2 ""), (sizeof(s2)-1))) #define memNEs(s1, l, s2) (! memEQs(s1, l, s2)) /* Keep these private until we decide it was a good idea */ #if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_EXT_POSIX) #define strBEGINs(s1,s2) (strncmp(s1,"" s2 "", sizeof(s2)-1) == 0) #define memBEGINs(s1, l, s2) \ ( (Ptrdiff_t) (l) >= (Ptrdiff_t) sizeof(s2) - 1 \ && memEQ(s1, "" s2 "", sizeof(s2)-1)) #define memBEGINPs(s1, l, s2) \ ( (Ptrdiff_t) (l) > (Ptrdiff_t) sizeof(s2) - 1 \ && memEQ(s1, "" s2 "", sizeof(s2)-1)) #define memENDs(s1, l, s2) \ ( (Ptrdiff_t) (l) >= (Ptrdiff_t) sizeof(s2) - 1 \ && memEQ(s1 + (l) - (sizeof(s2) - 1), "" s2 "", sizeof(s2)-1)) #define memENDPs(s1, l, s2) \ ( (Ptrdiff_t) (l) > (Ptrdiff_t) sizeof(s2) \ && memEQ(s1 + (l) - (sizeof(s2) - 1), "" s2 "", sizeof(s2)-1)) #endif /* End of making macros private */ #define memLT(s1,s2,l) (memcmp(s1,s2,l) < 0) #define memLE(s1,s2,l) (memcmp(s1,s2,l) <= 0) #define memGT(s1,s2,l) (memcmp(s1,s2,l) > 0) #define memGE(s1,s2,l) (memcmp(s1,s2,l) >= 0) #define memCHRs(s1,c) ((const char *) memchr("" s1 "" , c, sizeof(s1)-1)) /* * Character classes. * * Unfortunately, the introduction of locales means that we * can't trust isupper(), etc. to tell the truth. And when * it comes to /\w+/ with tainting enabled, we *must* be able * to trust our character classes. * * Therefore, the default tests in the text of Perl will be * independent of locale. Any code that wants to depend on * the current locale will use the tests that begin with "lc". */ #ifdef HAS_SETLOCALE /* XXX Is there a better test for this? */ # ifndef CTYPE256 # define CTYPE256 # endif #endif /* =head1 Character classification This section is about functions (really macros) that classify characters into types, such as punctuation versus alphabetic, etc. Most of these are analogous to regular expression character classes. (See L<perlrecharclass/POSIX Character Classes>.) There are several variants for each class. (Not all macros have all variants; each item below lists the ones valid for it.) None are affected by C<use bytes>, and only the ones with C<LC> in the name are affected by the current locale. The base function, e.g., C<isALPHA()>, takes any signed or unsigned value, treating it as a code point, and returns a boolean as to whether or not the character represented by it is (or on non-ASCII platforms, corresponds to) an ASCII character in the named class based on platform, Unicode, and Perl rules. If the input is a number that doesn't fit in an octet, FALSE is returned. Variant C<isI<FOO>_A> (e.g., C<isALPHA_A()>) is identical to the base function with no suffix C<"_A">. This variant is used to emphasize by its name that only ASCII-range characters can return TRUE. Variant C<isI<FOO>_L1> imposes the Latin-1 (or EBCDIC equivalent) character set onto the platform. That is, the code points that are ASCII are unaffected, since ASCII is a subset of Latin-1. But the non-ASCII code points are treated as if they are Latin-1 characters. For example, C<isWORDCHAR_L1()> will return true when called with the code point 0xDF, which is a word character in both ASCII and EBCDIC (though it represents different characters in each). If the input is a number that doesn't fit in an octet, FALSE is returned. (Perl's documentation uses a colloquial definition of Latin-1, to include all code points below 256.) Variant C<isI<FOO>_uvchr> is exactly like the C<isI<FOO>_L1> variant, for inputs below 256, but if the code point is larger than 255, Unicode rules are used to determine if it is in the character class. For example, C<isWORDCHAR_uvchr(0x100)> returns TRUE, since 0x100 is LATIN CAPITAL LETTER A WITH MACRON in Unicode, and is a word character. Variants C<isI<FOO>_utf8> and C<isI<FOO>_utf8_safe> are like C<isI<FOO>_uvchr>, but are used for UTF-8 encoded strings. The two forms are different names for the same thing. Each call to one of these classifies the first character of the string starting at C<p>. The second parameter, C<e>, points to anywhere in the string beyond the first character, up to one byte past the end of the entire string. Although both variants are identical, the suffix C<_safe> in one name emphasizes that it will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return FALSE, at the discretion of the implementation, and subject to change in future releases. Variant C<isI<FOO>_LC> is like the C<isI<FOO>_A> and C<isI<FOO>_L1> variants, but the result is based on the current locale, which is what C<LC> in the name stands for. If Perl can determine that the current locale is a UTF-8 locale, it uses the published Unicode rules; otherwise, it uses the C library function that gives the named classification. For example, C<isDIGIT_LC()> when not in a UTF-8 locale returns the result of calling C<isdigit()>. FALSE is always returned if the input won't fit into an octet. On some platforms where the C library function is known to be defective, Perl changes its result to follow the POSIX standard's rules. Variant C<isI<FOO>_LC_uvchr> acts exactly like C<isI<FOO>_LC> for inputs less than 256, but for larger ones it returns the Unicode classification of the code point. Variants C<isI<FOO>_LC_utf8> and C<isI<FOO>_LC_utf8_safe> are like C<isI<FOO>_LC_uvchr>, but are used for UTF-8 encoded strings. The two forms are different names for the same thing. Each call to one of these classifies the first character of the string starting at C<p>. The second parameter, C<e>, points to anywhere in the string beyond the first character, up to one byte past the end of the entire string. Although both variants are identical, the suffix C<_safe> in one name emphasizes that it will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return FALSE, at the discretion of the implementation, and subject to change in future releases. =for apidoc Am|bool|isALPHA|int ch Returns a boolean indicating whether the specified input is one of C<[A-Za-z]>, analogous to C<m/[[:alpha:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isALPHA_A>, C<isALPHA_L1>, C<isALPHA_uvchr>, C<isALPHA_utf8>, C<isALPHA_utf8_safe>, C<isALPHA_LC>, C<isALPHA_LC_uvchr>, C<isALPHA_LC_utf8>, and C<isALPHA_LC_utf8_safe>. =cut Here and below, we add the protoypes of these macros for downstream programs that would be interested in them, such as Devel::PPPort =for apidoc Amh|bool|isALPHA_A|int ch =for apidoc Amh|bool|isALPHA_L1|int ch =for apidoc Amh|bool|isALPHA_uvchr|int ch =for apidoc Amh|bool|isALPHA_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isALPHA_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isALPHA_LC|int ch =for apidoc Amh|bool|isALPHA_LC_uvchr|int ch =for apidoc Amh|bool|isALPHA_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isALPHANUMERIC|int ch Returns a boolean indicating whether the specified character is one of C<[A-Za-z0-9]>, analogous to C<m/[[:alnum:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isALPHANUMERIC_A>, C<isALPHANUMERIC_L1>, C<isALPHANUMERIC_uvchr>, C<isALPHANUMERIC_utf8>, C<isALPHANUMERIC_utf8_safe>, C<isALPHANUMERIC_LC>, C<isALPHANUMERIC_LC_uvchr>, C<isALPHANUMERIC_LC_utf8>, and C<isALPHANUMERIC_LC_utf8_safe>. A (discouraged from use) synonym is C<isALNUMC> (where the C<C> suffix means this corresponds to the C language alphanumeric definition). Also there are the variants C<isALNUMC_A>, C<isALNUMC_L1> C<isALNUMC_LC>, and C<isALNUMC_LC_uvchr>. =for apidoc Amh|bool|isALPHANUMERIC_A|int ch =for apidoc Amh|bool|isALPHANUMERIC_L1|int ch =for apidoc Amh|bool|isALPHANUMERIC_uvchr|int ch =for apidoc Amh|bool|isALPHANUMERIC_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isALPHANUMERIC_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isALPHANUMERIC_LC|int ch =for apidoc Amh|bool|isALPHANUMERIC_LC_uvchr|int ch =for apidoc Amh|bool|isALPHANUMERIC_LC_utf8_safe|U8 * s| U8 *end =for apidoc Amh|bool|isALNUMC|int ch =for apidoc Amh|bool|isALNUMC_A|int ch =for apidoc Amh|bool|isALNUMC_L1|int ch =for apidoc Amh|bool|isALNUMC_LC|int ch =for apidoc Amh|bool|isALNUMC_LC_uvchr|int ch =for apidoc Am|bool|isASCII|int ch Returns a boolean indicating whether the specified character is one of the 128 characters in the ASCII character set, analogous to C<m/[[:ascii:]]/>. On non-ASCII platforms, it returns TRUE iff this character corresponds to an ASCII character. Variants C<isASCII_A()> and C<isASCII_L1()> are identical to C<isASCII()>. See the L<top of this section|/Character classification> for an explanation of variants C<isASCII_uvchr>, C<isASCII_utf8>, C<isASCII_utf8_safe>, C<isASCII_LC>, C<isASCII_LC_uvchr>, C<isASCII_LC_utf8>, and C<isASCII_LC_utf8_safe>. Note, however, that some platforms do not have the C library routine C<isascii()>. In these cases, the variants whose names contain C<LC> are the same as the corresponding ones without. =for apidoc Amh|bool|isASCII_A|int ch =for apidoc Amh|bool|isASCII_L1|int ch =for apidoc Amh|bool|isASCII_uvchr|int ch =for apidoc Amh|bool|isASCII_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isASCII_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isASCII_LC|int ch =for apidoc Amh|bool|isASCII_LC_uvchr|int ch =for apidoc Amh|bool|isASCII_LC_utf8_safe|U8 * s| U8 *end Also note, that because all ASCII characters are UTF-8 invariant (meaning they have the exact same representation (always a single byte) whether encoded in UTF-8 or not), C<isASCII> will give the correct results when called with any byte in any string encoded or not in UTF-8. And similarly C<isASCII_utf8> and C<isASCII_utf8_safe> will work properly on any string encoded or not in UTF-8. =for apidoc Am|bool|isBLANK|char ch Returns a boolean indicating whether the specified character is a character considered to be a blank, analogous to C<m/[[:blank:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isBLANK_A>, C<isBLANK_L1>, C<isBLANK_uvchr>, C<isBLANK_utf8>, C<isBLANK_utf8_safe>, C<isBLANK_LC>, C<isBLANK_LC_uvchr>, C<isBLANK_LC_utf8>, and C<isBLANK_LC_utf8_safe>. Note, however, that some platforms do not have the C library routine C<isblank()>. In these cases, the variants whose names contain C<LC> are the same as the corresponding ones without. =for apidoc Amh|bool|isBLANK_A|int ch =for apidoc Amh|bool|isBLANK_L1|int ch =for apidoc Amh|bool|isBLANK_uvchr|int ch =for apidoc Amh|bool|isBLANK_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isBLANK_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isBLANK_LC|int ch =for apidoc Amh|bool|isBLANK_LC_uvchr|int ch =for apidoc Amh|bool|isBLANK_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isCNTRL|char ch Returns a boolean indicating whether the specified character is a control character, analogous to C<m/[[:cntrl:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isCNTRL_A>, C<isCNTRL_L1>, C<isCNTRL_uvchr>, C<isCNTRL_utf8>, C<isCNTRL_utf8_safe>, C<isCNTRL_LC>, C<isCNTRL_LC_uvchr>, C<isCNTRL_LC_utf8> and C<isCNTRL_LC_utf8_safe>. On EBCDIC platforms, you almost always want to use the C<isCNTRL_L1> variant. =for apidoc Amh|bool|isCNTRL_A|int ch =for apidoc Amh|bool|isCNTRL_L1|int ch =for apidoc Amh|bool|isCNTRL_uvchr|int ch =for apidoc Amh|bool|isCNTRL_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isCNTRL_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isCNTRL_LC|int ch =for apidoc Amh|bool|isCNTRL_LC_uvchr|int ch =for apidoc Amh|bool|isCNTRL_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isDIGIT|char ch Returns a boolean indicating whether the specified character is a digit, analogous to C<m/[[:digit:]]/>. Variants C<isDIGIT_A> and C<isDIGIT_L1> are identical to C<isDIGIT>. See the L<top of this section|/Character classification> for an explanation of variants C<isDIGIT_uvchr>, C<isDIGIT_utf8>, C<isDIGIT_utf8_safe>, C<isDIGIT_LC>, C<isDIGIT_LC_uvchr>, C<isDIGIT_LC_utf8>, and C<isDIGIT_LC_utf8_safe>. =for apidoc Amh|bool|isDIGIT_A|int ch =for apidoc Amh|bool|isDIGIT_L1|int ch =for apidoc Amh|bool|isDIGIT_uvchr|int ch =for apidoc Amh|bool|isDIGIT_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isDIGIT_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isDIGIT_LC|int ch =for apidoc Amh|bool|isDIGIT_LC_uvchr|int ch =for apidoc Amh|bool|isDIGIT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isGRAPH|char ch Returns a boolean indicating whether the specified character is a graphic character, analogous to C<m/[[:graph:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isGRAPH_A>, C<isGRAPH_L1>, C<isGRAPH_uvchr>, C<isGRAPH_utf8>, C<isGRAPH_utf8_safe>, C<isGRAPH_LC>, C<isGRAPH_LC_uvchr>, C<isGRAPH_LC_utf8_safe>, and C<isGRAPH_LC_utf8_safe>. =for apidoc Amh|bool|isGRAPH_A|int ch =for apidoc Amh|bool|isGRAPH_L1|int ch =for apidoc Amh|bool|isGRAPH_uvchr|int ch =for apidoc Amh|bool|isGRAPH_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isGRAPH_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isGRAPH_LC|int ch =for apidoc Amh|bool|isGRAPH_LC_uvchr|int ch =for apidoc Amh|bool|isGRAPH_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isLOWER|char ch Returns a boolean indicating whether the specified character is a lowercase character, analogous to C<m/[[:lower:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isLOWER_A>, C<isLOWER_L1>, C<isLOWER_uvchr>, C<isLOWER_utf8>, C<isLOWER_utf8_safe>, C<isLOWER_LC>, C<isLOWER_LC_uvchr>, C<isLOWER_LC_utf8>, and C<isLOWER_LC_utf8_safe>. =for apidoc Amh|bool|isLOWER_A|int ch =for apidoc Amh|bool|isLOWER_L1|int ch =for apidoc Amh|bool|isLOWER_uvchr|int ch =for apidoc Amh|bool|isLOWER_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isLOWER_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isLOWER_LC|int ch =for apidoc Amh|bool|isLOWER_LC_uvchr|int ch =for apidoc Amh|bool|isLOWER_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isOCTAL|char ch Returns a boolean indicating whether the specified character is an octal digit, [0-7]. The only two variants are C<isOCTAL_A> and C<isOCTAL_L1>; each is identical to C<isOCTAL>. =for apidoc Amh|bool|isOCTAL_A|int ch =for apidoc Amh|bool|isOCTAL_L1|int ch =for apidoc Am|bool|isPUNCT|char ch Returns a boolean indicating whether the specified character is a punctuation character, analogous to C<m/[[:punct:]]/>. Note that the definition of what is punctuation isn't as straightforward as one might desire. See L<perlrecharclass/POSIX Character Classes> for details. See the L<top of this section|/Character classification> for an explanation of variants C<isPUNCT_A>, C<isPUNCT_L1>, C<isPUNCT_uvchr>, C<isPUNCT_utf8>, C<isPUNCT_utf8_safe>, C<isPUNCT_LC>, C<isPUNCT_LC_uvchr>, C<isPUNCT_LC_utf8>, and C<isPUNCT_LC_utf8_safe>. =for apidoc Amh|bool|isPUNCT_A|int ch =for apidoc Amh|bool|isPUNCT_L1|int ch =for apidoc Amh|bool|isPUNCT_uvchr|int ch =for apidoc Amh|bool|isPUNCT_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isPUNCT_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isPUNCT_LC|int ch =for apidoc Amh|bool|isPUNCT_LC_uvchr|int ch =for apidoc Amh|bool|isPUNCT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isSPACE|char ch Returns a boolean indicating whether the specified character is a whitespace character. This is analogous to what C<m/\s/> matches in a regular expression. Starting in Perl 5.18 this also matches what C<m/[[:space:]]/> does. Prior to 5.18, only the locale forms of this macro (the ones with C<LC> in their names) matched precisely what C<m/[[:space:]]/> does. In those releases, the only difference, in the non-locale variants, was that C<isSPACE()> did not match a vertical tab. (See L</isPSXSPC> for a macro that matches a vertical tab in all releases.) See the L<top of this section|/Character classification> for an explanation of variants C<isSPACE_A>, C<isSPACE_L1>, C<isSPACE_uvchr>, C<isSPACE_utf8>, C<isSPACE_utf8_safe>, C<isSPACE_LC>, C<isSPACE_LC_uvchr>, C<isSPACE_LC_utf8>, and C<isSPACE_LC_utf8_safe>. =for apidoc Amh|bool|isSPACE_A|int ch =for apidoc Amh|bool|isSPACE_L1|int ch =for apidoc Amh|bool|isSPACE_uvchr|int ch =for apidoc Amh|bool|isSPACE_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isSPACE_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isSPACE_LC|int ch =for apidoc Amh|bool|isSPACE_LC_uvchr|int ch =for apidoc Amh|bool|isSPACE_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isPSXSPC|char ch (short for Posix Space) Starting in 5.18, this is identical in all its forms to the corresponding C<isSPACE()> macros. The locale forms of this macro are identical to their corresponding C<isSPACE()> forms in all Perl releases. In releases prior to 5.18, the non-locale forms differ from their C<isSPACE()> forms only in that the C<isSPACE()> forms don't match a Vertical Tab, and the C<isPSXSPC()> forms do. Otherwise they are identical. Thus this macro is analogous to what C<m/[[:space:]]/> matches in a regular expression. See the L<top of this section|/Character classification> for an explanation of variants C<isPSXSPC_A>, C<isPSXSPC_L1>, C<isPSXSPC_uvchr>, C<isPSXSPC_utf8>, C<isPSXSPC_utf8_safe>, C<isPSXSPC_LC>, C<isPSXSPC_LC_uvchr>, C<isPSXSPC_LC_utf8>, and C<isPSXSPC_LC_utf8_safe>. =for apidoc Amh|bool|isPSXSPC_A|int ch =for apidoc Amh|bool|isPSXSPC_L1|int ch =for apidoc Amh|bool|isPSXSPC_uvchr|int ch =for apidoc Amh|bool|isPSXSPC_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isPSXSPC_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isPSXSPC_LC|int ch =for apidoc Amh|bool|isPSXSPC_LC_uvchr|int ch =for apidoc Amh|bool|isPSXSPC_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isUPPER|char ch Returns a boolean indicating whether the specified character is an uppercase character, analogous to C<m/[[:upper:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isUPPER_A>, C<isUPPER_L1>, C<isUPPER_uvchr>, C<isUPPER_utf8>, C<isUPPER_utf8_safe>, C<isUPPER_LC>, C<isUPPER_LC_uvchr>, C<isUPPER_LC_utf8>, and C<isUPPER_LC_utf8_safe>. =for apidoc Amh|bool|isUPPER_A|int ch =for apidoc Amh|bool|isUPPER_L1|int ch =for apidoc Amh|bool|isUPPER_uvchr|int ch =for apidoc Amh|bool|isUPPER_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isUPPER_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isUPPER_LC|int ch =for apidoc Amh|bool|isUPPER_LC_uvchr|int ch =for apidoc Amh|bool|isUPPER_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isPRINT|char ch Returns a boolean indicating whether the specified character is a printable character, analogous to C<m/[[:print:]]/>. See the L<top of this section|/Character classification> for an explanation of variants C<isPRINT_A>, C<isPRINT_L1>, C<isPRINT_uvchr>, C<isPRINT_utf8>, C<isPRINT_utf8_safe>, C<isPRINT_LC>, C<isPRINT_LC_uvchr>, C<isPRINT_LC_utf8>, and C<isPRINT_LC_utf8_safe>. =for apidoc Amh|bool|isPRINT_A|int ch =for apidoc Amh|bool|isPRINT_L1|int ch =for apidoc Amh|bool|isPRINT_uvchr|int ch =for apidoc Amh|bool|isPRINT_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isPRINT_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isPRINT_LC|int ch =for apidoc Amh|bool|isPRINT_LC_uvchr|int ch =for apidoc Amh|bool|isPRINT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isWORDCHAR|char ch Returns a boolean indicating whether the specified character is a character that is a word character, analogous to what C<m/\w/> and C<m/[[:word:]]/> match in a regular expression. A word character is an alphabetic character, a decimal digit, a connecting punctuation character (such as an underscore), or a "mark" character that attaches to one of those (like some sort of accent). C<isALNUM()> is a synonym provided for backward compatibility, even though a word character includes more than the standard C language meaning of alphanumeric. See the L<top of this section|/Character classification> for an explanation of variants C<isWORDCHAR_A>, C<isWORDCHAR_L1>, C<isWORDCHAR_uvchr>, C<isWORDCHAR_utf8>, and C<isWORDCHAR_utf8_safe>. C<isWORDCHAR_LC>, C<isWORDCHAR_LC_uvchr>, C<isWORDCHAR_LC_utf8>, and C<isWORDCHAR_LC_utf8_safe> are also as described there, but additionally include the platform's native underscore. =for apidoc Amh|bool|isWORDCHAR_A|int ch =for apidoc Amh|bool|isWORDCHAR_L1|int ch =for apidoc Amh|bool|isWORDCHAR_uvchr|int ch =for apidoc Amh|bool|isWORDCHAR_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isWORDCHAR_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isWORDCHAR_LC|int ch =for apidoc Amh|bool|isWORDCHAR_LC_uvchr|int ch =for apidoc Amh|bool|isWORDCHAR_LC_utf8_safe|U8 * s| U8 *end =for apidoc Amh|bool|isALNUM|int ch =for apidoc Amh|bool|isALNUM_A|int ch =for apidoc Amh|bool|isALNUM_LC|int ch =for apidoc Amh|bool|isALNUM_LC_uvchr|int ch =for apidoc Am|bool|isXDIGIT|char ch Returns a boolean indicating whether the specified character is a hexadecimal digit. In the ASCII range these are C<[0-9A-Fa-f]>. Variants C<isXDIGIT_A()> and C<isXDIGIT_L1()> are identical to C<isXDIGIT()>. See the L<top of this section|/Character classification> for an explanation of variants C<isXDIGIT_uvchr>, C<isXDIGIT_utf8>, C<isXDIGIT_utf8_safe>, C<isXDIGIT_LC>, C<isXDIGIT_LC_uvchr>, C<isXDIGIT_LC_utf8>, and C<isXDIGIT_LC_utf8_safe>. =for apidoc Amh|bool|isXDIGIT_A|int ch =for apidoc Amh|bool|isXDIGIT_L1|int ch =for apidoc Amh|bool|isXDIGIT_uvchr|int ch =for apidoc Amh|bool|isXDIGIT_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isXDIGIT_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isXDIGIT_LC|int ch =for apidoc Amh|bool|isXDIGIT_LC_uvchr|int ch =for apidoc Amh|bool|isXDIGIT_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isIDFIRST|char ch Returns a boolean indicating whether the specified character can be the first character of an identifier. This is very close to, but not quite the same as the official Unicode property C<XID_Start>. The difference is that this returns true only if the input character also matches L</isWORDCHAR>. See the L<top of this section|/Character classification> for an explanation of variants C<isIDFIRST_A>, C<isIDFIRST_L1>, C<isIDFIRST_uvchr>, C<isIDFIRST_utf8>, C<isIDFIRST_utf8_safe>, C<isIDFIRST_LC>, C<isIDFIRST_LC_uvchr>, C<isIDFIRST_LC_utf8>, and C<isIDFIRST_LC_utf8_safe>. =for apidoc Amh|bool|isIDFIRST_A|int ch =for apidoc Amh|bool|isIDFIRST_L1|int ch =for apidoc Amh|bool|isIDFIRST_uvchr|int ch =for apidoc Amh|bool|isIDFIRST_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isIDFIRST_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isIDFIRST_LC|int ch =for apidoc Amh|bool|isIDFIRST_LC_uvchr|int ch =for apidoc Amh|bool|isIDFIRST_LC_utf8_safe|U8 * s| U8 *end =for apidoc Am|bool|isIDCONT|char ch Returns a boolean indicating whether the specified character can be the second or succeeding character of an identifier. This is very close to, but not quite the same as the official Unicode property C<XID_Continue>. The difference is that this returns true only if the input character also matches L</isWORDCHAR>. See the L<top of this section|/Character classification> for an explanation of variants C<isIDCONT_A>, C<isIDCONT_L1>, C<isIDCONT_uvchr>, C<isIDCONT_utf8>, C<isIDCONT_utf8_safe>, C<isIDCONT_LC>, C<isIDCONT_LC_uvchr>, C<isIDCONT_LC_utf8>, and C<isIDCONT_LC_utf8_safe>. =for apidoc Amh|bool|isIDCONT_A|int ch =for apidoc Amh|bool|isIDCONT_L1|int ch =for apidoc Amh|bool|isIDCONT_uvchr|int ch =for apidoc Amh|bool|isIDCONT_utf8_safe|U8 * s|U8 * end =for apidoc Amh|bool|isIDCONT_utf8|U8 * s|U8 * end =for apidoc Amh|bool|isIDCONT_LC|int ch =for apidoc Amh|bool|isIDCONT_LC_uvchr|int ch =for apidoc Amh|bool|isIDCONT_LC_utf8_safe|U8 * s| U8 *end =head1 Miscellaneous Functions =for apidoc Am|U8|READ_XDIGIT|char str* Returns the value of an ASCII-range hex digit and advances the string pointer. Behaviour is only well defined when isXDIGIT(*str) is true. =head1 Character case changing Perl uses "full" Unicode case mappings. This means that converting a single character to another case may result in a sequence of more than one character. For example, the uppercase of C<E<223>> (LATIN SMALL LETTER SHARP S) is the two character sequence C<SS>. This presents some complications The lowercase of all characters in the range 0..255 is a single character, and thus C<L</toLOWER_L1>> is furnished. But, C<toUPPER_L1> can't exist, as it couldn't return a valid result for all legal inputs. Instead C<L</toUPPER_uvchr>> has an API that does allow every possible legal result to be returned.) Likewise no other function that is crippled by not being able to give the correct results for the full range of possible inputs has been implemented here. =for apidoc Am|U8|toUPPER|int ch Converts the specified character to uppercase. If the input is anything but an ASCII lowercase character, that input character itself is returned. Variant C<toUPPER_A> is equivalent. =for apidoc Am|UV|toUPPER_uvchr|UV cp|U8* s|STRLEN* lenp Converts the code point C<cp> to its uppercase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. The code point is interpreted as native if less than 256; otherwise as Unicode. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the uppercase version may be longer than the original character. The first code point of the uppercased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more.) =for apidoc Am|UV|toUPPER_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C<p> and extending no further than S<C<e - 1>> to its uppercase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the uppercase version may be longer than the original character. The first code point of the uppercased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). It will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. =for apidoc Am|UV|toUPPER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp Same as L</toUPPER_utf8>. =for apidoc Am|U8|toFOLD|U8 ch Converts the specified character to foldcase. If the input is anything but an ASCII uppercase character, that input character itself is returned. Variant C<toFOLD_A> is equivalent. (There is no equivalent C<to_FOLD_L1> for the full Latin1 range, as the full generality of L</toFOLD_uvchr> is needed there.) =for apidoc Am|UV|toFOLD_uvchr|UV cp|U8* s|STRLEN* lenp Converts the code point C<cp> to its foldcase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. The code point is interpreted as native if less than 256; otherwise as Unicode. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the foldcase version may be longer than the original character. The first code point of the foldcased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). =for apidoc Am|UV|toFOLD_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C<p> and extending no further than S<C<e - 1>> to its foldcase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the foldcase version may be longer than the original character. The first code point of the foldcased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). It will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. =for apidoc Am|UV|toFOLD_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp Same as L</toFOLD_utf8>. =for apidoc Am|U8|toLOWER|U8 ch Converts the specified character to lowercase. If the input is anything but an ASCII uppercase character, that input character itself is returned. Variant C<toLOWER_A> is equivalent. =for apidoc Am|U8|toLOWER_L1|U8 ch Converts the specified Latin1 character to lowercase. The results are undefined if the input doesn't fit in a byte. =for apidoc Am|U8|toLOWER_LC|U8 ch Converts the specified character to lowercase using the current locale's rules, if possible; otherwise returns the input character itself. =for apidoc Am|UV|toLOWER_uvchr|UV cp|U8* s|STRLEN* lenp Converts the code point C<cp> to its lowercase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. The code point is interpreted as native if less than 256; otherwise as Unicode. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the lowercase version may be longer than the original character. The first code point of the lowercased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). =for apidoc Am|UV|toLOWER_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C<p> and extending no further than S<C<e - 1>> to its lowercase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the lowercase version may be longer than the original character. The first code point of the lowercased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). It will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. =for apidoc Am|UV|toLOWER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp Same as L</toLOWER_utf8>. =for apidoc Am|U8|toTITLE|U8 ch Converts the specified character to titlecase. If the input is anything but an ASCII lowercase character, that input character itself is returned. Variant C<toTITLE_A> is equivalent. (There is no C<toTITLE_L1> for the full Latin1 range, as the full generality of L</toTITLE_uvchr> is needed there. Titlecase is not a concept used in locale handling, so there is no functionality for that.) =for apidoc Am|UV|toTITLE_uvchr|UV cp|U8* s|STRLEN* lenp Converts the code point C<cp> to its titlecase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. The code point is interpreted as native if less than 256; otherwise as Unicode. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the titlecase version may be longer than the original character. The first code point of the titlecased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). =for apidoc Am|UV|toTITLE_utf8|U8* p|U8* e|U8* s|STRLEN* lenp Converts the first UTF-8 encoded character in the sequence starting at C<p> and extending no further than S<C<e - 1>> to its titlecase version, and stores that in UTF-8 in C<s>, and its length in bytes in C<lenp>. Note that the buffer pointed to by C<s> needs to be at least C<UTF8_MAXBYTES_CASE+1> bytes since the titlecase version may be longer than the original character. The first code point of the titlecased version is returned (but note, as explained at L<the top of this section|/Character case changing>, that there may be more). It will not attempt to read beyond S<C<e - 1>>, provided that the constraint S<C<s E<lt> e>> is true (this is asserted for in C<-DDEBUGGING> builds). If the UTF-8 for the input character is malformed in some way, the program may croak, or the function may return the REPLACEMENT CHARACTER, at the discretion of the implementation, and subject to change in future releases. =for apidoc Am|UV|toTITLE_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp Same as L</toTITLE_utf8>. =cut XXX Still undocumented isVERTWS_uvchr and _utf8; it's unclear what their names really should be. Also toUPPER_LC and toFOLD_LC, which are subject to change, and aren't general purpose as they don't work on U+DF, and assert against that. Note that these macros are repeated in Devel::PPPort, so should also be patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc */ /* void below because that's the best fit, and works for Devel::PPPort =for apidoc AmnU|void|WIDEST_UTYPE Yields the widest unsigned integer type on the platform, currently either C<U32> or C<64>. This can be used in declarations such as WIDEST_UTYPE my_uv; or casts my_uv = (WIDEST_UTYPE) val; =cut */ #ifdef QUADKIND # define WIDEST_UTYPE U64 #else # define WIDEST_UTYPE U32 #endif /* FITS_IN_8_BITS(c) returns true if c doesn't have a bit set other than in * the lower 8. It is designed to be hopefully bomb-proof, making sure that no * bits of information are lost even on a 64-bit machine, but to get the * compiler to optimize it out if possible. This is because Configure makes * sure that the machine has an 8-bit byte, so if c is stored in a byte, the * sizeof() guarantees that this evaluates to a constant true at compile time. * * For Coverity, be always true, because otherwise Coverity thinks * it finds several expressions that are always true, independent * of operands. Well, they are, but that is kind of the point. */ #ifndef __COVERITY__ /* The '| 0' part ensures a compiler error if c is not integer (like e.g., a * pointer) */ #define FITS_IN_8_BITS(c) ( (sizeof(c) == 1) \ || !(((WIDEST_UTYPE)((c) | 0)) & ~0xFF)) #else #define FITS_IN_8_BITS(c) (1) #endif /* Returns true if l <= c <= (l + n), where 'l' and 'n' are non-negative * Written this way so that after optimization, only one conditional test is * needed. (The NV casts stop any warnings about comparison always being true * if called with an unsigned. The cast preserves the sign, which is all we * care about.) */ #define withinCOUNT(c, l, n) (__ASSERT_((NV) (l) >= 0) \ __ASSERT_((NV) (n) >= 0) \ (((WIDEST_UTYPE) (((c)) - ((l) | 0))) <= (((WIDEST_UTYPE) ((n) | 0))))) /* Returns true if c is in the range l..u, where 'l' is non-negative * Written this way so that after optimization, only one conditional test is * needed. */ #define inRANGE(c, l, u) (__ASSERT_((u) >= (l)) \ ( (sizeof(c) == sizeof(U8)) ? withinCOUNT(((U8) (c)), (l), ((u) - (l))) \ : (sizeof(c) == sizeof(U32)) ? withinCOUNT(((U32) (c)), (l), ((u) - (l))) \ : (__ASSERT_(sizeof(c) == sizeof(WIDEST_UTYPE)) \ withinCOUNT(((WIDEST_UTYPE) (c)), (l), ((u) - (l)))))) #ifdef EBCDIC # ifndef _ALL_SOURCE /* The native libc isascii() et.al. functions return the wrong results * on at least z/OS unless this is defined. */ # error _ALL_SOURCE should probably be defined # endif #else /* There is a simple definition of ASCII for ASCII platforms. But the * EBCDIC one isn't so simple, so is defined using table look-up like the * other macros below. * * The cast here is used instead of '(c) >= 0', because some compilers emit * a warning that that test is always true when the parameter is an * unsigned type. khw supposes that it could be written as * && ((c) == '\0' || (c) > 0) * to avoid the message, but the cast will likely avoid extra branches even * with stupid compilers. * * The '| 0' part ensures a compiler error if c is not integer (like e.g., * a pointer) */ # define isASCII(c) ((WIDEST_UTYPE)((c) | 0) < 128) #endif /* Take the eight possible bit patterns of the lower 3 bits and you get the * lower 3 bits of the 8 octal digits, in both ASCII and EBCDIC, so those bits * can be ignored. If the rest match '0', we have an octal */ #define isOCTAL_A(c) (((WIDEST_UTYPE)((c) | 0) & ~7) == '0') #ifdef H_PERL /* If have access to perl.h, lookup in its table */ /* Character class numbers. For internal core Perl use only. The ones less * than 32 are used in PL_charclass[] and the ones up through the one that * corresponds to <_HIGHEST_REGCOMP_DOT_H_SYNC> are used by regcomp.h and * related files. PL_charclass ones use names used in l1_char_class_tab.h but * their actual definitions are here. If that file has a name not used here, * it won't compile. * * The first group of these is ordered in what I (khw) estimate to be the * frequency of their use. This gives a slight edge to exiting a loop earlier * (in reginclass() in regexec.c). Except \v should be last, as it isn't a * real Posix character class, and some (small) inefficiencies in regular * expression handling would be introduced by putting it in the middle of those * that are. Also, cntrl and ascii come after the others as it may be useful * to group these which have no members that match above Latin1, (or above * ASCII in the latter case) */ # define _CC_WORDCHAR 0 /* \w and [:word:] */ # define _CC_DIGIT 1 /* \d and [:digit:] */ # define _CC_ALPHA 2 /* [:alpha:] */ # define _CC_LOWER 3 /* [:lower:] */ # define _CC_UPPER 4 /* [:upper:] */ # define _CC_PUNCT 5 /* [:punct:] */ # define _CC_PRINT 6 /* [:print:] */ # define _CC_ALPHANUMERIC 7 /* [:alnum:] */ # define _CC_GRAPH 8 /* [:graph:] */ # define _CC_CASED 9 /* [:lower:] or [:upper:] under /i */ # define _CC_SPACE 10 /* \s, [:space:] */ # define _CC_BLANK 11 /* [:blank:] */ # define _CC_XDIGIT 12 /* [:xdigit:] */ # define _CC_CNTRL 13 /* [:cntrl:] */ # define _CC_ASCII 14 /* [:ascii:] */ # define _CC_VERTSPACE 15 /* \v */ # define _HIGHEST_REGCOMP_DOT_H_SYNC _CC_VERTSPACE /* The members of the third group below do not need to be coordinated with data * structures in regcomp.[ch] and regexec.c. */ # define _CC_IDFIRST 16 # define _CC_CHARNAME_CONT 17 # define _CC_NONLATIN1_FOLD 18 # define _CC_NONLATIN1_SIMPLE_FOLD 19 # define _CC_QUOTEMETA 20 # define _CC_NON_FINAL_FOLD 21 # define _CC_IS_IN_SOME_FOLD 22 # define _CC_BINDIGIT 23 # define _CC_OCTDIGIT 24 # define _CC_MNEMONIC_CNTRL 25 /* This next group is only used on EBCDIC platforms, so theoretically could be * shared with something entirely different that's only on ASCII platforms */ # define _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE 31 /* Unused: 24-30 * If more bits are needed, one could add a second word for non-64bit * QUAD_IS_INT systems, using some #ifdefs to distinguish between having a 2nd * word or not. The IS_IN_SOME_FOLD bit is the most easily expendable, as it * is used only for optimization (as of this writing), and differs in the * Latin1 range from the ALPHA bit only in two relatively unimportant * characters: the masculine and feminine ordinal indicators, so removing it * would just cause /i regexes which match them to run less efficiently. * Similarly the EBCDIC-only bits are used just for speed, and could be * replaced by other means */ #if defined(PERL_CORE) || defined(PERL_EXT) /* An enum version of the character class numbers, to help compilers * optimize */ typedef enum { _CC_ENUM_ALPHA = _CC_ALPHA, _CC_ENUM_ALPHANUMERIC = _CC_ALPHANUMERIC, _CC_ENUM_ASCII = _CC_ASCII, _CC_ENUM_BLANK = _CC_BLANK, _CC_ENUM_CASED = _CC_CASED, _CC_ENUM_CNTRL = _CC_CNTRL, _CC_ENUM_DIGIT = _CC_DIGIT, _CC_ENUM_GRAPH = _CC_GRAPH, _CC_ENUM_LOWER = _CC_LOWER, _CC_ENUM_PRINT = _CC_PRINT, _CC_ENUM_PUNCT = _CC_PUNCT, _CC_ENUM_SPACE = _CC_SPACE, _CC_ENUM_UPPER = _CC_UPPER, _CC_ENUM_VERTSPACE = _CC_VERTSPACE, _CC_ENUM_WORDCHAR = _CC_WORDCHAR, _CC_ENUM_XDIGIT = _CC_XDIGIT } _char_class_number; #endif #define POSIX_CC_COUNT (_HIGHEST_REGCOMP_DOT_H_SYNC + 1) START_EXTERN_C # ifdef DOINIT EXTCONST U32 PL_charclass[] = { # include "l1_char_class_tab.h" }; # else /* ! DOINIT */ EXTCONST U32 PL_charclass[]; # endif END_EXTERN_C /* The 1U keeps Solaris from griping when shifting sets the uppermost bit */ # define _CC_mask(classnum) (1U << (classnum)) /* For internal core Perl use only: the base macro for defining macros like * isALPHA */ # define _generic_isCC(c, classnum) cBOOL(FITS_IN_8_BITS(c) \ && (PL_charclass[(U8) (c)] & _CC_mask(classnum))) /* The mask for the _A versions of the macros; it just adds in the bit for * ASCII. */ # define _CC_mask_A(classnum) (_CC_mask(classnum) | _CC_mask(_CC_ASCII)) /* For internal core Perl use only: the base macro for defining macros like * isALPHA_A. The foo_A version makes sure that both the desired bit and * the ASCII bit are present */ # define _generic_isCC_A(c, classnum) (FITS_IN_8_BITS(c) \ && ((PL_charclass[(U8) (c)] & _CC_mask_A(classnum)) \ == _CC_mask_A(classnum))) /* On ASCII platforms certain classes form a single range. It's faster to * special case these. isDIGIT is a single range on all platforms */ # ifdef EBCDIC # define isALPHA_A(c) _generic_isCC_A(c, _CC_ALPHA) # define isGRAPH_A(c) _generic_isCC_A(c, _CC_GRAPH) # define isLOWER_A(c) _generic_isCC_A(c, _CC_LOWER) # define isPRINT_A(c) _generic_isCC_A(c, _CC_PRINT) # define isUPPER_A(c) _generic_isCC_A(c, _CC_UPPER) # else /* By folding the upper and lowercase, we can use a single range */ # define isALPHA_A(c) inRANGE((~('A' ^ 'a') & (c)), 'A', 'Z') # define isGRAPH_A(c) inRANGE(c, ' ' + 1, 0x7e) # define isLOWER_A(c) inRANGE(c, 'a', 'z') # define isPRINT_A(c) inRANGE(c, ' ', 0x7e) # define isUPPER_A(c) inRANGE(c, 'A', 'Z') # endif # define isALPHANUMERIC_A(c) _generic_isCC_A(c, _CC_ALPHANUMERIC) # define isBLANK_A(c) _generic_isCC_A(c, _CC_BLANK) # define isCNTRL_A(c) _generic_isCC_A(c, _CC_CNTRL) # define isDIGIT_A(c) inRANGE(c, '0', '9') # define isPUNCT_A(c) _generic_isCC_A(c, _CC_PUNCT) # define isSPACE_A(c) _generic_isCC_A(c, _CC_SPACE) # define isWORDCHAR_A(c) _generic_isCC_A(c, _CC_WORDCHAR) # define isXDIGIT_A(c) _generic_isCC(c, _CC_XDIGIT) /* No non-ASCII xdigits */ # define isIDFIRST_A(c) _generic_isCC_A(c, _CC_IDFIRST) # define isALPHA_L1(c) _generic_isCC(c, _CC_ALPHA) # define isALPHANUMERIC_L1(c) _generic_isCC(c, _CC_ALPHANUMERIC) # define isBLANK_L1(c) _generic_isCC(c, _CC_BLANK) /* continuation character for legal NAME in \N{NAME} */ # define isCHARNAME_CONT(c) _generic_isCC(c, _CC_CHARNAME_CONT) # define isCNTRL_L1(c) _generic_isCC(c, _CC_CNTRL) # define isGRAPH_L1(c) _generic_isCC(c, _CC_GRAPH) # define isLOWER_L1(c) _generic_isCC(c, _CC_LOWER) # define isPRINT_L1(c) _generic_isCC(c, _CC_PRINT) # define isPSXSPC_L1(c) isSPACE_L1(c) # define isPUNCT_L1(c) _generic_isCC(c, _CC_PUNCT) # define isSPACE_L1(c) _generic_isCC(c, _CC_SPACE) # define isUPPER_L1(c) _generic_isCC(c, _CC_UPPER) # define isWORDCHAR_L1(c) _generic_isCC(c, _CC_WORDCHAR) # define isIDFIRST_L1(c) _generic_isCC(c, _CC_IDFIRST) # ifdef EBCDIC # define isASCII(c) _generic_isCC(c, _CC_ASCII) # endif /* Participates in a single-character fold with a character above 255 */ # define _HAS_NONLATIN1_SIMPLE_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) (c)] & _CC_mask(_CC_NONLATIN1_SIMPLE_FOLD))) /* Like the above, but also can be part of a multi-char fold */ # define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) (c)] & _CC_mask(_CC_NONLATIN1_FOLD))) # define _isQUOTEMETA(c) _generic_isCC(c, _CC_QUOTEMETA) # define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \ _generic_isCC(c, _CC_NON_FINAL_FOLD) # define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \ _generic_isCC(c, _CC_IS_IN_SOME_FOLD) /* is c a control character for which we have a mnemonic? */ # if defined(PERL_CORE) || defined(PERL_EXT) # define isMNEMONIC_CNTRL(c) _generic_isCC(c, _CC_MNEMONIC_CNTRL) # endif #else /* else we don't have perl.h H_PERL */ /* If we don't have perl.h, we are compiling a utility program. Below we * hard-code various macro definitions that wouldn't otherwise be available * to it. Most are coded based on first principles. These are written to * avoid EBCDIC vs. ASCII #ifdef's as much as possible. */ # define isDIGIT_A(c) inRANGE(c, '0', '9') # define isBLANK_A(c) ((c) == ' ' || (c) == '\t') # define isSPACE_A(c) (isBLANK_A(c) \ || (c) == '\n' \ || (c) == '\r' \ || (c) == '\v' \ || (c) == '\f') /* On EBCDIC, there are gaps between 'i' and 'j'; 'r' and 's'. Same for * uppercase. The tests for those aren't necessary on ASCII, but hurt only * performance (if optimization isn't on), and allow the same code to be * used for both platform types */ # define isLOWER_A(c) inRANGE((c), 'a', 'i') \ || inRANGE((c), 'j', 'r') \ || inRANGE((c), 's', 'z') # define isUPPER_A(c) inRANGE((c), 'A', 'I') \ || inRANGE((c), 'J', 'R') \ || inRANGE((c), 'S', 'Z') # define isALPHA_A(c) (isUPPER_A(c) || isLOWER_A(c)) # define isALPHANUMERIC_A(c) (isALPHA_A(c) || isDIGIT_A(c)) # define isWORDCHAR_A(c) (isALPHANUMERIC_A(c) || (c) == '_') # define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_') # define isXDIGIT_A(c) ( isDIGIT_A(c) \ || inRANGE((c), 'a', 'f') \ || inRANGE((c), 'A', 'F') # define isPUNCT_A(c) ((c) == '-' || (c) == '!' || (c) == '"' \ || (c) == '#' || (c) == '$' || (c) == '%' \ || (c) == '&' || (c) == '\'' || (c) == '(' \ || (c) == ')' || (c) == '*' || (c) == '+' \ || (c) == ',' || (c) == '.' || (c) == '/' \ || (c) == ':' || (c) == ';' || (c) == '<' \ || (c) == '=' || (c) == '>' || (c) == '?' \ || (c) == '@' || (c) == '[' || (c) == '\\' \ || (c) == ']' || (c) == '^' || (c) == '_' \ || (c) == '`' || (c) == '{' || (c) == '|' \ || (c) == '}' || (c) == '~') # define isGRAPH_A(c) (isALPHANUMERIC_A(c) || isPUNCT_A(c)) # define isPRINT_A(c) (isGRAPH_A(c) || (c) == ' ') # ifdef EBCDIC /* The below is accurate for the 3 EBCDIC code pages traditionally * supported by perl. The only difference between them in the controls * is the position of \n, and that is represented symbolically below */ # define isCNTRL_A(c) ((c) == '\0' || (c) == '\a' || (c) == '\b' \ || (c) == '\f' || (c) == '\n' || (c) == '\r' \ || (c) == '\t' || (c) == '\v' \ || inRANGE((c), 1, 3) /* SOH, STX, ETX */ \ || (c) == 7F /* U+7F DEL */ \ || inRANGE((c), 0x0E, 0x13) /* SO SI DLE \ DC[1-3] */ \ || (c) == 0x18 /* U+18 CAN */ \ || (c) == 0x19 /* U+19 EOM */ \ || inRANGE((c), 0x1C, 0x1F) /* [FGRU]S */ \ || (c) == 0x26 /* U+17 ETB */ \ || (c) == 0x27 /* U+1B ESC */ \ || (c) == 0x2D /* U+05 ENQ */ \ || (c) == 0x2E /* U+06 ACK */ \ || (c) == 0x32 /* U+16 SYN */ \ || (c) == 0x37 /* U+04 EOT */ \ || (c) == 0x3C /* U+14 DC4 */ \ || (c) == 0x3D /* U+15 NAK */ \ || (c) == 0x3F)/* U+1A SUB */ # define isASCII(c) (isCNTRL_A(c) || isPRINT_A(c)) # else /* isASCII is already defined for ASCII platforms, so can use that to define isCNTRL */ # define isCNTRL_A(c) (isASCII(c) && ! isPRINT_A(c)) # endif /* The _L1 macros may be unnecessary for the utilities; I (khw) added them * during debugging, and it seems best to keep them. We may be called * without NATIVE_TO_LATIN1 being defined. On ASCII platforms, it doesn't * do anything anyway, so make it not a problem */ # if ! defined(EBCDIC) && ! defined(NATIVE_TO_LATIN1) # define NATIVE_TO_LATIN1(ch) (ch) # endif # define isALPHA_L1(c) (isUPPER_L1(c) || isLOWER_L1(c)) # define isALPHANUMERIC_L1(c) (isALPHA_L1(c) || isDIGIT_A(c)) # define isBLANK_L1(c) (isBLANK_A(c) \ || (FITS_IN_8_BITS(c) \ && NATIVE_TO_LATIN1((U8) c) == 0xA0)) # define isCNTRL_L1(c) (FITS_IN_8_BITS(c) && (! isPRINT_L1(c))) # define isGRAPH_L1(c) (isPRINT_L1(c) && (! isBLANK_L1(c))) # define isLOWER_L1(c) (isLOWER_A(c) \ || (FITS_IN_8_BITS(c) \ && (( NATIVE_TO_LATIN1((U8) c) >= 0xDF \ && NATIVE_TO_LATIN1((U8) c) != 0xF7) \ || NATIVE_TO_LATIN1((U8) c) == 0xAA \ || NATIVE_TO_LATIN1((U8) c) == 0xBA \ || NATIVE_TO_LATIN1((U8) c) == 0xB5))) # define isPRINT_L1(c) (isPRINT_A(c) \ || (FITS_IN_8_BITS(c) \ && NATIVE_TO_LATIN1((U8) c) >= 0xA0)) # define isPUNCT_L1(c) (isPUNCT_A(c) \ || (FITS_IN_8_BITS(c) \ && ( NATIVE_TO_LATIN1((U8) c) == 0xA1 \ || NATIVE_TO_LATIN1((U8) c) == 0xA7 \ || NATIVE_TO_LATIN1((U8) c) == 0xAB \ || NATIVE_TO_LATIN1((U8) c) == 0xB6 \ || NATIVE_TO_LATIN1((U8) c) == 0xB7 \ || NATIVE_TO_LATIN1((U8) c) == 0xBB \ || NATIVE_TO_LATIN1((U8) c) == 0xBF))) # define isSPACE_L1(c) (isSPACE_A(c) \ || (FITS_IN_8_BITS(c) \ && ( NATIVE_TO_LATIN1((U8) c) == 0x85 \ || NATIVE_TO_LATIN1((U8) c) == 0xA0))) # define isUPPER_L1(c) (isUPPER_A(c) \ || (FITS_IN_8_BITS(c) \ && ( IN_RANGE(NATIVE_TO_LATIN1((U8) c), \ 0xC0, 0xDE) \ && NATIVE_TO_LATIN1((U8) c) != 0xD7))) # define isWORDCHAR_L1(c) (isIDFIRST_L1(c) || isDIGIT_A(c)) # define isIDFIRST_L1(c) (isALPHA_L1(c) || NATIVE_TO_LATIN1(c) == '_') # define isCHARNAME_CONT(c) (isWORDCHAR_L1(c) \ || isBLANK_L1(c) \ || (c) == '-' \ || (c) == '(' \ || (c) == ')') /* The following are not fully accurate in the above-ASCII range. I (khw) * don't think it's necessary to be so for the purposes where this gets * compiled */ # define _isQUOTEMETA(c) (FITS_IN_8_BITS(c) && ! isWORDCHAR_L1(c)) # define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) isALPHA_L1(c) /* And these aren't accurate at all. They are useful only for above * Latin1, which utilities and bootstrapping don't deal with */ # define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) 0 # define _HAS_NONLATIN1_SIMPLE_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) 0 # define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) 0 /* Many of the macros later in this file are defined in terms of these. By * implementing them with a function, which converts the class number into * a call to the desired macro, all of the later ones work. However, that * function won't be actually defined when building a utility program (no * perl.h), and so a compiler error will be generated if one is attempted * to be used. And the above-Latin1 code points require Unicode tables to * be present, something unlikely to be the case when bootstrapping */ # define _generic_isCC(c, classnum) \ (FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), TRUE)) # define _generic_isCC_A(c, classnum) \ (FITS_IN_8_BITS(c) && S_bootstrap_ctype((U8) (c), (classnum), FALSE)) #endif /* End of no perl.h H_PERL */ #define isALPHANUMERIC(c) isALPHANUMERIC_A(c) #define isALPHA(c) isALPHA_A(c) #define isASCII_A(c) isASCII(c) #define isASCII_L1(c) isASCII(c) #define isBLANK(c) isBLANK_A(c) #define isCNTRL(c) isCNTRL_A(c) #define isDIGIT(c) isDIGIT_A(c) #define isGRAPH(c) isGRAPH_A(c) #define isIDFIRST(c) isIDFIRST_A(c) #define isLOWER(c) isLOWER_A(c) #define isPRINT(c) isPRINT_A(c) #define isPSXSPC_A(c) isSPACE_A(c) #define isPSXSPC(c) isPSXSPC_A(c) #define isPSXSPC_L1(c) isSPACE_L1(c) #define isPUNCT(c) isPUNCT_A(c) #define isSPACE(c) isSPACE_A(c) #define isUPPER(c) isUPPER_A(c) #define isWORDCHAR(c) isWORDCHAR_A(c) #define isXDIGIT(c) isXDIGIT_A(c) /* ASCII casing. These could also be written as #define toLOWER(c) (isASCII(c) ? toLOWER_LATIN1(c) : (c)) #define toUPPER(c) (isASCII(c) ? toUPPER_LATIN1_MOD(c) : (c)) which uses table lookup and mask instead of subtraction. (This would work because the _MOD does not apply in the ASCII range). These actually are UTF-8 invariant casing, not just ASCII, as any non-ASCII UTF-8 invariants are neither upper nor lower. (Only on EBCDIC platforms are there non-ASCII invariants, and all of them are controls.) */ #define toLOWER(c) (isUPPER(c) ? (U8)((c) + ('a' - 'A')) : (c)) #define toUPPER(c) (isLOWER(c) ? (U8)((c) - ('a' - 'A')) : (c)) /* In the ASCII range, these are equivalent to what they're here defined to be. * But by creating these definitions, other code doesn't have to be aware of * this detail. Actually this works for all UTF-8 invariants, not just the * ASCII range. (EBCDIC platforms can have non-ASCII invariants.) */ #define toFOLD(c) toLOWER(c) #define toTITLE(c) toUPPER(c) #define toLOWER_A(c) toLOWER(c) #define toUPPER_A(c) toUPPER(c) #define toFOLD_A(c) toFOLD(c) #define toTITLE_A(c) toTITLE(c) /* Use table lookup for speed; returns the input itself if is out-of-range */ #define toLOWER_LATIN1(c) ((! FITS_IN_8_BITS(c)) \ ? (c) \ : PL_latin1_lc[ (U8) (c) ]) #define toLOWER_L1(c) toLOWER_LATIN1(c) /* Synonym for consistency */ /* Modified uc. Is correct uc except for three non-ascii chars which are * all mapped to one of them, and these need special handling; returns the * input itself if is out-of-range */ #define toUPPER_LATIN1_MOD(c) ((! FITS_IN_8_BITS(c)) \ ? (c) \ : PL_mod_latin1_uc[ (U8) (c) ]) #define IN_UTF8_CTYPE_LOCALE PL_in_utf8_CTYPE_locale /* Use foo_LC_uvchr() instead of these for beyond the Latin1 range */ /* For internal core Perl use only: the base macro for defining macros like * isALPHA_LC, which uses the current LC_CTYPE locale. 'c' is the code point * (0-255) to check. In a UTF-8 locale, the result is the same as calling * isFOO_L1(); the 'utf8_locale_classnum' parameter is something like * _CC_UPPER, which gives the class number for doing this. For non-UTF-8 * locales, the code to actually do the test this is passed in 'non_utf8'. If * 'c' is above 255, 0 is returned. For accessing the full range of possible * code points under locale rules, use the macros based on _generic_LC_uvchr * instead of this. */ #define _generic_LC_base(c, utf8_locale_classnum, non_utf8) \ (! FITS_IN_8_BITS(c) \ ? 0 \ : IN_UTF8_CTYPE_LOCALE \ ? cBOOL(PL_charclass[(U8) (c)] & _CC_mask(utf8_locale_classnum)) \ : cBOOL(non_utf8)) /* For internal core Perl use only: a helper macro for defining macros like * isALPHA_LC. 'c' is the code point (0-255) to check. The function name to * actually do this test is passed in 'non_utf8_func', which is called on 'c', * casting 'c' to the macro _LC_CAST, which should not be parenthesized. See * _generic_LC_base for more info */ #define _generic_LC(c, utf8_locale_classnum, non_utf8_func) \ _generic_LC_base(c,utf8_locale_classnum, \ non_utf8_func( (_LC_CAST) (c))) /* For internal core Perl use only: like _generic_LC, but also returns TRUE if * 'c' is the platform's native underscore character */ #define _generic_LC_underscore(c,utf8_locale_classnum,non_utf8_func) \ _generic_LC_base(c, utf8_locale_classnum, \ (non_utf8_func( (_LC_CAST) (c)) \ || (char)(c) == '_')) /* These next three are also for internal core Perl use only: case-change * helper macros. The reason for using the PL_latin arrays is in case the * system function is defective; it ensures uniform results that conform to the * Unicod standard. It does not handle the anomalies in UTF-8 Turkic locales */ #define _generic_toLOWER_LC(c, function, cast) (! FITS_IN_8_BITS(c) \ ? (c) \ : (IN_UTF8_CTYPE_LOCALE) \ ? PL_latin1_lc[ (U8) (c) ] \ : (cast)function((cast)(c))) /* Note that the result can be larger than a byte in a UTF-8 locale. It * returns a single value, so can't adequately return the upper case of LATIN * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two * values "SS"); instead it asserts against that under DEBUGGING, and * otherwise returns its input. It does not handle the anomalies in UTF-8 * Turkic locales. */ #define _generic_toUPPER_LC(c, function, cast) \ (! FITS_IN_8_BITS(c) \ ? (c) \ : ((! IN_UTF8_CTYPE_LOCALE) \ ? (cast)function((cast)(c)) \ : ((((U8)(c)) == MICRO_SIGN) \ ? GREEK_CAPITAL_LETTER_MU \ : ((((U8)(c)) == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) \ ? LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS \ : ((((U8)(c)) == LATIN_SMALL_LETTER_SHARP_S) \ ? (__ASSERT_(0) (c)) \ : PL_mod_latin1_uc[ (U8) (c) ]))))) /* Note that the result can be larger than a byte in a UTF-8 locale. It * returns a single value, so can't adequately return the fold case of LATIN * SMALL LETTER SHARP S in a UTF-8 locale (which should be a string of two * values "ss"); instead it asserts against that under DEBUGGING, and * otherwise returns its input. It does not handle the anomalies in UTF-8 * Turkic locales */ #define _generic_toFOLD_LC(c, function, cast) \ ((UNLIKELY((c) == MICRO_SIGN) && IN_UTF8_CTYPE_LOCALE) \ ? GREEK_SMALL_LETTER_MU \ : (__ASSERT_(! IN_UTF8_CTYPE_LOCALE \ || (c) != LATIN_SMALL_LETTER_SHARP_S) \ _generic_toLOWER_LC(c, function, cast))) /* Use the libc versions for these if available. */ #if defined(HAS_ISASCII) # define isASCII_LC(c) (FITS_IN_8_BITS(c) && isascii( (U8) (c))) #else # define isASCII_LC(c) isASCII(c) #endif #if defined(HAS_ISBLANK) # define isBLANK_LC(c) _generic_LC(c, _CC_BLANK, isblank) #else /* Unlike isASCII, varies if in a UTF-8 locale */ # define isBLANK_LC(c) ((IN_UTF8_CTYPE_LOCALE) ? isBLANK_L1(c) : isBLANK(c)) #endif #define _LC_CAST U8 #ifdef WIN32 /* The Windows functions don't bother to follow the POSIX standard, which * for example says that something can't both be a printable and a control. * But Windows treats the \t control as a printable, and does such things * as making superscripts into both digits and punctuation. This tames * these flaws by assuming that the definitions of both controls and space * are correct, and then making sure that other definitions don't have * weirdnesses, by making sure that isalnum() isn't also ispunct(), etc. * Not all possible weirdnesses are checked for, just the ones that were * detected on actual Microsoft code pages */ # define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl) # define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace) # define isALPHA_LC(c) (_generic_LC(c, _CC_ALPHA, isalpha) \ && isALPHANUMERIC_LC(c)) # define isALPHANUMERIC_LC(c) (_generic_LC(c, _CC_ALPHANUMERIC, isalnum) && \ ! isPUNCT_LC(c)) # define isDIGIT_LC(c) (_generic_LC(c, _CC_DIGIT, isdigit) && \ isALPHANUMERIC_LC(c)) # define isGRAPH_LC(c) (_generic_LC(c, _CC_GRAPH, isgraph) && isPRINT_LC(c)) # define isIDFIRST_LC(c) (((c) == '_') \ || (_generic_LC(c, _CC_IDFIRST, isalpha) && ! isPUNCT_LC(c))) # define isLOWER_LC(c) (_generic_LC(c, _CC_LOWER, islower) && isALPHA_LC(c)) # define isPRINT_LC(c) (_generic_LC(c, _CC_PRINT, isprint) && ! isCNTRL_LC(c)) # define isPUNCT_LC(c) (_generic_LC(c, _CC_PUNCT, ispunct) && ! isCNTRL_LC(c)) # define isUPPER_LC(c) (_generic_LC(c, _CC_UPPER, isupper) && isALPHA_LC(c)) # define isWORDCHAR_LC(c) (((c) == '_') || isALPHANUMERIC_LC(c)) # define isXDIGIT_LC(c) (_generic_LC(c, _CC_XDIGIT, isxdigit) \ && isALPHANUMERIC_LC(c)) # define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8) # define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8) # define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8) #elif defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII)) /* For most other platforms */ # define isALPHA_LC(c) _generic_LC(c, _CC_ALPHA, isalpha) # define isALPHANUMERIC_LC(c) _generic_LC(c, _CC_ALPHANUMERIC, isalnum) # define isCNTRL_LC(c) _generic_LC(c, _CC_CNTRL, iscntrl) # define isDIGIT_LC(c) _generic_LC(c, _CC_DIGIT, isdigit) # define isGRAPH_LC(c) _generic_LC(c, _CC_GRAPH, isgraph) # define isIDFIRST_LC(c) _generic_LC_underscore(c, _CC_IDFIRST, isalpha) # define isLOWER_LC(c) _generic_LC(c, _CC_LOWER, islower) # define isPRINT_LC(c) _generic_LC(c, _CC_PRINT, isprint) # define isPUNCT_LC(c) _generic_LC(c, _CC_PUNCT, ispunct) # define isSPACE_LC(c) _generic_LC(c, _CC_SPACE, isspace) # define isUPPER_LC(c) _generic_LC(c, _CC_UPPER, isupper) # define isWORDCHAR_LC(c) _generic_LC_underscore(c, _CC_WORDCHAR, isalnum) # define isXDIGIT_LC(c) _generic_LC(c, _CC_XDIGIT, isxdigit) # define toLOWER_LC(c) _generic_toLOWER_LC((c), tolower, U8) # define toUPPER_LC(c) _generic_toUPPER_LC((c), toupper, U8) # define toFOLD_LC(c) _generic_toFOLD_LC((c), tolower, U8) #else /* The final fallback position */ # define isALPHA_LC(c) (isascii(c) && isalpha(c)) # define isALPHANUMERIC_LC(c) (isascii(c) && isalnum(c)) # define isCNTRL_LC(c) (isascii(c) && iscntrl(c)) # define isDIGIT_LC(c) (isascii(c) && isdigit(c)) # define isGRAPH_LC(c) (isascii(c) && isgraph(c)) # define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_')) # define isLOWER_LC(c) (isascii(c) && islower(c)) # define isPRINT_LC(c) (isascii(c) && isprint(c)) # define isPUNCT_LC(c) (isascii(c) && ispunct(c)) # define isSPACE_LC(c) (isascii(c) && isspace(c)) # define isUPPER_LC(c) (isascii(c) && isupper(c)) # define isWORDCHAR_LC(c) (isascii(c) && (isalnum(c) || (c) == '_')) # define isXDIGIT_LC(c) (isascii(c) && isxdigit(c)) # define toLOWER_LC(c) (isascii(c) ? tolower(c) : (c)) # define toUPPER_LC(c) (isascii(c) ? toupper(c) : (c)) # define toFOLD_LC(c) (isascii(c) ? tolower(c) : (c)) #endif #define isIDCONT(c) isWORDCHAR(c) #define isIDCONT_A(c) isWORDCHAR_A(c) #define isIDCONT_L1(c) isWORDCHAR_L1(c) #define isIDCONT_LC(c) isWORDCHAR_LC(c) #define isPSXSPC_LC(c) isSPACE_LC(c) /* For internal core Perl use only: the base macros for defining macros like * isALPHA_uvchr. 'c' is the code point to check. 'classnum' is the POSIX class * number defined earlier in this file. _generic_uvchr() is used for POSIX * classes where there is a macro or function 'above_latin1' that takes the * single argument 'c' and returns the desired value. These exist for those * classes which have simple definitions, avoiding the overhead of an inversion * list binary search. _generic_invlist_uvchr() can be used * for classes where that overhead is faster than a direct lookup. * _generic_uvchr() won't compile if 'c' isn't unsigned, as it won't match the * 'above_latin1' prototype. _generic_isCC() macro does bounds checking, so * have duplicate checks here, so could create versions of the macros that * don't, but experiments show that gcc optimizes them out anyway. */ /* Note that all ignore 'use bytes' */ #define _generic_uvchr(classnum, above_latin1, c) ((c) < 256 \ ? _generic_isCC(c, classnum) \ : above_latin1(c)) #define _generic_invlist_uvchr(classnum, c) ((c) < 256 \ ? _generic_isCC(c, classnum) \ : _is_uni_FOO(classnum, c)) #define isALPHA_uvchr(c) _generic_invlist_uvchr(_CC_ALPHA, c) #define isALPHANUMERIC_uvchr(c) _generic_invlist_uvchr(_CC_ALPHANUMERIC, c) #define isASCII_uvchr(c) isASCII(c) #define isBLANK_uvchr(c) _generic_uvchr(_CC_BLANK, is_HORIZWS_cp_high, c) #define isCNTRL_uvchr(c) isCNTRL_L1(c) /* All controls are in Latin1 */ #define isDIGIT_uvchr(c) _generic_invlist_uvchr(_CC_DIGIT, c) #define isGRAPH_uvchr(c) _generic_invlist_uvchr(_CC_GRAPH, c) #define isIDCONT_uvchr(c) \ _generic_uvchr(_CC_WORDCHAR, _is_uni_perl_idcont, c) #define isIDFIRST_uvchr(c) \ _generic_uvchr(_CC_IDFIRST, _is_uni_perl_idstart, c) #define isLOWER_uvchr(c) _generic_invlist_uvchr(_CC_LOWER, c) #define isPRINT_uvchr(c) _generic_invlist_uvchr(_CC_PRINT, c) #define isPUNCT_uvchr(c) _generic_invlist_uvchr(_CC_PUNCT, c) #define isSPACE_uvchr(c) _generic_uvchr(_CC_SPACE, is_XPERLSPACE_cp_high, c) #define isPSXSPC_uvchr(c) isSPACE_uvchr(c) #define isUPPER_uvchr(c) _generic_invlist_uvchr(_CC_UPPER, c) #define isVERTWS_uvchr(c) _generic_uvchr(_CC_VERTSPACE, is_VERTWS_cp_high, c) #define isWORDCHAR_uvchr(c) _generic_invlist_uvchr(_CC_WORDCHAR, c) #define isXDIGIT_uvchr(c) _generic_uvchr(_CC_XDIGIT, is_XDIGIT_cp_high, c) #define toFOLD_uvchr(c,s,l) to_uni_fold(c,s,l) #define toLOWER_uvchr(c,s,l) to_uni_lower(c,s,l) #define toTITLE_uvchr(c,s,l) to_uni_title(c,s,l) #define toUPPER_uvchr(c,s,l) to_uni_upper(c,s,l) /* For backwards compatibility, even though '_uni' should mean official Unicode * code points, in Perl it means native for those below 256 */ #define isALPHA_uni(c) isALPHA_uvchr(c) #define isALPHANUMERIC_uni(c) isALPHANUMERIC_uvchr(c) #define isASCII_uni(c) isASCII_uvchr(c) #define isBLANK_uni(c) isBLANK_uvchr(c) #define isCNTRL_uni(c) isCNTRL_uvchr(c) #define isDIGIT_uni(c) isDIGIT_uvchr(c) #define isGRAPH_uni(c) isGRAPH_uvchr(c) #define isIDCONT_uni(c) isIDCONT_uvchr(c) #define isIDFIRST_uni(c) isIDFIRST_uvchr(c) #define isLOWER_uni(c) isLOWER_uvchr(c) #define isPRINT_uni(c) isPRINT_uvchr(c) #define isPUNCT_uni(c) isPUNCT_uvchr(c) #define isSPACE_uni(c) isSPACE_uvchr(c) #define isPSXSPC_uni(c) isPSXSPC_uvchr(c) #define isUPPER_uni(c) isUPPER_uvchr(c) #define isVERTWS_uni(c) isVERTWS_uvchr(c) #define isWORDCHAR_uni(c) isWORDCHAR_uvchr(c) #define isXDIGIT_uni(c) isXDIGIT_uvchr(c) #define toFOLD_uni(c,s,l) toFOLD_uvchr(c,s,l) #define toLOWER_uni(c,s,l) toLOWER_uvchr(c,s,l) #define toTITLE_uni(c,s,l) toTITLE_uvchr(c,s,l) #define toUPPER_uni(c,s,l) toUPPER_uvchr(c,s,l) /* For internal core Perl use only: the base macros for defining macros like * isALPHA_LC_uvchr. These are like isALPHA_LC, but the input can be any code * point, not just 0-255. Like _generic_uvchr, there are two versions, one for * simple class definitions; the other for more complex. These are like * _generic_uvchr, so see it for more info. */ #define _generic_LC_uvchr(latin1, above_latin1, c) \ (c < 256 ? latin1(c) : above_latin1(c)) #define _generic_LC_invlist_uvchr(latin1, classnum, c) \ (c < 256 ? latin1(c) : _is_uni_FOO(classnum, c)) #define isALPHA_LC_uvchr(c) _generic_LC_invlist_uvchr(isALPHA_LC, _CC_ALPHA, c) #define isALPHANUMERIC_LC_uvchr(c) _generic_LC_invlist_uvchr(isALPHANUMERIC_LC, \ _CC_ALPHANUMERIC, c) #define isASCII_LC_uvchr(c) isASCII_LC(c) #define isBLANK_LC_uvchr(c) _generic_LC_uvchr(isBLANK_LC, \ is_HORIZWS_cp_high, c) #define isCNTRL_LC_uvchr(c) (c < 256 ? isCNTRL_LC(c) : 0) #define isDIGIT_LC_uvchr(c) _generic_LC_invlist_uvchr(isDIGIT_LC, _CC_DIGIT, c) #define isGRAPH_LC_uvchr(c) _generic_LC_invlist_uvchr(isGRAPH_LC, _CC_GRAPH, c) #define isIDCONT_LC_uvchr(c) _generic_LC_uvchr(isIDCONT_LC, \ _is_uni_perl_idcont, c) #define isIDFIRST_LC_uvchr(c) _generic_LC_uvchr(isIDFIRST_LC, \ _is_uni_perl_idstart, c) #define isLOWER_LC_uvchr(c) _generic_LC_invlist_uvchr(isLOWER_LC, _CC_LOWER, c) #define isPRINT_LC_uvchr(c) _generic_LC_invlist_uvchr(isPRINT_LC, _CC_PRINT, c) #define isPSXSPC_LC_uvchr(c) isSPACE_LC_uvchr(c) #define isPUNCT_LC_uvchr(c) _generic_LC_invlist_uvchr(isPUNCT_LC, _CC_PUNCT, c) #define isSPACE_LC_uvchr(c) _generic_LC_uvchr(isSPACE_LC, \ is_XPERLSPACE_cp_high, c) #define isUPPER_LC_uvchr(c) _generic_LC_invlist_uvchr(isUPPER_LC, _CC_UPPER, c) #define isWORDCHAR_LC_uvchr(c) _generic_LC_invlist_uvchr(isWORDCHAR_LC, \ _CC_WORDCHAR, c) #define isXDIGIT_LC_uvchr(c) _generic_LC_uvchr(isXDIGIT_LC, \ is_XDIGIT_cp_high, c) #define isBLANK_LC_uni(c) isBLANK_LC_uvchr(UNI_TO_NATIVE(c)) /* The "_safe" macros make sure that we don't attempt to read beyond 'e', but * they don't otherwise go out of their way to look for malformed UTF-8. If * they can return accurate results without knowing if the input is otherwise * malformed, they do so. For example isASCII is accurate in spite of any * non-length malformations because it looks only at a single byte. Likewise * isDIGIT looks just at the first byte for code points 0-255, as all UTF-8 * variant ones return FALSE. But, if the input has to be well-formed in order * for the results to be accurate, the macros will test and if malformed will * call a routine to die * * Except for toke.c, the macros do assume that e > p, asserting that on * DEBUGGING builds. Much code that calls these depends on this being true, * for other reasons. toke.c is treated specially as using the regular * assertion breaks it in many ways. All strings that these operate on there * are supposed to have an extra NUL character at the end, so that *e = \0. A * bunch of code in toke.c assumes that this is true, so the assertion allows * for that */ #ifdef PERL_IN_TOKE_C # define _utf8_safe_assert(p,e) ((e) > (p) || ((e) == (p) && *(p) == '\0')) #else # define _utf8_safe_assert(p,e) ((e) > (p)) #endif #define _generic_utf8_safe(classnum, p, e, above_latin1) \ ((! _utf8_safe_assert(p, e)) \ ? (_force_out_malformed_utf8_message((U8 *) (p), (U8 *) (e), 0, 1), 0)\ : (UTF8_IS_INVARIANT(*(p))) \ ? _generic_isCC(*(p), classnum) \ : (UTF8_IS_DOWNGRADEABLE_START(*(p)) \ ? ((LIKELY((e) - (p) > 1 && UTF8_IS_CONTINUATION(*((p)+1)))) \ ? _generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(*(p), *((p)+1 )), \ classnum) \ : (_force_out_malformed_utf8_message( \ (U8 *) (p), (U8 *) (e), 0, 1), 0)) \ : above_latin1)) /* Like the above, but calls 'above_latin1(p)' to get the utf8 value. * 'above_latin1' can be a macro */ #define _generic_func_utf8_safe(classnum, above_latin1, p, e) \ _generic_utf8_safe(classnum, p, e, above_latin1(p, e)) #define _generic_non_invlist_utf8_safe(classnum, above_latin1, p, e) \ _generic_utf8_safe(classnum, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ ? (_force_out_malformed_utf8_message( \ (U8 *) (p), (U8 *) (e), 0, 1), 0) \ : above_latin1(p))) /* Like the above, but passes classnum to _isFOO_utf8(), instead of having an * 'above_latin1' parameter */ #define _generic_invlist_utf8_safe(classnum, p, e) \ _generic_utf8_safe(classnum, p, e, _is_utf8_FOO(classnum, p, e)) /* Like the above, but should be used only when it is known that there are no * characters in the upper-Latin1 range (128-255 on ASCII platforms) which the * class is TRUE for. Hence it can skip the tests for this range. * 'above_latin1' should include its arguments */ #define _generic_utf8_safe_no_upper_latin1(classnum, p, e, above_latin1) \ (__ASSERT_(_utf8_safe_assert(p, e)) \ (UTF8_IS_INVARIANT(*(p))) \ ? _generic_isCC(*(p), classnum) \ : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \ ? 0 /* Note that doesn't check validity for latin1 */ \ : above_latin1) #define isALPHA_utf8(p, e) isALPHA_utf8_safe(p, e) #define isALPHANUMERIC_utf8(p, e) isALPHANUMERIC_utf8_safe(p, e) #define isASCII_utf8(p, e) isASCII_utf8_safe(p, e) #define isBLANK_utf8(p, e) isBLANK_utf8_safe(p, e) #define isCNTRL_utf8(p, e) isCNTRL_utf8_safe(p, e) #define isDIGIT_utf8(p, e) isDIGIT_utf8_safe(p, e) #define isGRAPH_utf8(p, e) isGRAPH_utf8_safe(p, e) #define isIDCONT_utf8(p, e) isIDCONT_utf8_safe(p, e) #define isIDFIRST_utf8(p, e) isIDFIRST_utf8_safe(p, e) #define isLOWER_utf8(p, e) isLOWER_utf8_safe(p, e) #define isPRINT_utf8(p, e) isPRINT_utf8_safe(p, e) #define isPSXSPC_utf8(p, e) isPSXSPC_utf8_safe(p, e) #define isPUNCT_utf8(p, e) isPUNCT_utf8_safe(p, e) #define isSPACE_utf8(p, e) isSPACE_utf8_safe(p, e) #define isUPPER_utf8(p, e) isUPPER_utf8_safe(p, e) #define isVERTWS_utf8(p, e) isVERTWS_utf8_safe(p, e) #define isWORDCHAR_utf8(p, e) isWORDCHAR_utf8_safe(p, e) #define isXDIGIT_utf8(p, e) isXDIGIT_utf8_safe(p, e) #define isALPHA_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_ALPHA, p, e) #define isALPHANUMERIC_utf8_safe(p, e) \ _generic_invlist_utf8_safe(_CC_ALPHANUMERIC, p, e) #define isASCII_utf8_safe(p, e) \ /* Because ASCII is invariant under utf8, the non-utf8 macro \ * works */ \ (__ASSERT_(_utf8_safe_assert(p, e)) isASCII(*(p))) #define isBLANK_utf8_safe(p, e) \ _generic_non_invlist_utf8_safe(_CC_BLANK, is_HORIZWS_high, p, e) #ifdef EBCDIC /* Because all controls are UTF-8 invariants in EBCDIC, we can use this * more efficient macro instead of the more general one */ # define isCNTRL_utf8_safe(p, e) \ (__ASSERT_(_utf8_safe_assert(p, e)) isCNTRL_L1(*(p))) #else # define isCNTRL_utf8_safe(p, e) _generic_utf8_safe(_CC_CNTRL, p, e, 0) #endif #define isDIGIT_utf8_safe(p, e) \ _generic_utf8_safe_no_upper_latin1(_CC_DIGIT, p, e, \ _is_utf8_FOO(_CC_DIGIT, p, e)) #define isGRAPH_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_GRAPH, p, e) #define isIDCONT_utf8_safe(p, e) _generic_func_utf8_safe(_CC_WORDCHAR, \ _is_utf8_perl_idcont, p, e) /* To prevent S_scan_word in toke.c from hanging, we have to make sure that * IDFIRST is an alnum. See * https://github.com/Perl/perl5/issues/10275 for more detail than you * ever wanted to know about. (In the ASCII range, there isn't a difference.) * This used to be not the XID version, but we decided to go with the more * modern Unicode definition */ #define isIDFIRST_utf8_safe(p, e) \ _generic_func_utf8_safe(_CC_IDFIRST, \ _is_utf8_perl_idstart, (U8 *) (p), (U8 *) (e)) #define isLOWER_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_LOWER, p, e) #define isPRINT_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_PRINT, p, e) #define isPSXSPC_utf8_safe(p, e) isSPACE_utf8_safe(p, e) #define isPUNCT_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_PUNCT, p, e) #define isSPACE_utf8_safe(p, e) \ _generic_non_invlist_utf8_safe(_CC_SPACE, is_XPERLSPACE_high, p, e) #define isUPPER_utf8_safe(p, e) _generic_invlist_utf8_safe(_CC_UPPER, p, e) #define isVERTWS_utf8_safe(p, e) \ _generic_non_invlist_utf8_safe(_CC_VERTSPACE, is_VERTWS_high, p, e) #define isWORDCHAR_utf8_safe(p, e) \ _generic_invlist_utf8_safe(_CC_WORDCHAR, p, e) #define isXDIGIT_utf8_safe(p, e) \ _generic_utf8_safe_no_upper_latin1(_CC_XDIGIT, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ ? (_force_out_malformed_utf8_message( \ (U8 *) (p), (U8 *) (e), 0, 1), 0) \ : is_XDIGIT_high(p))) #define toFOLD_utf8(p,e,s,l) toFOLD_utf8_safe(p,e,s,l) #define toLOWER_utf8(p,e,s,l) toLOWER_utf8_safe(p,e,s,l) #define toTITLE_utf8(p,e,s,l) toTITLE_utf8_safe(p,e,s,l) #define toUPPER_utf8(p,e,s,l) toUPPER_utf8_safe(p,e,s,l) /* For internal core use only, subject to change */ #define _toFOLD_utf8_flags(p,e,s,l,f) _to_utf8_fold_flags (p,e,s,l,f) #define _toLOWER_utf8_flags(p,e,s,l,f) _to_utf8_lower_flags(p,e,s,l,f) #define _toTITLE_utf8_flags(p,e,s,l,f) _to_utf8_title_flags(p,e,s,l,f) #define _toUPPER_utf8_flags(p,e,s,l,f) _to_utf8_upper_flags(p,e,s,l,f) #define toFOLD_utf8_safe(p,e,s,l) _toFOLD_utf8_flags(p,e,s,l, FOLD_FLAGS_FULL) #define toLOWER_utf8_safe(p,e,s,l) _toLOWER_utf8_flags(p,e,s,l, 0) #define toTITLE_utf8_safe(p,e,s,l) _toTITLE_utf8_flags(p,e,s,l, 0) #define toUPPER_utf8_safe(p,e,s,l) _toUPPER_utf8_flags(p,e,s,l, 0) #define isALPHA_LC_utf8(p, e) isALPHA_LC_utf8_safe(p, e) #define isALPHANUMERIC_LC_utf8(p, e) isALPHANUMERIC_LC_utf8_safe(p, e) #define isASCII_LC_utf8(p, e) isASCII_LC_utf8_safe(p, e) #define isBLANK_LC_utf8(p, e) isBLANK_LC_utf8_safe(p, e) #define isCNTRL_LC_utf8(p, e) isCNTRL_LC_utf8_safe(p, e) #define isDIGIT_LC_utf8(p, e) isDIGIT_LC_utf8_safe(p, e) #define isGRAPH_LC_utf8(p, e) isGRAPH_LC_utf8_safe(p, e) #define isIDCONT_LC_utf8(p, e) isIDCONT_LC_utf8_safe(p, e) #define isIDFIRST_LC_utf8(p, e) isIDFIRST_LC_utf8_safe(p, e) #define isLOWER_LC_utf8(p, e) isLOWER_LC_utf8_safe(p, e) #define isPRINT_LC_utf8(p, e) isPRINT_LC_utf8_safe(p, e) #define isPSXSPC_LC_utf8(p, e) isPSXSPC_LC_utf8_safe(p, e) #define isPUNCT_LC_utf8(p, e) isPUNCT_LC_utf8_safe(p, e) #define isSPACE_LC_utf8(p, e) isSPACE_LC_utf8_safe(p, e) #define isUPPER_LC_utf8(p, e) isUPPER_LC_utf8_safe(p, e) #define isWORDCHAR_LC_utf8(p, e) isWORDCHAR_LC_utf8_safe(p, e) #define isXDIGIT_LC_utf8(p, e) isXDIGIT_LC_utf8_safe(p, e) /* For internal core Perl use only: the base macros for defining macros like * isALPHA_LC_utf8_safe. These are like _generic_utf8, but if the first code * point in 'p' is within the 0-255 range, it uses locale rules from the * passed-in 'macro' parameter */ #define _generic_LC_utf8_safe(macro, p, e, above_latin1) \ (__ASSERT_(_utf8_safe_assert(p, e)) \ (UTF8_IS_INVARIANT(*(p))) \ ? macro(*(p)) \ : (UTF8_IS_DOWNGRADEABLE_START(*(p)) \ ? ((LIKELY((e) - (p) > 1 && UTF8_IS_CONTINUATION(*((p)+1)))) \ ? macro(EIGHT_BIT_UTF8_TO_NATIVE(*(p), *((p)+1))) \ : (_force_out_malformed_utf8_message( \ (U8 *) (p), (U8 *) (e), 0, 1), 0)) \ : above_latin1)) #define _generic_LC_invlist_utf8_safe(macro, classnum, p, e) \ _generic_LC_utf8_safe(macro, p, e, \ _is_utf8_FOO(classnum, p, e)) #define _generic_LC_func_utf8_safe(macro, above_latin1, p, e) \ _generic_LC_utf8_safe(macro, p, e, above_latin1(p, e)) #define _generic_LC_non_invlist_utf8_safe(classnum, above_latin1, p, e) \ _generic_LC_utf8_safe(classnum, p, e, \ (UNLIKELY((e) - (p) < UTF8SKIP(p)) \ ? (_force_out_malformed_utf8_message( \ (U8 *) (p), (U8 *) (e), 0, 1), 0) \ : above_latin1(p))) #define isALPHANUMERIC_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isALPHANUMERIC_LC, \ _CC_ALPHANUMERIC, p, e) #define isALPHA_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isALPHA_LC, _CC_ALPHA, p, e) #define isASCII_LC_utf8_safe(p, e) \ (__ASSERT_(_utf8_safe_assert(p, e)) isASCII_LC(*(p))) #define isBLANK_LC_utf8_safe(p, e) \ _generic_LC_non_invlist_utf8_safe(isBLANK_LC, is_HORIZWS_high, p, e) #define isCNTRL_LC_utf8_safe(p, e) \ _generic_LC_utf8_safe(isCNTRL_LC, p, e, 0) #define isDIGIT_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isDIGIT_LC, _CC_DIGIT, p, e) #define isGRAPH_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isGRAPH_LC, _CC_GRAPH, p, e) #define isIDCONT_LC_utf8_safe(p, e) \ _generic_LC_func_utf8_safe(isIDCONT_LC, \ _is_utf8_perl_idcont, p, e) #define isIDFIRST_LC_utf8_safe(p, e) \ _generic_LC_func_utf8_safe(isIDFIRST_LC, \ _is_utf8_perl_idstart, p, e) #define isLOWER_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isLOWER_LC, _CC_LOWER, p, e) #define isPRINT_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isPRINT_LC, _CC_PRINT, p, e) #define isPSXSPC_LC_utf8_safe(p, e) isSPACE_LC_utf8_safe(p, e) #define isPUNCT_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isPUNCT_LC, _CC_PUNCT, p, e) #define isSPACE_LC_utf8_safe(p, e) \ _generic_LC_non_invlist_utf8_safe(isSPACE_LC, is_XPERLSPACE_high, p, e) #define isUPPER_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isUPPER_LC, _CC_UPPER, p, e) #define isWORDCHAR_LC_utf8_safe(p, e) \ _generic_LC_invlist_utf8_safe(isWORDCHAR_LC, _CC_WORDCHAR, p, e) #define isXDIGIT_LC_utf8_safe(p, e) \ _generic_LC_non_invlist_utf8_safe(isXDIGIT_LC, is_XDIGIT_high, p, e) /* Macros for backwards compatibility and for completeness when the ASCII and * Latin1 values are identical */ #define isALPHAU(c) isALPHA_L1(c) #define isDIGIT_L1(c) isDIGIT_A(c) #define isOCTAL(c) isOCTAL_A(c) #define isOCTAL_L1(c) isOCTAL_A(c) #define isXDIGIT_L1(c) isXDIGIT_A(c) #define isALNUM(c) isWORDCHAR(c) #define isALNUM_A(c) isALNUM(c) #define isALNUMU(c) isWORDCHAR_L1(c) #define isALNUM_LC(c) isWORDCHAR_LC(c) #define isALNUM_uni(c) isWORDCHAR_uni(c) #define isALNUM_LC_uvchr(c) isWORDCHAR_LC_uvchr(c) #define isALNUM_utf8(p,e) isWORDCHAR_utf8(p,e) #define isALNUM_utf8_safe(p,e) isWORDCHAR_utf8_safe(p,e) #define isALNUM_LC_utf8(p,e)isWORDCHAR_LC_utf8(p,e) #define isALNUM_LC_utf8_safe(p,e)isWORDCHAR_LC_utf8_safe(p,e) #define isALNUMC_A(c) isALPHANUMERIC_A(c) /* Mnemonic: "C's alnum" */ #define isALNUMC_L1(c) isALPHANUMERIC_L1(c) #define isALNUMC(c) isALPHANUMERIC(c) #define isALNUMC_LC(c) isALPHANUMERIC_LC(c) #define isALNUMC_uni(c) isALPHANUMERIC_uni(c) #define isALNUMC_LC_uvchr(c) isALPHANUMERIC_LC_uvchr(c) #define isALNUMC_utf8(p,e) isALPHANUMERIC_utf8(p,e) #define isALNUMC_utf8_safe(p,e) isALPHANUMERIC_utf8_safe(p,e) #define isALNUMC_LC_utf8_safe(p,e) isALPHANUMERIC_LC_utf8_safe(p,e) /* On EBCDIC platforms, CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII, * except that they don't necessarily mean the same characters, e.g. CTRL-D is * 4 on both systems, but that is EOT on ASCII; ST on EBCDIC. * '?' is special-cased on EBCDIC to APC, which is the control there that is * the outlier from the block that contains the other controls, just like * toCTRL('?') on ASCII yields DEL, the control that is the outlier from the C0 * block. If it weren't special cased, it would yield a non-control. * The conversion works both ways, so toCTRL('D') is 4, and toCTRL(4) is D, * etc. */ #ifndef EBCDIC # define toCTRL(c) (__ASSERT_(FITS_IN_8_BITS(c)) toUPPER(((U8)(c))) ^ 64) #else # define toCTRL(c) (__ASSERT_(FITS_IN_8_BITS(c)) \ ((isPRINT_A(c)) \ ? (UNLIKELY((c) == '?') \ ? QUESTION_MARK_CTRL \ : (NATIVE_TO_LATIN1(toUPPER((U8) (c))) ^ 64)) \ : (UNLIKELY((c) == QUESTION_MARK_CTRL) \ ? '?' \ : (LATIN1_TO_NATIVE(((U8) (c)) ^ 64))))) #endif /* Line numbers are unsigned, 32 bits. */ typedef U32 line_t; #define NOLINE ((line_t) 4294967295UL) /* = FFFFFFFF */ /* Helpful alias for version prescan */ #define is_LAX_VERSION(a,b) \ (a != Perl_prescan_version(aTHX_ a, FALSE, b, NULL, NULL, NULL, NULL)) #define is_STRICT_VERSION(a,b) \ (a != Perl_prescan_version(aTHX_ a, TRUE, b, NULL, NULL, NULL, NULL)) #define BADVERSION(a,b,c) \ if (b) { \ *b = c; \ } \ return a; /* Converts a character KNOWN to represent a hexadecimal digit (0-9, A-F, or * a-f) to its numeric value without using any branches. The input is * validated only by an assert() in DEBUGGING builds. * * It works by right shifting and isolating the bit that is 0 for the digits, * and 1 for at least the alphas A-F, a-f. The bit is shifted to the ones * position, and then to the eights position. Both are added together to form * 0 if the input is '0'-'9' and to form 9 if alpha. This is added to the * final four bits of the input to form the correct value. */ #define XDIGIT_VALUE(c) (__ASSERT_(isXDIGIT(c)) \ ((NATIVE_TO_LATIN1(c) >> 6) & 1) /* 1 if alpha; 0 if not */ \ + ((NATIVE_TO_LATIN1(c) >> 3) & 8) /* 8 if alpha; 0 if not */ \ + ((c) & 0xF)) /* 0-9 if input valid hex digit */ /* The argument is a string pointer, which is advanced. */ #define READ_XDIGIT(s) ((s)++, XDIGIT_VALUE(*((s) - 1))) /* Converts a character known to represent an octal digit (0-7) to its numeric * value. The input is validated only by an assert() in DEBUGGING builds. In * both ASCII and EBCDIC the last 3 bits of the octal digits range from 0-7. */ #define OCTAL_VALUE(c) (__ASSERT_(isOCTAL(c)) (7 & (c))) /* Efficiently returns a boolean as to if two native characters are equivalent * case-insenstively. At least one of the characters must be one of [A-Za-z]; * the ALPHA in the name is to remind you of that. This is asserted() in * DEBUGGING builds. Because [A-Za-z] are invariant under UTF-8, this macro * works (on valid input) for both non- and UTF-8-encoded bytes. * * When one of the inputs is a compile-time constant and gets folded by the * compiler, this reduces to an AND and a TEST. On both EBCDIC and ASCII * machines, 'A' and 'a' differ by a single bit; the same with the upper and * lower case of all other ASCII-range alphabetics. On ASCII platforms, they * are 32 apart; on EBCDIC, they are 64. At compile time, this uses an * exclusive 'or' to find that bit and then inverts it to form a mask, with * just a single 0, in the bit position where the upper- and lowercase differ. * */ #define isALPHA_FOLD_EQ(c1, c2) \ (__ASSERT_(isALPHA_A(c1) || isALPHA_A(c2)) \ ((c1) & ~('A' ^ 'a')) == ((c2) & ~('A' ^ 'a'))) #define isALPHA_FOLD_NE(c1, c2) (! isALPHA_FOLD_EQ((c1), (c2))) /* =head1 Memory Management =for apidoc Am|void|Newx|void* ptr|int nitems|type The XSUB-writer's interface to the C C<malloc> function. Memory obtained by this should B<ONLY> be freed with L</"Safefree">. In 5.9.3, Newx() and friends replace the older New() API, and drops the first parameter, I<x>, a debug aid which allowed callers to identify themselves. This aid has been superseded by a new build option, PERL_MEM_LOG (see L<perlhacktips/PERL_MEM_LOG>). The older API is still there for use in XS modules supporting older perls. =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast The XSUB-writer's interface to the C C<malloc> function, with cast. See also C<L</Newx>>. Memory obtained by this should B<ONLY> be freed with L</"Safefree">. =for apidoc Am|void|Newxz|void* ptr|int nitems|type The XSUB-writer's interface to the C C<malloc> function. The allocated memory is zeroed with C<memzero>. See also C<L</Newx>>. Memory obtained by this should B<ONLY> be freed with L</"Safefree">. =for apidoc Am|void|Renew|void* ptr|int nitems|type The XSUB-writer's interface to the C C<realloc> function. Memory obtained by this should B<ONLY> be freed with L</"Safefree">. =for apidoc Am|void|Renewc|void* ptr|int nitems|type|cast The XSUB-writer's interface to the C C<realloc> function, with cast. Memory obtained by this should B<ONLY> be freed with L</"Safefree">. =for apidoc Am|void|Safefree|void* ptr The XSUB-writer's interface to the C C<free> function. This should B<ONLY> be used on memory obtained using L</"Newx"> and friends. =for apidoc Am|void|Move|void* src|void* dest|int nitems|type The XSUB-writer's interface to the C C<memmove> function. The C<src> is the source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is the type. Can do overlapping moves. See also C<L</Copy>>. =for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type Like C<Move> but returns C<dest>. Useful for encouraging compilers to tail-call optimise. =for apidoc Am|void|Copy|void* src|void* dest|int nitems|type The XSUB-writer's interface to the C C<memcpy> function. The C<src> is the source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is the type. May fail on overlapping copies. See also C<L</Move>>. =for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type Like C<Copy> but returns C<dest>. Useful for encouraging compilers to tail-call optimise. =for apidoc Am|void|Zero|void* dest|int nitems|type The XSUB-writer's interface to the C C<memzero> function. The C<dest> is the destination, C<nitems> is the number of items, and C<type> is the type. =for apidoc Am|void *|ZeroD|void* dest|int nitems|type Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call optimise. =for apidoc Am|void|StructCopy|type *src|type *dest|type This is an architecture-independent macro to copy one structure to another. =for apidoc Am|void|PoisonWith|void* dest|int nitems|type|U8 byte Fill up memory with a byte pattern (a byte repeated over and over again) that hopefully catches attempts to access uninitialized memory. =for apidoc Am|void|PoisonNew|void* dest|int nitems|type PoisonWith(0xAB) for catching access to allocated but uninitialized memory. =for apidoc Am|void|PoisonFree|void* dest|int nitems|type PoisonWith(0xEF) for catching access to freed memory. =for apidoc Am|void|Poison|void* dest|int nitems|type PoisonWith(0xEF) for catching access to freed memory. =cut */ /* Maintained for backwards-compatibility only. Use newSV() instead. */ #ifndef PERL_CORE #define NEWSV(x,len) newSV(len) #endif #define MEM_SIZE_MAX ((MEM_SIZE)-1) #define _PERL_STRLEN_ROUNDUP_UNCHECKED(n) (((n) - 1 + PERL_STRLEN_ROUNDUP_QUANTUM) & ~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM - 1)) #ifdef PERL_MALLOC_WRAP /* This expression will be constant-folded at compile time. It checks * whether or not the type of the count n is so small (e.g. U8 or U16, or * U32 on 64-bit systems) that there's no way a wrap-around could occur. * As well as avoiding the need for a run-time check in some cases, it's * designed to avoid compiler warnings like: * comparison is always false due to limited range of data type * It's mathematically equivalent to * max(n) * sizeof(t) > MEM_SIZE_MAX */ # define _MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) \ ( sizeof(MEM_SIZE) < sizeof(n) \ || sizeof(t) > ((MEM_SIZE)1 << 8*(sizeof(MEM_SIZE) - sizeof(n)))) /* This is written in a slightly odd way to avoid various spurious * compiler warnings. We *want* to write the expression as * _MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) && (n > C) * (for some compile-time constant C), but even when the LHS * constant-folds to false at compile-time, g++ insists on emitting * warnings about the RHS (e.g. "comparison is always false"), so instead * we write it as * * (cond ? n : X) > C * * where X is a constant with X > C always false. Choosing a value for X * is tricky. If 0, some compilers will complain about 0 > C always being * false; if 1, Coverity complains when n happens to be the constant value * '1', that cond ? 1 : 1 has the same value on both branches; so use C * for X and hope that nothing else whines. */ # define _MEM_WRAP_WILL_WRAP(n,t) \ ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \ MEM_SIZE_MAX/sizeof(t)) > MEM_SIZE_MAX/sizeof(t)) # define MEM_WRAP_CHECK(n,t) \ (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \ && (croak_memory_wrap(),0)) # define MEM_WRAP_CHECK_1(n,t,a) \ (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \ && (Perl_croak_nocontext("%s",(a)),0)) /* "a" arg must be a string literal */ # define MEM_WRAP_CHECK_s(n,t,a) \ (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \ && (Perl_croak_nocontext("" a ""),0)) #define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t), #define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (croak_memory_wrap(),0) : 0), _PERL_STRLEN_ROUNDUP_UNCHECKED(n)) #else #define MEM_WRAP_CHECK(n,t) #define MEM_WRAP_CHECK_1(n,t,a) #define MEM_WRAP_CHECK_s(n,t,a) #define MEM_WRAP_CHECK_(n,t) #define PERL_STRLEN_ROUNDUP(n) _PERL_STRLEN_ROUNDUP_UNCHECKED(n) #endif #ifdef PERL_MEM_LOG /* * If PERL_MEM_LOG is defined, all Newx()s, Renew()s, and Safefree()s * go through functions, which are handy for debugging breakpoints, but * which more importantly get the immediate calling environment (file and * line number, and C function name if available) passed in. This info can * then be used for logging the calls, for which one gets a sample * implementation unless -DPERL_MEM_LOG_NOIMPL is also defined. * * Known problems: * - not all memory allocs get logged, only those * that go through Newx() and derivatives (while all * Safefrees do get logged) * - __FILE__ and __LINE__ do not work everywhere * - __func__ or __FUNCTION__ even less so * - I think more goes on after the perlio frees but * the thing is that STDERR gets closed (as do all * the file descriptors) * - no deeper calling stack than the caller of the Newx() * or the kind, but do I look like a C reflection/introspection * utility to you? * - the function prototypes for the logging functions * probably should maybe be somewhere else than handy.h * - one could consider inlining (macrofying) the logging * for speed, but I am too lazy * - one could imagine recording the allocations in a hash, * (keyed by the allocation address?), and maintain that * through reallocs and frees, but how to do that without * any News() happening...? * - lots of -Ddefines to get useful/controllable output * - lots of ENV reads */ # ifdef PERL_CORE # ifndef PERL_MEM_LOG_NOIMPL enum mem_log_type { MLT_ALLOC, MLT_REALLOC, MLT_FREE, MLT_NEW_SV, MLT_DEL_SV }; # endif # if defined(PERL_IN_SV_C) /* those are only used in sv.c */ void Perl_mem_log_new_sv(const SV *sv, const char *filename, const int linenumber, const char *funcname); void Perl_mem_log_del_sv(const SV *sv, const char *filename, const int linenumber, const char *funcname); # endif # endif #endif #ifdef PERL_MEM_LOG #define MEM_LOG_ALLOC(n,t,a) Perl_mem_log_alloc(n,sizeof(t),STRINGIFY(t),a,__FILE__,__LINE__,FUNCTION__) #define MEM_LOG_REALLOC(n,t,v,a) Perl_mem_log_realloc(n,sizeof(t),STRINGIFY(t),v,a,__FILE__,__LINE__,FUNCTION__) #define MEM_LOG_FREE(a) Perl_mem_log_free(a,__FILE__,__LINE__,FUNCTION__) #endif #ifndef MEM_LOG_ALLOC #define MEM_LOG_ALLOC(n,t,a) (a) #endif #ifndef MEM_LOG_REALLOC #define MEM_LOG_REALLOC(n,t,v,a) (a) #endif #ifndef MEM_LOG_FREE #define MEM_LOG_FREE(a) (a) #endif #define Newx(v,n,t) (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t)))))) #define Newxc(v,n,t,c) (v = (MEM_WRAP_CHECK_(n,t) (c*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t)))))) #define Newxz(v,n,t) (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safecalloc((n),sizeof(t))))) #ifndef PERL_CORE /* pre 5.9.x compatibility */ #define New(x,v,n,t) Newx(v,n,t) #define Newc(x,v,n,t,c) Newxc(v,n,t,c) #define Newz(x,v,n,t) Newxz(v,n,t) #endif #define Renew(v,n,t) \ (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_REALLOC(n,t,v,saferealloc((Malloc_t)(v),(MEM_SIZE)((n)*sizeof(t)))))) #define Renewc(v,n,t,c) \ (v = (MEM_WRAP_CHECK_(n,t) (c*)MEM_LOG_REALLOC(n,t,v,saferealloc((Malloc_t)(v),(MEM_SIZE)((n)*sizeof(t)))))) #ifdef PERL_POISON #define Safefree(d) \ ((d) ? (void)(safefree(MEM_LOG_FREE((Malloc_t)(d))), Poison(&(d), 1, Malloc_t)) : (void) 0) #else #define Safefree(d) safefree(MEM_LOG_FREE((Malloc_t)(d))) #endif /* assert that a valid ptr has been supplied - use this instead of assert(ptr) * * as it handles cases like constant string arguments without throwing warnings * * the cast is required, as is the inequality check, to avoid warnings */ #define perl_assert_ptr(p) assert( ((void*)(p)) != 0 ) #define Move(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) #define Copy(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) #define Zero(d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), (void)memzero((char*)(d), (n) * sizeof(t))) /* Like above, but returns a pointer to 'd' */ #define MoveD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memmove((char*)(d),(const char*)(s), (n) * sizeof(t))) #define CopyD(s,d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memcpy((char*)(d),(const char*)(s), (n) * sizeof(t))) #define ZeroD(d,n,t) (MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), memzero((char*)(d), (n) * sizeof(t))) #define PoisonWith(d,n,t,b) (MEM_WRAP_CHECK_(n,t) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))) #define PoisonNew(d,n,t) PoisonWith(d,n,t,0xAB) #define PoisonFree(d,n,t) PoisonWith(d,n,t,0xEF) #define Poison(d,n,t) PoisonFree(d,n,t) #ifdef PERL_POISON # define PERL_POISON_EXPR(x) x #else # define PERL_POISON_EXPR(x) #endif #define StructCopy(s,d,t) (*((t*)(d)) = *((t*)(s))) /* =head1 Handy Values =for apidoc Am|STRLEN|C_ARRAY_LENGTH|void *a Returns the number of elements in the input C array (so you want your zero-based indices to be less than but not equal to). =for apidoc Am|void *|C_ARRAY_END|void *a Returns a pointer to one element past the final element of the input C array. =cut C_ARRAY_END is one past the last: half-open/half-closed range, not last-inclusive range. */ #define C_ARRAY_LENGTH(a) (sizeof(a)/sizeof((a)[0])) #define C_ARRAY_END(a) ((a) + C_ARRAY_LENGTH(a)) #ifdef NEED_VA_COPY # ifdef va_copy # define Perl_va_copy(s, d) va_copy(d, s) # elif defined(__va_copy) # define Perl_va_copy(s, d) __va_copy(d, s) # else # define Perl_va_copy(s, d) Copy(s, d, 1, va_list) # endif #endif /* convenience debug macros */ #ifdef USE_ITHREADS #define pTHX_FORMAT "Perl interpreter: 0x%p" #define pTHX__FORMAT ", Perl interpreter: 0x%p" #define pTHX_VALUE_ (void *)my_perl, #define pTHX_VALUE (void *)my_perl #define pTHX__VALUE_ ,(void *)my_perl, #define pTHX__VALUE ,(void *)my_perl #else #define pTHX_FORMAT #define pTHX__FORMAT #define pTHX_VALUE_ #define pTHX_VALUE #define pTHX__VALUE_ #define pTHX__VALUE #endif /* USE_ITHREADS */ /* Perl_deprecate was not part of the public API, and did not have a deprecate() shortcut macro defined without -DPERL_CORE. Neither codesearch.google.com nor CPAN::Unpack show any users outside the core. */ #ifdef PERL_CORE # define deprecate(s) Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED), \ "Use of " s " is deprecated") # define deprecate_disappears_in(when,message) \ Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED), \ message ", and will disappear in Perl " when) # define deprecate_fatal_in(when,message) \ Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED), \ message ". Its use will be fatal in Perl " when) #endif /* Internal macros to deal with gids and uids */ #ifdef PERL_CORE # if Uid_t_size > IVSIZE # define sv_setuid(sv, uid) sv_setnv((sv), (NV)(uid)) # define SvUID(sv) SvNV(sv) # elif Uid_t_sign <= 0 # define sv_setuid(sv, uid) sv_setiv((sv), (IV)(uid)) # define SvUID(sv) SvIV(sv) # else # define sv_setuid(sv, uid) sv_setuv((sv), (UV)(uid)) # define SvUID(sv) SvUV(sv) # endif /* Uid_t_size */ # if Gid_t_size > IVSIZE # define sv_setgid(sv, gid) sv_setnv((sv), (NV)(gid)) # define SvGID(sv) SvNV(sv) # elif Gid_t_sign <= 0 # define sv_setgid(sv, gid) sv_setiv((sv), (IV)(gid)) # define SvGID(sv) SvIV(sv) # else # define sv_setgid(sv, gid) sv_setuv((sv), (UV)(gid)) # define SvGID(sv) SvUV(sv) # endif /* Gid_t_size */ #endif #endif /* PERL_HANDY_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ time64.h 0000644 00000002220 15140731057 0006024 0 ustar 00 #include <time.h> #include "time64_config.h" #ifndef PERL_TIME64_H_ # define PERL_TIME64_H_ /* Set our custom types */ typedef INT_64_T Int64; typedef Int64 Time64_T; typedef I32 Year; /* A copy of the tm struct but with a 64 bit year */ struct TM64 { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; Year tm_year; int tm_wday; int tm_yday; int tm_isdst; #ifdef HAS_TM_TM_GMTOFF long tm_gmtoff; #endif #ifdef HAS_TM_TM_ZONE /* If glibc is defined or we are on QNX, use const. * Otherwise, if we are on android, use const but * not with g++. */ # if defined(__GLIBC__) || (defined(__ANDROID__) && !defined(__cplusplus)) \ || defined(__QNX__) || defined(__CYGWIN__) const # endif char *tm_zone; #endif }; /* Decide which tm struct to use */ #ifdef USE_TM64 #define TM TM64 #else #define TM tm #endif /* Declare functions */ struct TM *Perl_gmtime64_r (const Time64_T *, struct TM *); struct TM *Perl_localtime64_r (const Time64_T *, struct TM *); #endif opnames.h 0000644 00000021337 15140731057 0006370 0 ustar 00 /* -*- buffer-read-only: t -*- * * opnames.h * * Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, * 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/opcode.pl from its data. * Any changes made here will be lost! */ typedef enum opcode { OP_NULL = 0, OP_STUB = 1, OP_SCALAR = 2, OP_PUSHMARK = 3, OP_WANTARRAY = 4, OP_CONST = 5, OP_GVSV = 6, OP_GV = 7, OP_GELEM = 8, OP_PADSV = 9, OP_PADAV = 10, OP_PADHV = 11, OP_PADANY = 12, OP_RV2GV = 13, OP_RV2SV = 14, OP_AV2ARYLEN = 15, OP_RV2CV = 16, OP_ANONCODE = 17, OP_PROTOTYPE = 18, OP_REFGEN = 19, OP_SREFGEN = 20, OP_REF = 21, OP_BLESS = 22, OP_BACKTICK = 23, OP_GLOB = 24, OP_READLINE = 25, OP_RCATLINE = 26, OP_REGCMAYBE = 27, OP_REGCRESET = 28, OP_REGCOMP = 29, OP_MATCH = 30, OP_QR = 31, OP_SUBST = 32, OP_SUBSTCONT = 33, OP_TRANS = 34, OP_TRANSR = 35, OP_SASSIGN = 36, OP_AASSIGN = 37, OP_CHOP = 38, OP_SCHOP = 39, OP_CHOMP = 40, OP_SCHOMP = 41, OP_DEFINED = 42, OP_UNDEF = 43, OP_STUDY = 44, OP_POS = 45, OP_PREINC = 46, OP_I_PREINC = 47, OP_PREDEC = 48, OP_I_PREDEC = 49, OP_POSTINC = 50, OP_I_POSTINC = 51, OP_POSTDEC = 52, OP_I_POSTDEC = 53, OP_POW = 54, OP_MULTIPLY = 55, OP_I_MULTIPLY = 56, OP_DIVIDE = 57, OP_I_DIVIDE = 58, OP_MODULO = 59, OP_I_MODULO = 60, OP_REPEAT = 61, OP_ADD = 62, OP_I_ADD = 63, OP_SUBTRACT = 64, OP_I_SUBTRACT = 65, OP_CONCAT = 66, OP_MULTICONCAT = 67, OP_STRINGIFY = 68, OP_LEFT_SHIFT = 69, OP_RIGHT_SHIFT = 70, OP_LT = 71, OP_I_LT = 72, OP_GT = 73, OP_I_GT = 74, OP_LE = 75, OP_I_LE = 76, OP_GE = 77, OP_I_GE = 78, OP_EQ = 79, OP_I_EQ = 80, OP_NE = 81, OP_I_NE = 82, OP_NCMP = 83, OP_I_NCMP = 84, OP_SLT = 85, OP_SGT = 86, OP_SLE = 87, OP_SGE = 88, OP_SEQ = 89, OP_SNE = 90, OP_SCMP = 91, OP_BIT_AND = 92, OP_BIT_XOR = 93, OP_BIT_OR = 94, OP_NBIT_AND = 95, OP_NBIT_XOR = 96, OP_NBIT_OR = 97, OP_SBIT_AND = 98, OP_SBIT_XOR = 99, OP_SBIT_OR = 100, OP_NEGATE = 101, OP_I_NEGATE = 102, OP_NOT = 103, OP_COMPLEMENT = 104, OP_NCOMPLEMENT = 105, OP_SCOMPLEMENT = 106, OP_SMARTMATCH = 107, OP_ATAN2 = 108, OP_SIN = 109, OP_COS = 110, OP_RAND = 111, OP_SRAND = 112, OP_EXP = 113, OP_LOG = 114, OP_SQRT = 115, OP_INT = 116, OP_HEX = 117, OP_OCT = 118, OP_ABS = 119, OP_LENGTH = 120, OP_SUBSTR = 121, OP_VEC = 122, OP_INDEX = 123, OP_RINDEX = 124, OP_SPRINTF = 125, OP_FORMLINE = 126, OP_ORD = 127, OP_CHR = 128, OP_CRYPT = 129, OP_UCFIRST = 130, OP_LCFIRST = 131, OP_UC = 132, OP_LC = 133, OP_QUOTEMETA = 134, OP_RV2AV = 135, OP_AELEMFAST = 136, OP_AELEMFAST_LEX = 137, OP_AELEM = 138, OP_ASLICE = 139, OP_KVASLICE = 140, OP_AEACH = 141, OP_AVALUES = 142, OP_AKEYS = 143, OP_EACH = 144, OP_VALUES = 145, OP_KEYS = 146, OP_DELETE = 147, OP_EXISTS = 148, OP_RV2HV = 149, OP_HELEM = 150, OP_HSLICE = 151, OP_KVHSLICE = 152, OP_MULTIDEREF = 153, OP_UNPACK = 154, OP_PACK = 155, OP_SPLIT = 156, OP_JOIN = 157, OP_LIST = 158, OP_LSLICE = 159, OP_ANONLIST = 160, OP_ANONHASH = 161, OP_SPLICE = 162, OP_PUSH = 163, OP_POP = 164, OP_SHIFT = 165, OP_UNSHIFT = 166, OP_SORT = 167, OP_REVERSE = 168, OP_GREPSTART = 169, OP_GREPWHILE = 170, OP_MAPSTART = 171, OP_MAPWHILE = 172, OP_RANGE = 173, OP_FLIP = 174, OP_FLOP = 175, OP_AND = 176, OP_OR = 177, OP_XOR = 178, OP_DOR = 179, OP_COND_EXPR = 180, OP_ANDASSIGN = 181, OP_ORASSIGN = 182, OP_DORASSIGN = 183, OP_ENTERSUB = 184, OP_LEAVESUB = 185, OP_LEAVESUBLV = 186, OP_ARGCHECK = 187, OP_ARGELEM = 188, OP_ARGDEFELEM = 189, OP_CALLER = 190, OP_WARN = 191, OP_DIE = 192, OP_RESET = 193, OP_LINESEQ = 194, OP_NEXTSTATE = 195, OP_DBSTATE = 196, OP_UNSTACK = 197, OP_ENTER = 198, OP_LEAVE = 199, OP_SCOPE = 200, OP_ENTERITER = 201, OP_ITER = 202, OP_ENTERLOOP = 203, OP_LEAVELOOP = 204, OP_RETURN = 205, OP_LAST = 206, OP_NEXT = 207, OP_REDO = 208, OP_DUMP = 209, OP_GOTO = 210, OP_EXIT = 211, OP_METHOD = 212, OP_METHOD_NAMED = 213, OP_METHOD_SUPER = 214, OP_METHOD_REDIR = 215, OP_METHOD_REDIR_SUPER = 216, OP_ENTERGIVEN = 217, OP_LEAVEGIVEN = 218, OP_ENTERWHEN = 219, OP_LEAVEWHEN = 220, OP_BREAK = 221, OP_CONTINUE = 222, OP_OPEN = 223, OP_CLOSE = 224, OP_PIPE_OP = 225, OP_FILENO = 226, OP_UMASK = 227, OP_BINMODE = 228, OP_TIE = 229, OP_UNTIE = 230, OP_TIED = 231, OP_DBMOPEN = 232, OP_DBMCLOSE = 233, OP_SSELECT = 234, OP_SELECT = 235, OP_GETC = 236, OP_READ = 237, OP_ENTERWRITE = 238, OP_LEAVEWRITE = 239, OP_PRTF = 240, OP_PRINT = 241, OP_SAY = 242, OP_SYSOPEN = 243, OP_SYSSEEK = 244, OP_SYSREAD = 245, OP_SYSWRITE = 246, OP_EOF = 247, OP_TELL = 248, OP_SEEK = 249, OP_TRUNCATE = 250, OP_FCNTL = 251, OP_IOCTL = 252, OP_FLOCK = 253, OP_SEND = 254, OP_RECV = 255, OP_SOCKET = 256, OP_SOCKPAIR = 257, OP_BIND = 258, OP_CONNECT = 259, OP_LISTEN = 260, OP_ACCEPT = 261, OP_SHUTDOWN = 262, OP_GSOCKOPT = 263, OP_SSOCKOPT = 264, OP_GETSOCKNAME = 265, OP_GETPEERNAME = 266, OP_LSTAT = 267, OP_STAT = 268, OP_FTRREAD = 269, OP_FTRWRITE = 270, OP_FTREXEC = 271, OP_FTEREAD = 272, OP_FTEWRITE = 273, OP_FTEEXEC = 274, OP_FTIS = 275, OP_FTSIZE = 276, OP_FTMTIME = 277, OP_FTATIME = 278, OP_FTCTIME = 279, OP_FTROWNED = 280, OP_FTEOWNED = 281, OP_FTZERO = 282, OP_FTSOCK = 283, OP_FTCHR = 284, OP_FTBLK = 285, OP_FTFILE = 286, OP_FTDIR = 287, OP_FTPIPE = 288, OP_FTSUID = 289, OP_FTSGID = 290, OP_FTSVTX = 291, OP_FTLINK = 292, OP_FTTTY = 293, OP_FTTEXT = 294, OP_FTBINARY = 295, OP_CHDIR = 296, OP_CHOWN = 297, OP_CHROOT = 298, OP_UNLINK = 299, OP_CHMOD = 300, OP_UTIME = 301, OP_RENAME = 302, OP_LINK = 303, OP_SYMLINK = 304, OP_READLINK = 305, OP_MKDIR = 306, OP_RMDIR = 307, OP_OPEN_DIR = 308, OP_READDIR = 309, OP_TELLDIR = 310, OP_SEEKDIR = 311, OP_REWINDDIR = 312, OP_CLOSEDIR = 313, OP_FORK = 314, OP_WAIT = 315, OP_WAITPID = 316, OP_SYSTEM = 317, OP_EXEC = 318, OP_KILL = 319, OP_GETPPID = 320, OP_GETPGRP = 321, OP_SETPGRP = 322, OP_GETPRIORITY = 323, OP_SETPRIORITY = 324, OP_TIME = 325, OP_TMS = 326, OP_LOCALTIME = 327, OP_GMTIME = 328, OP_ALARM = 329, OP_SLEEP = 330, OP_SHMGET = 331, OP_SHMCTL = 332, OP_SHMREAD = 333, OP_SHMWRITE = 334, OP_MSGGET = 335, OP_MSGCTL = 336, OP_MSGSND = 337, OP_MSGRCV = 338, OP_SEMOP = 339, OP_SEMGET = 340, OP_SEMCTL = 341, OP_REQUIRE = 342, OP_DOFILE = 343, OP_HINTSEVAL = 344, OP_ENTEREVAL = 345, OP_LEAVEEVAL = 346, OP_ENTERTRY = 347, OP_LEAVETRY = 348, OP_GHBYNAME = 349, OP_GHBYADDR = 350, OP_GHOSTENT = 351, OP_GNBYNAME = 352, OP_GNBYADDR = 353, OP_GNETENT = 354, OP_GPBYNAME = 355, OP_GPBYNUMBER = 356, OP_GPROTOENT = 357, OP_GSBYNAME = 358, OP_GSBYPORT = 359, OP_GSERVENT = 360, OP_SHOSTENT = 361, OP_SNETENT = 362, OP_SPROTOENT = 363, OP_SSERVENT = 364, OP_EHOSTENT = 365, OP_ENETENT = 366, OP_EPROTOENT = 367, OP_ESERVENT = 368, OP_GPWNAM = 369, OP_GPWUID = 370, OP_GPWENT = 371, OP_SPWENT = 372, OP_EPWENT = 373, OP_GGRNAM = 374, OP_GGRGID = 375, OP_GGRENT = 376, OP_SGRENT = 377, OP_EGRENT = 378, OP_GETLOGIN = 379, OP_SYSCALL = 380, OP_LOCK = 381, OP_ONCE = 382, OP_CUSTOM = 383, OP_COREARGS = 384, OP_AVHVSWITCH = 385, OP_RUNCV = 386, OP_FC = 387, OP_PADCV = 388, OP_INTROCV = 389, OP_CLONECV = 390, OP_PADRANGE = 391, OP_REFASSIGN = 392, OP_LVREF = 393, OP_LVREFSLICE = 394, OP_LVAVREF = 395, OP_ANONCONST = 396, OP_ISA = 397, OP_CMPCHAIN_AND = 398, OP_CMPCHAIN_DUP = 399, OP_max } opcode; #define MAXO 400 #define OP_FREED MAXO /* the OP_IS_* macros are optimized to a simple range check because all the member OPs are contiguous in regen/opcodes table. opcode.pl verifies the range contiguity, or generates an OR-equals expression */ #define OP_IS_SOCKET(op) \ ((op) >= OP_SEND && (op) <= OP_GETPEERNAME) #define OP_IS_FILETEST(op) \ ((op) >= OP_FTRREAD && (op) <= OP_FTBINARY) #define OP_IS_FILETEST_ACCESS(op) \ ((op) >= OP_FTRREAD && (op) <= OP_FTEEXEC) #define OP_IS_NUMCOMPARE(op) \ ((op) >= OP_LT && (op) <= OP_I_NCMP) #define OP_IS_DIRHOP(op) \ ((op) >= OP_READDIR && (op) <= OP_CLOSEDIR) #define OP_IS_INFIX_BIT(op) \ ((op) >= OP_BIT_AND && (op) <= OP_SBIT_OR) /* ex: set ro: */ XSUB.h 0000644 00000060003 15140731057 0005500 0 ustar 00 /* XSUB.h * * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, * 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef PERL_XSUB_H_ #define PERL_XSUB_H_ 1 /* first, some documentation for xsubpp-generated items */ /* =head1 C<xsubpp> variables and internal functions =for apidoc Amn|char*|CLASS Variable which is setup by C<xsubpp> to indicate the class name for a C++ XS constructor. This is always a C<char*>. See C<L</THIS>>. =for apidoc Amn|(whatever)|RETVAL Variable which is setup by C<xsubpp> to hold the return value for an XSUB. This is always the proper type for the XSUB. See L<perlxs/"The RETVAL Variable">. =for apidoc Amn|(whatever)|THIS Variable which is setup by C<xsubpp> to designate the object in a C++ XSUB. This is always the proper type for the C++ object. See C<L</CLASS>> and L<perlxs/"Using XS With C++">. =for apidoc Amn|I32|ax Variable which is setup by C<xsubpp> to indicate the stack base offset, used by the C<ST>, C<XSprePUSH> and C<XSRETURN> macros. The C<dMARK> macro must be called prior to setup the C<MARK> variable. =for apidoc Amn|I32|items Variable which is setup by C<xsubpp> to indicate the number of items on the stack. See L<perlxs/"Variable-length Parameter Lists">. =for apidoc Amn|I32|ix Variable which is setup by C<xsubpp> to indicate which of an XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">. =for apidoc Am|SV*|ST|int ix Used to access elements on the XSUB's stack. =for apidoc AmnU||XS Macro to declare an XSUB and its C parameter list. This is handled by C<xsubpp>. It is the same as using the more explicit C<XS_EXTERNAL> macro. =for apidoc AmU||XS_INTERNAL Macro to declare an XSUB and its C parameter list without exporting the symbols. This is handled by C<xsubpp> and generally preferable over exporting the XSUB symbols unnecessarily. =for apidoc AmnU||XS_EXTERNAL Macro to declare an XSUB and its C parameter list explicitly exporting the symbols. =for apidoc Amns||dAX Sets up the C<ax> variable. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. =for apidoc Amns||dAXMARK Sets up the C<ax> variable and stack marker variable C<mark>. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. =for apidoc Amns||dITEMS Sets up the C<items> variable. This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>. =for apidoc Amns||dXSARGS Sets up stack and mark pointers for an XSUB, calling C<dSP> and C<dMARK>. Sets up the C<ax> and C<items> variables by calling C<dAX> and C<dITEMS>. This is usually handled automatically by C<xsubpp>. =for apidoc Amns||dXSI32 Sets up the C<ix> variable for an XSUB which has aliases. This is usually handled automatically by C<xsubpp>. =for apidoc Amns||dUNDERBAR Sets up any variable needed by the C<UNDERBAR> macro. It used to define C<padoff_du>, but it is currently a noop. However, it is strongly advised to still use it for ensuring past and future compatibility. =for apidoc AmnU||UNDERBAR The SV* corresponding to the C<$_> variable. Works even if there is a lexical C<$_> in scope. =cut */ #ifndef PERL_UNUSED_ARG # define PERL_UNUSED_ARG(x) ((void)x) #endif #ifndef PERL_UNUSED_VAR # define PERL_UNUSED_VAR(x) ((void)x) #endif #define ST(off) PL_stack_base[ax + (off)] /* XSPROTO() is also used by SWIG like this: * * typedef XSPROTO(SwigPerlWrapper); * typedef SwigPerlWrapper *SwigPerlWrapperPtr; * * This code needs to be compilable under both C and C++. * * Don't forget to change the __attribute__unused__ version of XS() * below too if you change XSPROTO() here. */ /* XS_INTERNAL is the explicit static-linkage variant of the default * XS macro. * * XS_EXTERNAL is the same as XS_INTERNAL except it does not include * "STATIC", ie. it exports XSUB symbols. You probably don't want that. */ #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__) #undef XS #undef XS_EXTERNAL #undef XS_INTERNAL #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) # define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name) # define XS_INTERNAL(name) STATIC XSPROTO(name) #elif defined(__SYMBIAN32__) # define XS_EXTERNAL(name) EXPORT_C XSPROTO(name) # define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name) #elif defined(__cplusplus) # define XS_EXTERNAL(name) extern "C" XSPROTO(name) # define XS_INTERNAL(name) static XSPROTO(name) #elif defined(HASATTRIBUTE_UNUSED) # define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__) # define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__) #else # define XS_EXTERNAL(name) XSPROTO(name) # define XS_INTERNAL(name) STATIC XSPROTO(name) #endif /* We do export xsub symbols by default for the public XS macro. * Try explicitly using XS_INTERNAL/XS_EXTERNAL instead, please. */ #define XS(name) XS_EXTERNAL(name) #define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1) #define dAXMARK \ I32 ax = POPMARK; \ SV **mark = PL_stack_base + ax++ #define dITEMS I32 items = (I32)(SP - MARK) #define dXSARGS \ dSP; dAXMARK; dITEMS /* These 3 macros are replacements for dXSARGS macro only in bootstrap. They factor out common code in every BOOT XSUB. Computation of vars mark and items will optimize away in most BOOT functions. Var ax can never be optimized away since BOOT must return &PL_sv_yes by default from xsubpp. Note these macros are not drop in replacements for dXSARGS since they set PL_xsubfilename. */ #define dXSBOOTARGSXSAPIVERCHK \ I32 ax = XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK; \ SV **mark = PL_stack_base + ax; dSP; dITEMS #define dXSBOOTARGSAPIVERCHK \ I32 ax = XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK; \ SV **mark = PL_stack_base + ax; dSP; dITEMS /* dXSBOOTARGSNOVERCHK has no API in xsubpp to choose it so do #undef dXSBOOTARGSXSAPIVERCHK #define dXSBOOTARGSXSAPIVERCHK dXSBOOTARGSNOVERCHK */ #define dXSBOOTARGSNOVERCHK \ I32 ax = XS_SETXSUBFN_POPMARK; \ SV **mark = PL_stack_base + ax; dSP; dITEMS #define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \ ? PAD_SV(PL_op->op_targ) : sv_newmortal()) /* Should be used before final PUSHi etc. if not in PPCODE section. */ #define XSprePUSH (sp = PL_stack_base + ax - 1) #define XSANY CvXSUBANY(cv) #define dXSI32 I32 ix = XSANY.any_i32 #ifdef __cplusplus # define XSINTERFACE_CVT(ret,name) ret (*name)(...) # define XSINTERFACE_CVT_ANON(ret) ret (*)(...) #else # define XSINTERFACE_CVT(ret,name) ret (*name)() # define XSINTERFACE_CVT_ANON(ret) ret (*)() #endif #define dXSFUNCTION(ret) XSINTERFACE_CVT(ret,XSFUNCTION) #define XSINTERFACE_FUNC(ret,cv,f) ((XSINTERFACE_CVT_ANON(ret))(f)) #define XSINTERFACE_FUNC_SET(cv,f) \ CvXSUBANY(cv).any_dxptr = (void (*) (pTHX_ void*))(f) #define dUNDERBAR dNOOP #define UNDERBAR find_rundefsv() /* Simple macros to put new mortal values onto the stack. */ /* Typically used to return values from XS functions. */ /* =head1 Stack Manipulation Macros =for apidoc Am|void|XST_mIV|int pos|IV iv Place an integer into the specified position C<pos> on the stack. The value is stored in a new mortal SV. =for apidoc Am|void|XST_mNV|int pos|NV nv Place a double into the specified position C<pos> on the stack. The value is stored in a new mortal SV. =for apidoc Am|void|XST_mPV|int pos|char* str Place a copy of a string into the specified position C<pos> on the stack. The value is stored in a new mortal SV. =for apidoc Am|void|XST_mUV|int pos|UV uv Place an unsigned integer into the specified position C<pos> on the stack. The value is stored in a new mortal SV. =for apidoc Am|void|XST_mNO|int pos Place C<&PL_sv_no> into the specified position C<pos> on the stack. =for apidoc Am|void|XST_mYES|int pos Place C<&PL_sv_yes> into the specified position C<pos> on the stack. =for apidoc Am|void|XST_mUNDEF|int pos Place C<&PL_sv_undef> into the specified position C<pos> on the stack. =for apidoc Am|void|XSRETURN|int nitems Return from XSUB, indicating number of items on the stack. This is usually handled by C<xsubpp>. =for apidoc Am|void|XSRETURN_IV|IV iv Return an integer from an XSUB immediately. Uses C<XST_mIV>. =for apidoc Am|void|XSRETURN_UV|IV uv Return an integer from an XSUB immediately. Uses C<XST_mUV>. =for apidoc Am|void|XSRETURN_NV|NV nv Return a double from an XSUB immediately. Uses C<XST_mNV>. =for apidoc Am|void|XSRETURN_PV|char* str Return a copy of a string from an XSUB immediately. Uses C<XST_mPV>. =for apidoc Amns||XSRETURN_NO Return C<&PL_sv_no> from an XSUB immediately. Uses C<XST_mNO>. =for apidoc Amns||XSRETURN_YES Return C<&PL_sv_yes> from an XSUB immediately. Uses C<XST_mYES>. =for apidoc Amns||XSRETURN_UNDEF Return C<&PL_sv_undef> from an XSUB immediately. Uses C<XST_mUNDEF>. =for apidoc Amns||XSRETURN_EMPTY Return an empty list from an XSUB immediately. =head1 Variables created by C<xsubpp> and C<xsubpp> internal functions =for apidoc AmU||newXSproto|char* name|XSUBADDR_t f|char* filename|const char *proto Used by C<xsubpp> to hook up XSUBs as Perl subs. Adds Perl prototypes to the subs. =for apidoc AmnU||XS_VERSION The version identifier for an XS module. This is usually handled automatically by C<ExtUtils::MakeMaker>. See C<L</XS_VERSION_BOOTCHECK>>. =for apidoc Amns||XS_VERSION_BOOTCHECK Macro to verify that a PM module's C<$VERSION> variable matches the XS module's C<XS_VERSION> variable. This is usually handled automatically by C<xsubpp>. See L<perlxs/"The VERSIONCHECK: Keyword">. =for apidoc Amns||XS_APIVERSION_BOOTCHECK Macro to verify that the perl api version an XS module has been compiled against matches the api version of the perl interpreter it's being loaded into. =head1 Exception Handling (simple) Macros =for apidoc Amns||dXCPT Set up necessary local variables for exception handling. See L<perlguts/"Exception Handling">. =for apidoc AmnU||XCPT_TRY_START Starts a try block. See L<perlguts/"Exception Handling">. =for apidoc AmnU||XCPT_TRY_END Ends a try block. See L<perlguts/"Exception Handling">. =for apidoc AmnU||XCPT_CATCH Introduces a catch block. See L<perlguts/"Exception Handling">. =for apidoc Amns||XCPT_RETHROW Rethrows a previously caught exception. See L<perlguts/"Exception Handling">. =cut */ #define XST_mIV(i,v) (ST(i) = sv_2mortal(newSViv(v)) ) #define XST_mUV(i,v) (ST(i) = sv_2mortal(newSVuv(v)) ) #define XST_mNV(i,v) (ST(i) = sv_2mortal(newSVnv(v)) ) #define XST_mPV(i,v) (ST(i) = sv_2mortal(newSVpv(v,0))) #define XST_mPVN(i,v,n) (ST(i) = newSVpvn_flags(v,n, SVs_TEMP)) #define XST_mNO(i) (ST(i) = &PL_sv_no ) #define XST_mYES(i) (ST(i) = &PL_sv_yes ) #define XST_mUNDEF(i) (ST(i) = &PL_sv_undef) #define XSRETURN(off) \ STMT_START { \ const IV tmpXSoff = (off); \ assert(tmpXSoff >= 0);\ PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); \ return; \ } STMT_END #define XSRETURN_IV(v) STMT_START { XST_mIV(0,v); XSRETURN(1); } STMT_END #define XSRETURN_UV(v) STMT_START { XST_mUV(0,v); XSRETURN(1); } STMT_END #define XSRETURN_NV(v) STMT_START { XST_mNV(0,v); XSRETURN(1); } STMT_END #define XSRETURN_PV(v) STMT_START { XST_mPV(0,v); XSRETURN(1); } STMT_END #define XSRETURN_PVN(v,n) STMT_START { XST_mPVN(0,v,n); XSRETURN(1); } STMT_END #define XSRETURN_NO STMT_START { XST_mNO(0); XSRETURN(1); } STMT_END #define XSRETURN_YES STMT_START { XST_mYES(0); XSRETURN(1); } STMT_END #define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END #define XSRETURN_EMPTY STMT_START { XSRETURN(0); } STMT_END #define newXSproto(a,b,c,d) newXS_flags(a,b,c,d,0) #ifdef XS_VERSION # define XS_VERSION_BOOTCHECK \ Perl_xs_handshake(HS_KEY(FALSE, FALSE, "", XS_VERSION), HS_CXT, __FILE__, \ items, ax, XS_VERSION) #else # define XS_VERSION_BOOTCHECK #endif #define XS_APIVERSION_BOOTCHECK \ Perl_xs_handshake(HS_KEY(FALSE, FALSE, "v" PERL_API_VERSION_STRING, ""), \ HS_CXT, __FILE__, items, ax, "v" PERL_API_VERSION_STRING) /* public API, this is a combination of XS_VERSION_BOOTCHECK and XS_APIVERSION_BOOTCHECK in 1, and is backportable */ #ifdef XS_VERSION # define XS_BOTHVERSION_BOOTCHECK \ Perl_xs_handshake(HS_KEY(FALSE, FALSE, "v" PERL_API_VERSION_STRING, XS_VERSION), \ HS_CXT, __FILE__, items, ax, "v" PERL_API_VERSION_STRING, XS_VERSION) #else /* should this be a #error? if you want both checked, you better supply XS_VERSION right? */ # define XS_BOTHVERSION_BOOTCHECK XS_APIVERSION_BOOTCHECK #endif /* private API */ #define XS_APIVERSION_POPMARK_BOOTCHECK \ Perl_xs_handshake(HS_KEY(FALSE, TRUE, "v" PERL_API_VERSION_STRING, ""), \ HS_CXT, __FILE__, "v" PERL_API_VERSION_STRING) #ifdef XS_VERSION # define XS_BOTHVERSION_POPMARK_BOOTCHECK \ Perl_xs_handshake(HS_KEY(FALSE, TRUE, "v" PERL_API_VERSION_STRING, XS_VERSION), \ HS_CXT, __FILE__, "v" PERL_API_VERSION_STRING, XS_VERSION) #else /* should this be a #error? if you want both checked, you better supply XS_VERSION right? */ # define XS_BOTHVERSION_POPMARK_BOOTCHECK XS_APIVERSION_POPMARK_BOOTCHECK #endif #define XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK \ Perl_xs_handshake(HS_KEY(TRUE, TRUE, "v" PERL_API_VERSION_STRING, ""), \ HS_CXT, __FILE__, "v" PERL_API_VERSION_STRING) #ifdef XS_VERSION # define XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK \ Perl_xs_handshake(HS_KEY(TRUE, TRUE, "v" PERL_API_VERSION_STRING, XS_VERSION),\ HS_CXT, __FILE__, "v" PERL_API_VERSION_STRING, XS_VERSION) #else /* should this be a #error? if you want both checked, you better supply XS_VERSION right? */ # define XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK #endif /* For a normal bootstrap without API or XS version checking. Useful for static XS modules or debugging/testing scenarios. If this macro gets heavily used in the future, it should separated into a separate function independent of Perl_xs_handshake for efficiency */ #define XS_SETXSUBFN_POPMARK \ Perl_xs_handshake(HS_KEY(TRUE, TRUE, "", "") | HSf_NOCHK, HS_CXT, __FILE__) #ifdef NO_XSLOCKS # define dXCPT dJMPENV; int rEtV = 0 # define XCPT_TRY_START JMPENV_PUSH(rEtV); if (rEtV == 0) # define XCPT_TRY_END JMPENV_POP; # define XCPT_CATCH if (rEtV != 0) # define XCPT_RETHROW JMPENV_JUMP(rEtV) #endif /* The DBM_setFilter & DBM_ckFilter macros are only used by the *DB*_File modules */ #define DBM_setFilter(db_type,code) \ STMT_START { \ if (db_type) \ RETVAL = sv_mortalcopy(db_type) ; \ ST(0) = RETVAL ; \ if (db_type && (code == &PL_sv_undef)) { \ SvREFCNT_dec_NN(db_type) ; \ db_type = NULL ; \ } \ else if (code) { \ if (db_type) \ sv_setsv(db_type, code) ; \ else \ db_type = newSVsv(code) ; \ } \ } STMT_END #define DBM_ckFilter(arg,type,name) \ STMT_START { \ if (db->type) { \ if (db->filtering) { \ croak("recursion detected in %s", name) ; \ } \ ENTER ; \ SAVETMPS ; \ SAVEINT(db->filtering) ; \ db->filtering = TRUE ; \ SAVE_DEFSV ; \ if (name[7] == 's') \ arg = newSVsv(arg); \ DEFSV_set(arg) ; \ SvTEMP_off(arg) ; \ PUSHMARK(SP) ; \ PUTBACK ; \ (void) perl_call_sv(db->type, G_DISCARD); \ SPAGAIN ; \ PUTBACK ; \ FREETMPS ; \ LEAVE ; \ if (name[7] == 's'){ \ arg = sv_2mortal(arg); \ } \ } } STMT_END #if 1 /* for compatibility */ # define VTBL_sv &PL_vtbl_sv # define VTBL_env &PL_vtbl_env # define VTBL_envelem &PL_vtbl_envelem # define VTBL_sigelem &PL_vtbl_sigelem # define VTBL_pack &PL_vtbl_pack # define VTBL_packelem &PL_vtbl_packelem # define VTBL_dbline &PL_vtbl_dbline # define VTBL_isa &PL_vtbl_isa # define VTBL_isaelem &PL_vtbl_isaelem # define VTBL_arylen &PL_vtbl_arylen # define VTBL_glob &PL_vtbl_glob # define VTBL_mglob &PL_vtbl_mglob # define VTBL_nkeys &PL_vtbl_nkeys # define VTBL_taint &PL_vtbl_taint # define VTBL_substr &PL_vtbl_substr # define VTBL_vec &PL_vtbl_vec # define VTBL_pos &PL_vtbl_pos # define VTBL_bm &PL_vtbl_bm # define VTBL_fm &PL_vtbl_fm # define VTBL_uvar &PL_vtbl_uvar # define VTBL_defelem &PL_vtbl_defelem # define VTBL_regexp &PL_vtbl_regexp # define VTBL_regdata &PL_vtbl_regdata # define VTBL_regdatum &PL_vtbl_regdatum # ifdef USE_LOCALE_COLLATE # define VTBL_collxfrm &PL_vtbl_collxfrm # endif # define VTBL_amagic &PL_vtbl_amagic # define VTBL_amagicelem &PL_vtbl_amagicelem #endif #include "perlapi.h" #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE) # undef aTHX # undef aTHX_ # define aTHX PERL_GET_THX # define aTHX_ aTHX, #endif #if defined(PERL_IMPLICIT_SYS) && !defined(PERL_CORE) # ifndef NO_XSLOCKS # if defined (NETWARE) && defined (USE_STDIO) # define times PerlProc_times # define setuid PerlProc_setuid # define setgid PerlProc_setgid # define getpid PerlProc_getpid # define pause PerlProc_pause # define exit PerlProc_exit # define _exit PerlProc__exit # else # undef closedir # undef opendir # undef stdin # undef stdout # undef stderr # undef feof # undef ferror # undef fgetpos # undef ioctl # undef getlogin # undef setjmp # undef getc # undef ungetc # undef fileno /* Following symbols were giving redefinition errors while building extensions - sgp 17th Oct 2000 */ #ifdef NETWARE # undef readdir # undef fstat # undef stat # undef longjmp # undef endhostent # undef endnetent # undef endprotoent # undef endservent # undef gethostbyaddr # undef gethostbyname # undef gethostent # undef getnetbyaddr # undef getnetbyname # undef getnetent # undef getprotobyname # undef getprotobynumber # undef getprotoent # undef getservbyname # undef getservbyport # undef getservent # undef inet_ntoa # undef sethostent # undef setnetent # undef setprotoent # undef setservent #endif /* NETWARE */ /* to avoid warnings: "xyz" redefined */ #ifdef WIN32 # undef popen # undef pclose #endif /* WIN32 */ # undef socketpair # define mkdir PerlDir_mkdir # define chdir PerlDir_chdir # define rmdir PerlDir_rmdir # define closedir PerlDir_close # define opendir PerlDir_open # define readdir PerlDir_read # define rewinddir PerlDir_rewind # define seekdir PerlDir_seek # define telldir PerlDir_tell # define putenv PerlEnv_putenv # define getenv PerlEnv_getenv # define uname PerlEnv_uname # define stdin PerlSIO_stdin # define stdout PerlSIO_stdout # define stderr PerlSIO_stderr # define fopen PerlSIO_fopen # define fclose PerlSIO_fclose # define feof PerlSIO_feof # define ferror PerlSIO_ferror # define clearerr PerlSIO_clearerr # define getc PerlSIO_getc # define fgets PerlSIO_fgets # define fputc PerlSIO_fputc # define fputs PerlSIO_fputs # define fflush PerlSIO_fflush # define ungetc PerlSIO_ungetc # define fileno PerlSIO_fileno # define fdopen PerlSIO_fdopen # define freopen PerlSIO_freopen # define fread PerlSIO_fread # define fwrite PerlSIO_fwrite # define setbuf PerlSIO_setbuf # define setvbuf PerlSIO_setvbuf # define setlinebuf PerlSIO_setlinebuf # define stdoutf PerlSIO_stdoutf # define vfprintf PerlSIO_vprintf # define ftell PerlSIO_ftell # define fseek PerlSIO_fseek # define fgetpos PerlSIO_fgetpos # define fsetpos PerlSIO_fsetpos # define frewind PerlSIO_rewind # define tmpfile PerlSIO_tmpfile # define access PerlLIO_access # define chmod PerlLIO_chmod # define chsize PerlLIO_chsize # define close PerlLIO_close # define dup PerlLIO_dup # define dup2 PerlLIO_dup2 # define flock PerlLIO_flock # define fstat PerlLIO_fstat # define ioctl PerlLIO_ioctl # define isatty PerlLIO_isatty # define link PerlLIO_link # define lseek PerlLIO_lseek # define lstat PerlLIO_lstat # define mktemp PerlLIO_mktemp # define open PerlLIO_open # define read PerlLIO_read # define rename PerlLIO_rename # define setmode PerlLIO_setmode # define stat(buf,sb) PerlLIO_stat(buf,sb) # define tmpnam PerlLIO_tmpnam # define umask PerlLIO_umask # define unlink PerlLIO_unlink # define utime PerlLIO_utime # define write PerlLIO_write # define malloc PerlMem_malloc # define calloc PerlMem_calloc # define realloc PerlMem_realloc # define free PerlMem_free # define abort PerlProc_abort # define exit PerlProc_exit # define _exit PerlProc__exit # define execl PerlProc_execl # define execv PerlProc_execv # define execvp PerlProc_execvp # define getuid PerlProc_getuid # define geteuid PerlProc_geteuid # define getgid PerlProc_getgid # define getegid PerlProc_getegid # define getlogin PerlProc_getlogin # define kill PerlProc_kill # define killpg PerlProc_killpg # define pause PerlProc_pause # define popen PerlProc_popen # define pclose PerlProc_pclose # define pipe PerlProc_pipe # define setuid PerlProc_setuid # define setgid PerlProc_setgid # define sleep PerlProc_sleep # define times PerlProc_times # define wait PerlProc_wait # define setjmp PerlProc_setjmp # define longjmp PerlProc_longjmp # define signal PerlProc_signal # define getpid PerlProc_getpid # define gettimeofday PerlProc_gettimeofday # define htonl PerlSock_htonl # define htons PerlSock_htons # define ntohl PerlSock_ntohl # define ntohs PerlSock_ntohs # define accept PerlSock_accept # define bind PerlSock_bind # define connect PerlSock_connect # define endhostent PerlSock_endhostent # define endnetent PerlSock_endnetent # define endprotoent PerlSock_endprotoent # define endservent PerlSock_endservent # define gethostbyaddr PerlSock_gethostbyaddr # define gethostbyname PerlSock_gethostbyname # define gethostent PerlSock_gethostent # define gethostname PerlSock_gethostname # define getnetbyaddr PerlSock_getnetbyaddr # define getnetbyname PerlSock_getnetbyname # define getnetent PerlSock_getnetent # define getpeername PerlSock_getpeername # define getprotobyname PerlSock_getprotobyname # define getprotobynumber PerlSock_getprotobynumber # define getprotoent PerlSock_getprotoent # define getservbyname PerlSock_getservbyname # define getservbyport PerlSock_getservbyport # define getservent PerlSock_getservent # define getsockname PerlSock_getsockname # define getsockopt PerlSock_getsockopt # define inet_addr PerlSock_inet_addr # define inet_ntoa PerlSock_inet_ntoa # define listen PerlSock_listen # define recv PerlSock_recv # define recvfrom PerlSock_recvfrom # define select PerlSock_select # define send PerlSock_send # define sendto PerlSock_sendto # define sethostent PerlSock_sethostent # define setnetent PerlSock_setnetent # define setprotoent PerlSock_setprotoent # define setservent PerlSock_setservent # define setsockopt PerlSock_setsockopt # define shutdown PerlSock_shutdown # define socket PerlSock_socket # define socketpair PerlSock_socketpair # endif /* NETWARE && USE_STDIO */ # undef fd_set # undef FD_SET # undef FD_CLR # undef FD_ISSET # undef FD_ZERO # define fd_set Perl_fd_set # define FD_SET(n,p) PERL_FD_SET(n,p) # define FD_CLR(n,p) PERL_FD_CLR(n,p) # define FD_ISSET(n,p) PERL_FD_ISSET(n,p) # define FD_ZERO(p) PERL_FD_ZERO(p) # endif /* NO_XSLOCKS */ #endif /* PERL_IMPLICIT_SYS && !PERL_CORE */ #endif /* PERL_XSUB_H_ */ /* include guard */ /* * ex: set ts=8 sts=4 sw=4 et: */ perl.h 0000644 00001051657 15140731057 0005701 0 ustar 00 /* perl.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef H_PERL #define H_PERL 1 #ifdef PERL_FOR_X2P /* * This file is being used for x2p stuff. * Above symbol is defined via -D in 'x2p/Makefile.SH' * Decouple x2p stuff from some of perls more extreme eccentricities. */ #undef MULTIPLICITY #undef USE_STDIO #define USE_STDIO #endif /* PERL_FOR_X2P */ #ifdef PERL_MICRO # include "uconfig.h" #else # include "config.h" #endif /* this is used for functions which take a depth trailing * argument under debugging */ #ifdef DEBUGGING #define _pDEPTH ,U32 depth #define _aDEPTH ,depth #else #define _pDEPTH #define _aDEPTH #endif /* NOTE 1: that with gcc -std=c89 the __STDC_VERSION__ is *not* defined * because the __STDC_VERSION__ became a thing only with C90. Therefore, * with gcc, HAS_C99 will never become true as long as we use -std=c89. * NOTE 2: headers lie. Do not expect that if HAS_C99 gets to be true, * all the C99 features are there and are correct. */ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ defined(_STDC_C99) || defined(__c99) # define HAS_C99 1 #endif /* See L<perlguts/"The Perl API"> for detailed notes on * PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */ /* XXX NOTE that from here --> to <-- the same logic is * repeated in makedef.pl, so be certain to update * both places when editing. */ #ifdef USE_ITHREADS # if !defined(MULTIPLICITY) # define MULTIPLICITY # endif #endif #ifdef PERL_GLOBAL_STRUCT_PRIVATE # ifndef PERL_GLOBAL_STRUCT # define PERL_GLOBAL_STRUCT # endif #endif #ifdef PERL_GLOBAL_STRUCT # ifndef MULTIPLICITY # define MULTIPLICITY # endif #endif #ifdef MULTIPLICITY # ifndef PERL_IMPLICIT_CONTEXT # define PERL_IMPLICIT_CONTEXT # endif #endif /* undef WIN32 when building on Cygwin (for libwin32) - gph */ #ifdef __CYGWIN__ # undef WIN32 # undef _WIN32 #endif #if defined(__SYMBIAN32__) || (defined(__VC32__) && defined(WINS)) # ifndef SYMBIAN # define SYMBIAN # endif #endif #ifdef __SYMBIAN32__ # include "symbian/symbian_proto.h" #endif /* Any stack-challenged places. The limit varies (and often * is configurable), but using more than a kilobyte of stack * is usually dubious in these systems. */ #if defined(__SYMBIAN32__) /* Symbian: need to work around the SDK features. * * On WINS: MS VC5 generates calls to _chkstk, * * if a "large" stack frame is allocated. * * gcc on MARM does not generate calls like these. */ # define USE_HEAP_INSTEAD_OF_STACK #endif /* Use the reentrant APIs like localtime_r and getpwent_r */ /* Win32 has naturally threadsafe libraries, no need to use any _r variants. * XXX KEEP makedef.pl copy of this code in sync */ #if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) # define USE_REENTRANT_API #endif /* <--- here ends the logic shared by perl.h and makedef.pl */ #undef START_EXTERN_C #undef END_EXTERN_C #undef EXTERN_C #ifdef __cplusplus # define START_EXTERN_C extern "C" { # define END_EXTERN_C } # define EXTERN_C extern "C" #else # define START_EXTERN_C # define END_EXTERN_C # define EXTERN_C extern #endif /* Fallback definitions in case we don't have definitions from config.h. This should only matter for systems that don't use Configure and haven't been modified to define PERL_STATIC_INLINE yet. */ #if !defined(PERL_STATIC_INLINE) # ifdef HAS_STATIC_INLINE # define PERL_STATIC_INLINE static inline # else # define PERL_STATIC_INLINE static # endif #endif #if defined(PERL_GLOBAL_STRUCT) && !defined(PERL_GET_VARS) # ifdef PERL_GLOBAL_STRUCT_PRIVATE EXTERN_C struct perl_vars* Perl_GetVarsPrivate(); # define PERL_GET_VARS() Perl_GetVarsPrivate() /* see miniperlmain.c */ # else # define PERL_GET_VARS() PL_VarsPtr # endif #endif /* this used to be off by default, now its on, see perlio.h */ #define PERLIO_FUNCS_CONST #define pVAR struct perl_vars* my_vars PERL_UNUSED_DECL #ifdef PERL_GLOBAL_STRUCT # define dVAR pVAR = (struct perl_vars*)PERL_GET_VARS() #else # define dVAR dNOOP #endif #ifdef PERL_IMPLICIT_CONTEXT # ifndef MULTIPLICITY # define MULTIPLICITY # endif # define tTHX PerlInterpreter* # define pTHX tTHX my_perl PERL_UNUSED_DECL # define aTHX my_perl # define aTHXa(a) aTHX = (tTHX)a # ifdef PERL_GLOBAL_STRUCT # define dTHXa(a) dVAR; pTHX = (tTHX)a # else # define dTHXa(a) pTHX = (tTHX)a # endif # ifdef PERL_GLOBAL_STRUCT # define dTHX dVAR; pTHX = PERL_GET_THX # else # define dTHX pTHX = PERL_GET_THX # endif # define pTHX_ pTHX, # define aTHX_ aTHX, # define pTHX_1 2 # define pTHX_2 3 # define pTHX_3 4 # define pTHX_4 5 # define pTHX_5 6 # define pTHX_6 7 # define pTHX_7 8 # define pTHX_8 9 # define pTHX_9 10 # define pTHX_12 13 # if defined(DEBUGGING) && !defined(PERL_TRACK_MEMPOOL) # define PERL_TRACK_MEMPOOL # endif #else # undef PERL_TRACK_MEMPOOL #endif #ifdef DEBUGGING # define dTHX_DEBUGGING dTHX #else # define dTHX_DEBUGGING dNOOP #endif #define STATIC static #ifndef PERL_CORE /* Do not use these macros. They were part of PERL_OBJECT, which was an * implementation of multiplicity using C++ objects. They have been left * here solely for the sake of XS code which has incorrectly * cargo-culted them. */ #define CPERLscope(x) x #define CPERLarg void #define CPERLarg_ #define _CPERLarg #define PERL_OBJECT_THIS #define _PERL_OBJECT_THIS #define PERL_OBJECT_THIS_ #define CALL_FPTR(fptr) (*fptr) #define MEMBER_TO_FPTR(name) name #endif /* !PERL_CORE */ #define CALLRUNOPS PL_runops #define CALLREGCOMP(sv, flags) Perl_pregcomp(aTHX_ (sv),(flags)) #define CALLREGCOMP_ENG(prog, sv, flags) (prog)->comp(aTHX_ sv, flags) #define CALLREGEXEC(prog,stringarg,strend,strbeg,minend,sv,data,flags) \ RX_ENGINE(prog)->exec(aTHX_ (prog),(stringarg),(strend), \ (strbeg),(minend),(sv),(data),(flags)) #define CALLREG_INTUIT_START(prog,sv,strbeg,strpos,strend,flags,data) \ RX_ENGINE(prog)->intuit(aTHX_ (prog), (sv), (strbeg), (strpos), \ (strend),(flags),(data)) #define CALLREG_INTUIT_STRING(prog) \ RX_ENGINE(prog)->checkstr(aTHX_ (prog)) #define CALLREGFREE(prog) \ Perl_pregfree(aTHX_ (prog)) #define CALLREGFREE_PVT(prog) \ if(prog && RX_ENGINE(prog)) RX_ENGINE(prog)->rxfree(aTHX_ (prog)) #define CALLREG_NUMBUF_FETCH(rx,paren,usesv) \ RX_ENGINE(rx)->numbered_buff_FETCH(aTHX_ (rx),(paren),(usesv)) #define CALLREG_NUMBUF_STORE(rx,paren,value) \ RX_ENGINE(rx)->numbered_buff_STORE(aTHX_ (rx),(paren),(value)) #define CALLREG_NUMBUF_LENGTH(rx,sv,paren) \ RX_ENGINE(rx)->numbered_buff_LENGTH(aTHX_ (rx),(sv),(paren)) #define CALLREG_NAMED_BUFF_FETCH(rx, key, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), NULL, ((flags) | RXapif_FETCH)) #define CALLREG_NAMED_BUFF_STORE(rx, key, value, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), (value), ((flags) | RXapif_STORE)) #define CALLREG_NAMED_BUFF_DELETE(rx, key, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx),(key), NULL, ((flags) | RXapif_DELETE)) #define CALLREG_NAMED_BUFF_CLEAR(rx, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_CLEAR)) #define CALLREG_NAMED_BUFF_EXISTS(rx, key, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), (key), NULL, ((flags) | RXapif_EXISTS)) #define CALLREG_NAMED_BUFF_FIRSTKEY(rx, flags) \ RX_ENGINE(rx)->named_buff_iter(aTHX_ (rx), NULL, ((flags) | RXapif_FIRSTKEY)) #define CALLREG_NAMED_BUFF_NEXTKEY(rx, lastkey, flags) \ RX_ENGINE(rx)->named_buff_iter(aTHX_ (rx), (lastkey), ((flags) | RXapif_NEXTKEY)) #define CALLREG_NAMED_BUFF_SCALAR(rx, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, ((flags) | RXapif_SCALAR)) #define CALLREG_NAMED_BUFF_COUNT(rx) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, RXapif_REGNAMES_COUNT) #define CALLREG_NAMED_BUFF_ALL(rx, flags) \ RX_ENGINE(rx)->named_buff(aTHX_ (rx), NULL, NULL, flags) #define CALLREG_PACKAGE(rx) \ RX_ENGINE(rx)->qr_package(aTHX_ (rx)) #if defined(USE_ITHREADS) #define CALLREGDUPE(prog,param) \ Perl_re_dup(aTHX_ (prog),(param)) #define CALLREGDUPE_PVT(prog,param) \ (prog ? RX_ENGINE(prog)->dupe(aTHX_ (prog),(param)) \ : (REGEXP *)NULL) #endif /* some compilers impersonate gcc */ #if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) # define PERL_IS_GCC 1 #endif /* In case Configure was not used (we are using a "canned config" * such as Win32, or a cross-compilation setup, for example) try going * by the gcc major and minor versions. One useful URL is * http://www.ohse.de/uwe/articles/gcc-attributes.html, * but contrary to this information warn_unused_result seems * not to be in gcc 3.3.5, at least. --jhi * Also, when building extensions with an installed perl, this allows * the user to upgrade gcc and get the right attributes, rather than * relying on the list generated at Configure time. --AD * Set these up now otherwise we get confused when some of the <*thread.h> * includes below indirectly pull in <perlio.h> (which needs to know if we * have HASATTRIBUTE_FORMAT). */ #ifndef PERL_MICRO #if defined __GNUC__ && !defined(__INTEL_COMPILER) # if __GNUC__ == 3 && __GNUC_MINOR__ >= 1 || __GNUC__ > 3 /* 3.1 -> */ # define HASATTRIBUTE_DEPRECATED # endif # if __GNUC__ >= 3 /* 3.0 -> */ /* XXX Verify this version */ # define HASATTRIBUTE_FORMAT # if defined __MINGW32__ # define PRINTF_FORMAT_NULL_OK # endif # endif # if __GNUC__ >= 3 /* 3.0 -> */ # define HASATTRIBUTE_MALLOC # endif # if __GNUC__ == 3 && __GNUC_MINOR__ >= 3 || __GNUC__ > 3 /* 3.3 -> */ # define HASATTRIBUTE_NONNULL # endif # if __GNUC__ == 2 && __GNUC_MINOR__ >= 5 || __GNUC__ > 2 /* 2.5 -> */ # define HASATTRIBUTE_NORETURN # endif # if __GNUC__ >= 3 /* gcc 3.0 -> */ # define HASATTRIBUTE_PURE # endif # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ # define HASATTRIBUTE_UNUSED # endif # if __GNUC__ == 3 && __GNUC_MINOR__ == 3 && !defined(__cplusplus) # define HASATTRIBUTE_UNUSED /* gcc-3.3, but not g++-3.3. */ # endif # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3 /* 3.4 -> */ # define HASATTRIBUTE_WARN_UNUSED_RESULT # endif /* always_inline is buggy in gcc <= 4.6 and causes compilation errors */ # if __GNUC__ == 4 && __GNUC_MINOR__ >= 7 || __GNUC__ > 4 /* 4.7 -> */ # define HASATTRIBUTE_ALWAYS_INLINE # endif #endif #endif /* #ifndef PERL_MICRO */ #ifdef HASATTRIBUTE_DEPRECATED # define __attribute__deprecated__ __attribute__((deprecated)) #endif #ifdef HASATTRIBUTE_FORMAT # define __attribute__format__(x,y,z) __attribute__((format(x,y,z))) #endif #ifdef HASATTRIBUTE_MALLOC # define __attribute__malloc__ __attribute__((__malloc__)) #endif #ifdef HASATTRIBUTE_NONNULL # define __attribute__nonnull__(a) __attribute__((nonnull(a))) #endif #ifdef HASATTRIBUTE_NORETURN # define __attribute__noreturn__ __attribute__((noreturn)) #endif #ifdef HASATTRIBUTE_PURE # define __attribute__pure__ __attribute__((pure)) #endif #ifdef HASATTRIBUTE_UNUSED # define __attribute__unused__ __attribute__((unused)) #endif #ifdef HASATTRIBUTE_WARN_UNUSED_RESULT # define __attribute__warn_unused_result__ __attribute__((warn_unused_result)) #endif #ifdef HASATTRIBUTE_ALWAYS_INLINE /* always_inline is buggy in gcc <= 4.6 and causes compilation errors */ # if !defined(PERL_IS_GCC) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 || __GNUC__ > 4) # define __attribute__always_inline__ __attribute__((always_inline)) # endif #endif /* If we haven't defined the attributes yet, define them to blank. */ #ifndef __attribute__deprecated__ # define __attribute__deprecated__ #endif #ifndef __attribute__format__ # define __attribute__format__(x,y,z) #endif #ifndef __attribute__malloc__ # define __attribute__malloc__ #endif #ifndef __attribute__nonnull__ # define __attribute__nonnull__(a) #endif #ifndef __attribute__noreturn__ # define __attribute__noreturn__ #endif #ifndef __attribute__pure__ # define __attribute__pure__ #endif #ifndef __attribute__unused__ # define __attribute__unused__ #endif #ifndef __attribute__warn_unused_result__ # define __attribute__warn_unused_result__ #endif #ifndef __attribute__always_inline__ # define __attribute__always_inline__ #endif /* Some OS warn on NULL format to printf */ #ifdef PRINTF_FORMAT_NULL_OK # define __attribute__format__null_ok__(x,y,z) __attribute__format__(x,y,z) #else # define __attribute__format__null_ok__(x,y,z) #endif /* * Because of backward compatibility reasons the PERL_UNUSED_DECL * cannot be changed from postfix to PERL_UNUSED_DECL(x). Sigh. * * Note that there are C compilers such as MetroWerks CodeWarrior * which do not have an "inlined" way (like the gcc __attribute__) of * marking unused variables (they need e.g. a #pragma) and therefore * cpp macros like PERL_UNUSED_DECL cannot work for this purpose, even * if it were PERL_UNUSED_DECL(x), which it cannot be (see above). * */ #ifndef PERL_UNUSED_DECL # define PERL_UNUSED_DECL __attribute__unused__ #endif /* gcc -Wall: * for silencing unused variables that are actually used most of the time, * but we cannot quite get rid of, such as "ax" in PPCODE+noargs xsubs, * or variables/arguments that are used only in certain configurations. */ #ifndef PERL_UNUSED_ARG # define PERL_UNUSED_ARG(x) ((void)sizeof(x)) #endif #ifndef PERL_UNUSED_VAR # define PERL_UNUSED_VAR(x) ((void)sizeof(x)) #endif #if defined(USE_ITHREADS) || defined(PERL_GLOBAL_STRUCT) # define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl) #else # define PERL_UNUSED_CONTEXT #endif /* gcc (-ansi) -pedantic doesn't allow gcc statement expressions, * g++ allows them but seems to have problems with them * (insane errors ensue). * g++ does not give insane errors now (RMB 2008-01-30, gcc 4.2.2). */ #if defined(PERL_GCC_PEDANTIC) || \ (defined(__GNUC__) && defined(__cplusplus) && \ ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2)))) # ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN # define PERL_GCC_BRACE_GROUPS_FORBIDDEN # endif #endif /* Use PERL_UNUSED_RESULT() to suppress the warnings about unused results * of function calls, e.g. PERL_UNUSED_RESULT(foo(a, b)). * * The main reason for this is that the combination of gcc -Wunused-result * (part of -Wall) and the __attribute__((warn_unused_result)) cannot * be silenced with casting to void. This causes trouble when the system * header files use the attribute. * * Use PERL_UNUSED_RESULT sparingly, though, since usually the warning * is there for a good reason: you might lose success/failure information, * or leak resources, or changes in resources. * * But sometimes you just want to ignore the return value, e.g. on * codepaths soon ending up in abort, or in "best effort" attempts, * or in situations where there is no good way to handle failures. * * Sometimes PERL_UNUSED_RESULT might not be the most natural way: * another possibility is that you can capture the return value * and use PERL_UNUSED_VAR on that. * * The __typeof__() is used instead of typeof() since typeof() is not * available under strict C89, and because of compilers masquerading * as gcc (clang and icc), we want exactly the gcc extension * __typeof__ and nothing else. */ #ifndef PERL_UNUSED_RESULT # if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT) # define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END # else # define PERL_UNUSED_RESULT(v) ((void)(v)) # endif #endif #if defined(_MSC_VER) /* XXX older MSVC versions have a smallish macro buffer */ #define PERL_SMALL_MACRO_BUFFER #endif /* on gcc (and clang), specify that a warning should be temporarily * ignored; e.g. * * GCC_DIAG_IGNORE_DECL(-Wmultichar); * char b = 'ab'; * GCC_DIAG_RESTORE_DECL; * * based on http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html * * Note that "pragma GCC diagnostic push/pop" was added in GCC 4.6, Mar 2011; * clang only pretends to be GCC 4.2, but still supports push/pop. * * Note on usage: all macros must be used at a place where a declaration * or statement can occur, i.e., not in the middle of an expression. * *_DIAG_IGNORE() and *_DIAG_RESTORE can be used in any such place, but * must be used without a following semicolon. *_DIAG_IGNORE_DECL() and * *_DIAG_RESTORE_DECL must be used with a following semicolon, and behave * syntactically as declarations (like dNOOP). *_DIAG_IGNORE_STMT() * and *_DIAG_RESTORE_STMT must be used with a following semicolon, * and behave syntactically as statements (like NOOP). * */ #if defined(__clang__) || defined(__clang) || \ (defined( __GNUC__) && ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406) # define GCC_DIAG_PRAGMA(x) _Pragma (#x) /* clang has "clang diagnostic" pragmas, but also understands gcc. */ # define GCC_DIAG_IGNORE(x) _Pragma("GCC diagnostic push") \ GCC_DIAG_PRAGMA(GCC diagnostic ignored #x) # define GCC_DIAG_RESTORE _Pragma("GCC diagnostic pop") #else # define GCC_DIAG_IGNORE(w) # define GCC_DIAG_RESTORE #endif #define GCC_DIAG_IGNORE_DECL(x) GCC_DIAG_IGNORE(x) dNOOP #define GCC_DIAG_RESTORE_DECL GCC_DIAG_RESTORE dNOOP #define GCC_DIAG_IGNORE_STMT(x) GCC_DIAG_IGNORE(x) NOOP #define GCC_DIAG_RESTORE_STMT GCC_DIAG_RESTORE NOOP /* for clang specific pragmas */ #if defined(__clang__) || defined(__clang) # define CLANG_DIAG_PRAGMA(x) _Pragma (#x) # define CLANG_DIAG_IGNORE(x) _Pragma("clang diagnostic push") \ CLANG_DIAG_PRAGMA(clang diagnostic ignored #x) # define CLANG_DIAG_RESTORE _Pragma("clang diagnostic pop") #else # define CLANG_DIAG_IGNORE(w) # define CLANG_DIAG_RESTORE #endif #define CLANG_DIAG_IGNORE_DECL(x) CLANG_DIAG_IGNORE(x) dNOOP #define CLANG_DIAG_RESTORE_DECL CLANG_DIAG_RESTORE dNOOP #define CLANG_DIAG_IGNORE_STMT(x) CLANG_DIAG_IGNORE(x) NOOP #define CLANG_DIAG_RESTORE_STMT CLANG_DIAG_RESTORE NOOP #if defined(_MSC_VER) && (_MSC_VER >= 1300) # define MSVC_DIAG_IGNORE(x) __pragma(warning(push)) \ __pragma(warning(disable : x)) # define MSVC_DIAG_RESTORE __pragma(warning(pop)) #else # define MSVC_DIAG_IGNORE(x) # define MSVC_DIAG_RESTORE #endif #define MSVC_DIAG_IGNORE_DECL(x) MSVC_DIAG_IGNORE(x) dNOOP #define MSVC_DIAG_RESTORE_DECL MSVC_DIAG_RESTORE dNOOP #define MSVC_DIAG_IGNORE_STMT(x) MSVC_DIAG_IGNORE(x) NOOP #define MSVC_DIAG_RESTORE_STMT MSVC_DIAG_RESTORE NOOP #define NOOP /*EMPTY*/(void)0 #define dNOOP struct Perl___notused_struct #ifndef pTHX /* Don't bother defining tTHX ; using it outside * code guarded by PERL_IMPLICIT_CONTEXT is an error. */ # define pTHX void # define pTHX_ # define aTHX # define aTHX_ # define aTHXa(a) NOOP # define dTHXa(a) dNOOP # define dTHX dNOOP # define pTHX_1 1 # define pTHX_2 2 # define pTHX_3 3 # define pTHX_4 4 # define pTHX_5 5 # define pTHX_6 6 # define pTHX_7 7 # define pTHX_8 8 # define pTHX_9 9 # define pTHX_12 12 #endif #ifndef dVAR # define dVAR dNOOP #endif /* these are only defined for compatibility; should not be used internally */ #if !defined(pTHXo) && !defined(PERL_CORE) # define pTHXo pTHX # define pTHXo_ pTHX_ # define aTHXo aTHX # define aTHXo_ aTHX_ # define dTHXo dTHX # define dTHXoa(x) dTHXa(x) #endif #ifndef pTHXx # define pTHXx PerlInterpreter *my_perl # define pTHXx_ pTHXx, # define aTHXx my_perl # define aTHXx_ aTHXx, # define dTHXx dTHX #endif /* Under PERL_IMPLICIT_SYS (used in Windows for fork emulation) * PerlIO_foo() expands to PL_StdIO->pFOO(PL_StdIO, ...). * dTHXs is therefore needed for all functions using PerlIO_foo(). */ #ifdef PERL_IMPLICIT_SYS # ifdef PERL_GLOBAL_STRUCT_PRIVATE # define dTHXs dVAR; dTHX # else # define dTHXs dTHX # endif #else # ifdef PERL_GLOBAL_STRUCT_PRIVATE # define dTHXs dVAR # else # define dTHXs dNOOP # endif #endif #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus) # ifndef PERL_USE_GCC_BRACE_GROUPS # define PERL_USE_GCC_BRACE_GROUPS # endif #endif /* =head1 Miscellaneous Functions =for apidoc AmnUu|void|STMT_START STMT_START { statements; } STMT_END; can be used as a single statement, as in if (x) STMT_START { ... } STMT_END; else ... These are often used in macro definitions. Note that you can't return a value out of them. =for apidoc AmnUhu|void|STMT_END =cut Trying to select a version that gives no warnings... */ #if !(defined(STMT_START) && defined(STMT_END)) # ifdef PERL_USE_GCC_BRACE_GROUPS # define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */ # define STMT_END ) # else # define STMT_START do # define STMT_END while (0) # endif #endif #ifndef BYTEORDER /* Should never happen -- byteorder is in config.h */ # define BYTEORDER 0x1234 #endif #if 'A' == 65 && 'I' == 73 && 'J' == 74 && 'Z' == 90 #define ASCIIish #else #undef ASCIIish #endif /* * The following contortions are brought to you on behalf of all the * standards, semi-standards, de facto standards, not-so-de-facto standards * of the world, as well as all the other botches anyone ever thought of. * The basic theory is that if we work hard enough here, the rest of the * code can be a lot prettier. Well, so much for theory. Sorry, Henry... */ /* define this once if either system, instead of cluttering up the src */ #if defined(MSDOS) || defined(WIN32) || defined(NETWARE) #define DOSISH 1 #endif /* These exist only for back-compat with XS modules. */ #ifndef PERL_CORE #define VOL volatile #define CAN_PROTOTYPE #define _(args) args #define I_LIMITS #define I_STDARG #define STANDARD_C #endif /* By compiling a perl with -DNO_TAINT_SUPPORT or -DSILENT_NO_TAINT_SUPPORT, * you get a perl without taint support, but doubtlessly with a lesser * degree of support. Do not do so unless you know exactly what it means * technically, have a good reason to do so, and know exactly how the * perl will be used. perls with -DSILENT_NO_TAINT_SUPPORT are considered * a potential security risk due to flat out ignoring the security-relevant * taint flags. This being said, a perl without taint support compiled in * has marginal run-time performance benefits. * SILENT_NO_TAINT_SUPPORT implies NO_TAINT_SUPPORT. * SILENT_NO_TAINT_SUPPORT is the same as NO_TAINT_SUPPORT except it * silently ignores -t/-T instead of throwing an exception. * * DANGER! Using NO_TAINT_SUPPORT or SILENT_NO_TAINT_SUPPORT * voids your nonexistent warranty! */ #if defined(SILENT_NO_TAINT_SUPPORT) && !defined(NO_TAINT_SUPPORT) # define NO_TAINT_SUPPORT 1 #endif /* NO_TAINT_SUPPORT can be set to transform virtually all taint-related * operations into no-ops for a very modest speed-up. Enable only if you * know what you're doing: tests and CPAN modules' tests are bound to fail. */ #ifdef NO_TAINT_SUPPORT # define TAINT NOOP # define TAINT_NOT NOOP # define TAINT_IF(c) NOOP # define TAINT_ENV() NOOP # define TAINT_PROPER(s) NOOP # define TAINT_set(s) NOOP # define TAINT_get 0 # define TAINTING_get 0 # define TAINTING_set(s) NOOP # define TAINT_WARN_get 0 # define TAINT_WARN_set(s) NOOP #else /* Set to tainted if we are running under tainting mode */ # define TAINT (PL_tainted = PL_tainting) # define TAINT_NOT (PL_tainted = FALSE) /* Untaint */ # define TAINT_IF(c) if (UNLIKELY(c)) { TAINT; } /* Conditionally taint */ # define TAINT_ENV() if (UNLIKELY(PL_tainting)) { taint_env(); } /* croak or warn if tainting */ # define TAINT_PROPER(s) if (UNLIKELY(PL_tainting)) { \ taint_proper(NULL, s); \ } # define TAINT_set(s) (PL_tainted = (s)) # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ # define TAINTING_get (cBOOL(UNLIKELY(PL_tainting))) /* Is taint checking enabled? */ # define TAINTING_set(s) (PL_tainting = (s)) # define TAINT_WARN_get (PL_taint_warn) /* FALSE => tainting violations are fatal TRUE => they're just warnings */ # define TAINT_WARN_set(s) (PL_taint_warn = (s)) #endif /* flags used internally only within pp_subst and pp_substcont */ #ifdef PERL_CORE # define SUBST_TAINT_STR 1 /* string tainted */ # define SUBST_TAINT_PAT 2 /* pattern tainted */ # define SUBST_TAINT_REPL 4 /* replacement tainted */ # define SUBST_TAINT_RETAINT 8 /* use re'taint' in scope */ # define SUBST_TAINT_BOOLRET 16 /* return is boolean (don't taint) */ #endif /* XXX All process group stuff is handled in pp_sys.c. Should these defines move there? If so, I could simplify this a lot. --AD 9/96. */ /* Process group stuff changed from traditional BSD to POSIX. perlfunc.pod documents the traditional BSD-style syntax, so we'll try to preserve that, if possible. */ #ifdef HAS_SETPGID # define BSD_SETPGRP(pid, pgrp) setpgid((pid), (pgrp)) #elif defined(HAS_SETPGRP) && defined(USE_BSD_SETPGRP) # define BSD_SETPGRP(pid, pgrp) setpgrp((pid), (pgrp)) #elif defined(HAS_SETPGRP2) # define BSD_SETPGRP(pid, pgrp) setpgrp2((pid), (pgrp)) #endif #if defined(BSD_SETPGRP) && !defined(HAS_SETPGRP) # define HAS_SETPGRP /* Well, effectively it does . . . */ #endif /* getpgid isn't POSIX, but at least Solaris and Linux have it, and it makes our life easier :-) so we'll try it. */ #ifdef HAS_GETPGID # define BSD_GETPGRP(pid) getpgid((pid)) #elif defined(HAS_GETPGRP) && defined(USE_BSD_GETPGRP) # define BSD_GETPGRP(pid) getpgrp((pid)) #elif defined(HAS_GETPGRP2) # define BSD_GETPGRP(pid) getpgrp2((pid)) #endif #if defined(BSD_GETPGRP) && !defined(HAS_GETPGRP) # define HAS_GETPGRP /* Well, effectively it does . . . */ #endif /* These are not exact synonyms, since setpgrp() and getpgrp() may have different behaviors, but perl.h used to define USE_BSDPGRP (prior to 5.003_05) so some extension might depend on it. */ #if defined(USE_BSD_SETPGRP) || defined(USE_BSD_GETPGRP) # ifndef USE_BSDPGRP # define USE_BSDPGRP # endif #endif /* HP-UX 10.X CMA (Common Multithreaded Architecture) insists that pthread.h must be included before all other header files. */ #if defined(USE_ITHREADS) && defined(PTHREAD_H_FIRST) && defined(I_PTHREAD) # include <pthread.h> #endif #include <sys/types.h> /* EVC 4 SDK headers includes a bad definition of MB_CUR_MAX in stdlib.h which is included from stdarg.h. Bad definition not present in SD 2008 SDK headers. wince.h is not yet included, so we cant fix this from there since by then MB_CUR_MAX will be defined from stdlib.h. cewchar.h includes a correct definition of MB_CUR_MAX and it is copied here since cewchar.h can't be included this early */ #if defined(UNDER_CE) && (_MSC_VER < 1300) # define MB_CUR_MAX 1uL #endif # ifdef I_WCHAR # include <wchar.h> # endif # include <stdarg.h> #ifdef I_STDINT # include <stdint.h> #endif #include <ctype.h> #include <float.h> #include <limits.h> #ifdef METHOD /* Defined by OSF/1 v3.0 by ctype.h */ #undef METHOD #endif #ifdef PERL_MICRO # define NO_LOCALE #endif #ifdef I_LOCALE # include <locale.h> #endif #ifdef I_XLOCALE # include <xlocale.h> #endif /* If not forbidden, we enable locale handling if either 1) the POSIX 2008 * functions are available, or 2) just the setlocale() function. This logic is * repeated in t/loc_tools.pl and makedef.pl; The three should be kept in * sync. */ #if ! defined(NO_LOCALE) # if ! defined(NO_POSIX_2008_LOCALE) \ && defined(HAS_NEWLOCALE) \ && defined(HAS_USELOCALE) \ && defined(HAS_DUPLOCALE) \ && defined(HAS_FREELOCALE) \ && defined(LC_ALL_MASK) /* For simplicity, the code is written to assume that any platform advanced * enough to have the Posix 2008 locale functions has LC_ALL. The final * test above makes sure that assumption is valid */ # define HAS_POSIX_2008_LOCALE # define USE_LOCALE # elif defined(HAS_SETLOCALE) # define USE_LOCALE # endif #endif #ifdef USE_LOCALE # define HAS_SKIP_LOCALE_INIT /* Solely for XS code to test for this #define */ # if !defined(NO_LOCALE_COLLATE) && defined(LC_COLLATE) \ && defined(HAS_STRXFRM) # define USE_LOCALE_COLLATE # endif # if !defined(NO_LOCALE_CTYPE) && defined(LC_CTYPE) # define USE_LOCALE_CTYPE # endif # if !defined(NO_LOCALE_NUMERIC) && defined(LC_NUMERIC) # define USE_LOCALE_NUMERIC # endif # if !defined(NO_LOCALE_MESSAGES) && defined(LC_MESSAGES) # define USE_LOCALE_MESSAGES # endif # if !defined(NO_LOCALE_MONETARY) && defined(LC_MONETARY) # define USE_LOCALE_MONETARY # endif # if !defined(NO_LOCALE_TIME) && defined(LC_TIME) # define USE_LOCALE_TIME # endif # if !defined(NO_LOCALE_ADDRESS) && defined(LC_ADDRESS) # define USE_LOCALE_ADDRESS # endif # if !defined(NO_LOCALE_IDENTIFICATION) && defined(LC_IDENTIFICATION) # define USE_LOCALE_IDENTIFICATION # endif # if !defined(NO_LOCALE_MEASUREMENT) && defined(LC_MEASUREMENT) # define USE_LOCALE_MEASUREMENT # endif # if !defined(NO_LOCALE_PAPER) && defined(LC_PAPER) # define USE_LOCALE_PAPER # endif # if !defined(NO_LOCALE_TELEPHONE) && defined(LC_TELEPHONE) # define USE_LOCALE_TELEPHONE # endif /* XXX The next few defines are unfortunately duplicated in makedef.pl, and * changes here MUST also be made there */ # if ! defined(HAS_SETLOCALE) && defined(HAS_POSIX_2008_LOCALE) # define USE_POSIX_2008_LOCALE # ifndef USE_THREAD_SAFE_LOCALE # define USE_THREAD_SAFE_LOCALE # endif /* If compiled with * -DUSE_THREAD_SAFE_LOCALE, will do so even * on unthreaded builds */ # elif (defined(USE_ITHREADS) || defined(USE_THREAD_SAFE_LOCALE)) \ && ( defined(HAS_POSIX_2008_LOCALE) \ || (defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1400)) \ && ! defined(NO_THREAD_SAFE_LOCALE) # ifndef USE_THREAD_SAFE_LOCALE # define USE_THREAD_SAFE_LOCALE # endif # ifdef HAS_POSIX_2008_LOCALE # define USE_POSIX_2008_LOCALE # endif # endif #endif /* Microsoft documentation reads in the change log for VS 2015: * "The localeconv function declared in locale.h now works correctly when * per-thread locale is enabled. In previous versions of the library, this * function would return the lconv data for the global locale, not the * thread's locale." */ #if defined(WIN32) && defined(USE_THREAD_SAFE_LOCALE) && _MSC_VER < 1900 # define TS_W32_BROKEN_LOCALECONV #endif #include <setjmp.h> #ifdef I_SYS_PARAM # ifdef PARAM_NEEDS_TYPES # include <sys/types.h> # endif # include <sys/param.h> #endif /* On BSD-derived systems, <sys/param.h> defines BSD to a year-month value something like 199306. This may be useful if no more-specific feature test is available. */ #if defined(BSD) # ifndef BSDish # define BSDish # endif #endif /* Use all the "standard" definitions */ #include <stdlib.h> /* If this causes problems, set i_unistd=undef in the hint file. */ #ifdef I_UNISTD # if defined(__amigaos4__) # ifdef I_NETINET_IN # include <netinet/in.h> # endif # endif # include <unistd.h> # if defined(__amigaos4__) /* Under AmigaOS 4 newlib.library provides an environ. However using * it doesn't give us enough control over inheritance of variables by * subshells etc. so replace with custom version based on abc-shell * code. */ extern char **myenviron; # undef environ # define environ myenviron # endif #endif /* for WCOREDUMP */ #ifdef I_SYS_WAIT # include <sys/wait.h> #endif #ifdef __SYMBIAN32__ # undef _SC_ARG_MAX /* Symbian has _SC_ARG_MAX but no sysconf() */ #endif #if defined(HAS_SYSCALL) && !defined(HAS_SYSCALL_PROTO) EXTERN_C int syscall(int, ...); #endif #if defined(HAS_USLEEP) && !defined(HAS_USLEEP_PROTO) EXTERN_C int usleep(unsigned int); #endif /* macros for correct constant construction. These are in C99 <stdint.h> * (so they will not be available in strict C89 mode), but they are nice, so * let's define them if necessary. */ #ifndef UINT16_C # if INTSIZE >= 2 # define UINT16_C(x) ((U16_TYPE)x##U) # else # define UINT16_C(x) ((U16_TYPE)x##UL) # endif #endif #ifndef UINT32_C # if INTSIZE >= 4 # define UINT32_C(x) ((U32_TYPE)x##U) # else # define UINT32_C(x) ((U32_TYPE)x##UL) # endif #endif #ifdef I_STDINT typedef intmax_t PERL_INTMAX_T; typedef uintmax_t PERL_UINTMAX_T; #endif /* N.B. We use QUADKIND here instead of HAS_QUAD here, because that doesn't * actually mean what it has always been documented to mean (see RT #119753) * and is explicitly turned off outside of core with dire warnings about * removing the undef. */ #if defined(QUADKIND) # undef PeRl_INT64_C # undef PeRl_UINT64_C /* Prefer the native integer types (int and long) over long long * (which is not C89) and Win32-specific __int64. */ # if QUADKIND == QUAD_IS_INT && INTSIZE == 8 # define PeRl_INT64_C(c) (c) # define PeRl_UINT64_C(c) CAT2(c,U) # endif # if QUADKIND == QUAD_IS_LONG && LONGSIZE == 8 # define PeRl_INT64_C(c) CAT2(c,L) # define PeRl_UINT64_C(c) CAT2(c,UL) # endif # if QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_LONG_LONG) # define PeRl_INT64_C(c) CAT2(c,LL) # define PeRl_UINT64_C(c) CAT2(c,ULL) # endif # if QUADKIND == QUAD_IS___INT64 # define PeRl_INT64_C(c) CAT2(c,I64) # define PeRl_UINT64_C(c) CAT2(c,UI64) # endif # ifndef PeRl_INT64_C # define PeRl_INT64_C(c) ((I64)(c)) /* last resort */ # define PeRl_UINT64_C(c) ((U64TYPE)(c)) # endif /* In OS X the INT64_C/UINT64_C are defined with LL/ULL, which will * not fly with C89-pedantic gcc, so let's undefine them first so that * we can redefine them with our native integer preferring versions. */ # if defined(PERL_DARWIN) && defined(PERL_GCC_PEDANTIC) # undef INT64_C # undef UINT64_C # endif # ifndef INT64_C # define INT64_C(c) PeRl_INT64_C(c) # endif # ifndef UINT64_C # define UINT64_C(c) PeRl_UINT64_C(c) # endif # ifndef I_STDINT typedef I64TYPE PERL_INTMAX_T; typedef U64TYPE PERL_UINTMAX_T; # endif # ifndef INTMAX_C # define INTMAX_C(c) INT64_C(c) # endif # ifndef UINTMAX_C # define UINTMAX_C(c) UINT64_C(c) # endif #else /* below QUADKIND is undefined */ /* Perl doesn't work on 16 bit systems, so must be 32 bit */ # ifndef I_STDINT typedef I32TYPE PERL_INTMAX_T; typedef U32TYPE PERL_UINTMAX_T; # endif # ifndef INTMAX_C # define INTMAX_C(c) INT32_C(c) # endif # ifndef UINTMAX_C # define UINTMAX_C(c) UINT32_C(c) # endif #endif /* no QUADKIND */ #ifdef PERL_CORE /* byte-swapping functions for big-/little-endian conversion */ # define _swab_16_(x) ((U16)( \ (((U16)(x) & UINT16_C(0x00ff)) << 8) | \ (((U16)(x) & UINT16_C(0xff00)) >> 8) )) # define _swab_32_(x) ((U32)( \ (((U32)(x) & UINT32_C(0x000000ff)) << 24) | \ (((U32)(x) & UINT32_C(0x0000ff00)) << 8) | \ (((U32)(x) & UINT32_C(0x00ff0000)) >> 8) | \ (((U32)(x) & UINT32_C(0xff000000)) >> 24) )) # ifdef HAS_QUAD # define _swab_64_(x) ((U64)( \ (((U64)(x) & UINT64_C(0x00000000000000ff)) << 56) | \ (((U64)(x) & UINT64_C(0x000000000000ff00)) << 40) | \ (((U64)(x) & UINT64_C(0x0000000000ff0000)) << 24) | \ (((U64)(x) & UINT64_C(0x00000000ff000000)) << 8) | \ (((U64)(x) & UINT64_C(0x000000ff00000000)) >> 8) | \ (((U64)(x) & UINT64_C(0x0000ff0000000000)) >> 24) | \ (((U64)(x) & UINT64_C(0x00ff000000000000)) >> 40) | \ (((U64)(x) & UINT64_C(0xff00000000000000)) >> 56) )) # endif /* The old value was hard coded at 1008. (4096-16) seems to be a bit faster, at least on FreeBSD. YMMV, so experiment. */ #ifndef PERL_ARENA_SIZE #define PERL_ARENA_SIZE 4080 #endif /* Maximum level of recursion */ #ifndef PERL_SUB_DEPTH_WARN #define PERL_SUB_DEPTH_WARN 100 #endif #endif /* PERL_CORE */ /* Maximum number of args that may be passed to an OP_MULTICONCAT op. * It determines the size of local arrays in S_maybe_multiconcat() and * pp_multiconcat(). */ #define PERL_MULTICONCAT_MAXARG 64 /* The indexes of fields of a multiconcat aux struct. * The fixed fields are followed by nargs+1 const segment lengths, * and if utf8 and non-utf8 differ, a second nargs+1 set for utf8. */ #define PERL_MULTICONCAT_IX_NARGS 0 /* number of arguments */ #define PERL_MULTICONCAT_IX_PLAIN_PV 1 /* non-utf8 constant string */ #define PERL_MULTICONCAT_IX_PLAIN_LEN 2 /* non-utf8 constant string length */ #define PERL_MULTICONCAT_IX_UTF8_PV 3 /* utf8 constant string */ #define PERL_MULTICONCAT_IX_UTF8_LEN 4 /* utf8 constant string length */ #define PERL_MULTICONCAT_IX_LENGTHS 5 /* first of nargs+1 const segment lens */ #define PERL_MULTICONCAT_HEADER_SIZE 5 /* The number of fields of a multiconcat header */ /* We no longer default to creating a new SV for GvSV. Do this before embed. */ #ifndef PERL_CREATE_GVSV # ifndef PERL_DONT_CREATE_GVSV # define PERL_DONT_CREATE_GVSV # endif #endif #if !defined(HAS_WAITPID) && !defined(HAS_WAIT4) || defined(HAS_WAITPID_RUNTIME) #define PERL_USES_PL_PIDSTATUS #endif #if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(__SYMBIAN32__) #define PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION #endif #define MEM_SIZE Size_t /* Round all values passed to malloc up, by default to a multiple of sizeof(size_t) */ #ifndef PERL_STRLEN_ROUNDUP_QUANTUM #define PERL_STRLEN_ROUNDUP_QUANTUM Size_t_size #endif /* sv_grow() will expand strings by at least a certain percentage of the previously *used* length to avoid excessive calls to realloc(). The default is 25% of the current length. */ #ifndef PERL_STRLEN_EXPAND_SHIFT # define PERL_STRLEN_EXPAND_SHIFT 2 #endif /* This use of offsetof() requires /Zc:offsetof- for VS2017 (and presumably * onwards) when building Socket.xs, but we can just use a different definition * for STRUCT_OFFSET instead. */ #if defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1910 # define STRUCT_OFFSET(s,m) (Size_t)(&(((s *)0)->m)) #else # include <stddef.h> # define STRUCT_OFFSET(s,m) offsetof(s,m) #endif /* ptrdiff_t is C11, so undef it under pedantic builds. (Actually it is * in C89, but apparently there are platforms where it doesn't exist. See * thread beginning at http://nntp.perl.org/group/perl.perl5.porters/251541.) * */ #ifdef PERL_GCC_PEDANTIC # undef HAS_PTRDIFF_T #endif #ifdef HAS_PTRDIFF_T # define Ptrdiff_t ptrdiff_t #else # define Ptrdiff_t SSize_t #endif #ifndef __SYMBIAN32__ # include <string.h> #endif /* This comes after <stdlib.h> so we don't try to change the standard * library prototypes; we'll use our own in proto.h instead. */ #ifdef MYMALLOC # ifdef PERL_POLLUTE_MALLOC # ifndef PERL_EXTMALLOC_DEF # define Perl_malloc malloc # define Perl_calloc calloc # define Perl_realloc realloc # define Perl_mfree free # endif # else # define EMBEDMYMALLOC /* for compatibility */ # endif # define safemalloc Perl_malloc # define safecalloc Perl_calloc # define saferealloc Perl_realloc # define safefree Perl_mfree # define CHECK_MALLOC_TOO_LATE_FOR_(code) STMT_START { \ if (!TAINTING_get && MallocCfg_ptr[MallocCfg_cfg_env_read]) \ code; \ } STMT_END # define CHECK_MALLOC_TOO_LATE_FOR(ch) \ CHECK_MALLOC_TOO_LATE_FOR_(MALLOC_TOO_LATE_FOR(ch)) # define panic_write2(s) write(2, s, strlen(s)) # define CHECK_MALLOC_TAINT(newval) \ CHECK_MALLOC_TOO_LATE_FOR_( \ if (newval) { \ PERL_UNUSED_RESULT(panic_write2("panic: tainting with $ENV{PERL_MALLOC_OPT}\n"));\ exit(1); }) # define MALLOC_CHECK_TAINT(argc,argv,env) STMT_START { \ if (doing_taint(argc,argv,env)) { \ MallocCfg_ptr[MallocCfg_skip_cfg_env] = 1; \ }} STMT_END; #else /* MYMALLOC */ # define safemalloc safesysmalloc # define safecalloc safesyscalloc # define saferealloc safesysrealloc # define safefree safesysfree # define CHECK_MALLOC_TOO_LATE_FOR(ch) ((void)0) # define CHECK_MALLOC_TAINT(newval) ((void)0) # define MALLOC_CHECK_TAINT(argc,argv,env) #endif /* MYMALLOC */ /* diag_listed_as: "-T" is on the #! line, it must also be used on the command line */ #define TOO_LATE_FOR_(ch,what) Perl_croak(aTHX_ "\"-%c\" is on the #! line, it must also be used on the command line%s", (char)(ch), what) #define TOO_LATE_FOR(ch) TOO_LATE_FOR_(ch, "") #define MALLOC_TOO_LATE_FOR(ch) TOO_LATE_FOR_(ch, " with $ENV{PERL_MALLOC_OPT}") #define MALLOC_CHECK_TAINT2(argc,argv) MALLOC_CHECK_TAINT(argc,argv,NULL) #ifndef memzero # define memzero(d,l) memset(d,0,l) #endif #ifdef I_NETINET_IN # include <netinet/in.h> #endif #ifdef I_ARPA_INET # include <arpa/inet.h> #endif #ifdef I_SYS_STAT # include <sys/stat.h> #endif /* Microsoft VC's sys/stat.h defines all S_Ixxx macros except S_IFIFO. This definition should ideally go into win32/win32.h, but S_IFIFO is used later here in perl.h before win32/win32.h is being included. */ #if !defined(S_IFIFO) && defined(_S_IFIFO) # define S_IFIFO _S_IFIFO #endif /* The stat macros for Unisoft System V/88 (and derivatives like UTekV) are broken, sometimes giving false positives. Undefine them here and let the code below set them to proper values. The ghs macro stands for GreenHills Software C-1.8.5 which is the C compiler for sysV88 and the various derivatives. This header file bug is corrected in gcc-2.5.8 and later versions. --Kaveh Ghazi (ghazi@noc.rutgers.edu) 10/3/94. */ #if defined(m88k) && defined(ghs) # undef S_ISDIR # undef S_ISCHR # undef S_ISBLK # undef S_ISREG # undef S_ISFIFO # undef S_ISLNK #endif #include <time.h> #ifdef I_SYS_TIME # ifdef I_SYS_TIME_KERNEL # define KERNEL # endif # include <sys/time.h> # ifdef I_SYS_TIME_KERNEL # undef KERNEL # endif #endif #if defined(HAS_TIMES) && defined(I_SYS_TIMES) # include <sys/times.h> #endif #include <errno.h> #if defined(WIN32) && defined(PERL_IMPLICIT_SYS) # define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */ #endif #if defined(HAS_SOCKET) && !defined(WIN32) /* WIN32 handles sockets via win32.h */ # include <sys/socket.h> # if defined(USE_SOCKS) && defined(I_SOCKS) # if !defined(INCLUDE_PROTOTYPES) # define INCLUDE_PROTOTYPES /* for <socks.h> */ # define PERL_SOCKS_NEED_PROTOTYPES # endif # include <socks.h> # ifdef PERL_SOCKS_NEED_PROTOTYPES /* keep cpp space clean */ # undef INCLUDE_PROTOTYPES # undef PERL_SOCKS_NEED_PROTOTYPES # endif # endif # ifdef I_NETDB # ifdef NETWARE # include<stdio.h> # endif # include <netdb.h> # endif # ifndef ENOTSOCK # ifdef I_NET_ERRNO # include <net/errno.h> # endif # endif #endif /* sockatmark() is so new (2001) that many places might have it hidden * behind some -D_BLAH_BLAH_SOURCE guard. The __THROW magic is required * e.g. in Gentoo, see http://bugs.gentoo.org/show_bug.cgi?id=12605 */ #if defined(HAS_SOCKATMARK) && !defined(HAS_SOCKATMARK_PROTO) # if defined(__THROW) && defined(__GLIBC__) int sockatmark(int) __THROW; # else int sockatmark(int); # endif #endif #if defined(__osf__) && defined(__cplusplus) && !defined(_XOPEN_SOURCE_EXTENDED) /* Tru64 "cxx" (C++), see hints/dec_osf.sh for why the _XOPEN_SOURCE_EXTENDED cannot be defined. */ EXTERN_C int fchdir(int); EXTERN_C int flock(int, int); EXTERN_C int fseeko(FILE *, off_t, int); EXTERN_C off_t ftello(FILE *); #endif #if defined(__SUNPRO_CC) /* SUNWspro CC (C++) */ EXTERN_C char *crypt(const char *, const char *); #endif #if defined(__cplusplus) && defined(__CYGWIN__) EXTERN_C char *crypt(const char *, const char *); #endif /* =head1 Errno =for apidoc m|void|SETERRNO|int errcode|int vmserrcode Set C<errno>, and on VMS set C<vaxc$errno>. =for apidoc mn|void|dSAVEDERRNO Declare variables needed to save C<errno> and any operating system specific error number. =for apidoc mn|void|dSAVE_ERRNO Declare variables needed to save C<errno> and any operating system specific error number, and save them for optional later restoration by C<RESTORE_ERRNO>. =for apidoc mn|void|SAVE_ERRNO Save C<errno> and any operating system specific error number for optional later restoration by C<RESTORE_ERRNO>. Requires C<dSAVEDERRNO> or C<dSAVE_ERRNO> in scope. =for apidoc mn|void|RESTORE_ERRNO Restore C<errno> and any operating system specific error number that was saved by C<dSAVE_ERRNO> or C<RESTORE_ERRNO>. =cut */ #ifdef SETERRNO # undef SETERRNO /* SOCKS might have defined this */ #endif #ifdef VMS # define SETERRNO(errcode,vmserrcode) \ STMT_START { \ set_errno(errcode); \ set_vaxc_errno(vmserrcode); \ } STMT_END # define dSAVEDERRNO int saved_errno; unsigned saved_vms_errno # define dSAVE_ERRNO int saved_errno = errno; unsigned saved_vms_errno = vaxc$errno # define SAVE_ERRNO ( saved_errno = errno, saved_vms_errno = vaxc$errno ) # define RESTORE_ERRNO SETERRNO(saved_errno, saved_vms_errno) # define LIB_INVARG LIB$_INVARG # define RMS_DIR RMS$_DIR # define RMS_FAC RMS$_FAC # define RMS_FEX RMS$_FEX # define RMS_FNF RMS$_FNF # define RMS_IFI RMS$_IFI # define RMS_ISI RMS$_ISI # define RMS_PRV RMS$_PRV # define SS_ACCVIO SS$_ACCVIO # define SS_DEVOFFLINE SS$_DEVOFFLINE # define SS_IVCHAN SS$_IVCHAN # define SS_NORMAL SS$_NORMAL # define SS_NOPRIV SS$_NOPRIV # define SS_BUFFEROVF SS$_BUFFEROVF #else # define LIB_INVARG 0 # define RMS_DIR 0 # define RMS_FAC 0 # define RMS_FEX 0 # define RMS_FNF 0 # define RMS_IFI 0 # define RMS_ISI 0 # define RMS_PRV 0 # define SS_ACCVIO 0 # define SS_DEVOFFLINE 0 # define SS_IVCHAN 0 # define SS_NORMAL 0 # define SS_NOPRIV 0 # define SS_BUFFEROVF 0 #endif #ifdef WIN32 # define dSAVEDERRNO int saved_errno; DWORD saved_win32_errno # define dSAVE_ERRNO int saved_errno = errno; DWORD saved_win32_errno = GetLastError() # define SAVE_ERRNO ( saved_errno = errno, saved_win32_errno = GetLastError() ) # define RESTORE_ERRNO ( errno = saved_errno, SetLastError(saved_win32_errno) ) #endif #ifdef OS2 # define dSAVEDERRNO int saved_errno; unsigned long saved_os2_errno # define dSAVE_ERRNO int saved_errno = errno; unsigned long saved_os2_errno = Perl_rc # define SAVE_ERRNO ( saved_errno = errno, saved_os2_errno = Perl_rc ) # define RESTORE_ERRNO ( errno = saved_errno, Perl_rc = saved_os2_errno ) #endif #ifndef SETERRNO # define SETERRNO(errcode,vmserrcode) (errno = (errcode)) #endif #ifndef dSAVEDERRNO # define dSAVEDERRNO int saved_errno # define dSAVE_ERRNO int saved_errno = errno # define SAVE_ERRNO (saved_errno = errno) # define RESTORE_ERRNO (errno = saved_errno) #endif /* =head1 Warning and Dieing =for apidoc Amn|SV *|ERRSV Returns the SV for C<$@>, creating it if needed. =for apidoc Am|void|CLEAR_ERRSV Clear the contents of C<$@>, setting it to the empty string. This replaces any read-only SV with a fresh SV and removes any magic. =for apidoc Am|void|SANE_ERRSV Clean up ERRSV so we can safely set it. This replaces any read-only SV with a fresh writable copy and removes any magic. =cut */ #define ERRSV GvSVn(PL_errgv) /* contains inlined gv_add_by_type */ #define CLEAR_ERRSV() STMT_START { \ SV ** const svp = &GvSV(PL_errgv); \ if (!*svp) { \ *svp = newSVpvs(""); \ } else if (SvREADONLY(*svp)) { \ SvREFCNT_dec_NN(*svp); \ *svp = newSVpvs(""); \ } else { \ SV *const errsv = *svp; \ SvPVCLEAR(errsv); \ SvPOK_only(errsv); \ if (SvMAGICAL(errsv)) { \ mg_free(errsv); \ } \ } \ } STMT_END /* contains inlined gv_add_by_type */ #define SANE_ERRSV() STMT_START { \ SV ** const svp = &GvSV(PL_errgv); \ if (!*svp) { \ *svp = newSVpvs(""); \ } else if (SvREADONLY(*svp)) { \ SV *dupsv = newSVsv(*svp); \ SvREFCNT_dec_NN(*svp); \ *svp = dupsv; \ } else { \ SV *const errsv = *svp; \ if (SvMAGICAL(errsv)) { \ mg_free(errsv); \ } \ } \ } STMT_END #ifdef PERL_CORE # define DEFSV (0 + GvSVn(PL_defgv)) # define DEFSV_set(sv) \ (SvREFCNT_dec(GvSV(PL_defgv)), GvSV(PL_defgv) = SvREFCNT_inc(sv)) # define SAVE_DEFSV \ ( \ save_gp(PL_defgv, 0), \ GvINTRO_off(PL_defgv), \ SAVEGENERICSV(GvSV(PL_defgv)), \ GvSV(PL_defgv) = NULL \ ) #else # define DEFSV GvSVn(PL_defgv) # define DEFSV_set(sv) (GvSV(PL_defgv) = (sv)) # define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv)) #endif #ifndef errno extern int errno; /* ANSI allows errno to be an lvalue expr. * For example in multithreaded environments * something like this might happen: * extern int *_errno(void); * #define errno (*_errno()) */ #endif #define UNKNOWN_ERRNO_MSG "(unknown)" #ifdef VMS #define Strerror(e) strerror((e), vaxc$errno) #else #define Strerror(e) strerror(e) #endif #ifdef I_SYS_IOCTL # ifndef _IOCTL_ # include <sys/ioctl.h> # endif #endif #if defined(mc300) || defined(mc500) || defined(mc700) || defined(mc6000) # ifdef HAS_SOCKETPAIR # undef HAS_SOCKETPAIR # endif # ifdef I_NDBM # undef I_NDBM # endif #endif #ifndef HAS_SOCKETPAIR # ifdef HAS_SOCKET # define socketpair Perl_my_socketpair # endif #endif #if INTSIZE == 2 # define htoni htons # define ntohi ntohs #else # define htoni htonl # define ntohi ntohl #endif /* Configure already sets Direntry_t */ #if defined(I_DIRENT) # include <dirent.h> #elif defined(I_SYS_NDIR) # include <sys/ndir.h> #elif defined(I_SYS_DIR) # include <sys/dir.h> #endif /* * The following gobbledygook brought to you on behalf of __STDC__. * (I could just use #ifndef __STDC__, but this is more bulletproof * in the face of half-implementations.) */ #if defined(I_SYSMODE) #include <sys/mode.h> #endif #ifndef S_IFMT # ifdef _S_IFMT # define S_IFMT _S_IFMT # else # define S_IFMT 0170000 # endif #endif #ifndef S_ISDIR # define S_ISDIR(m) ((m & S_IFMT) == S_IFDIR) #endif #ifndef S_ISCHR # define S_ISCHR(m) ((m & S_IFMT) == S_IFCHR) #endif #ifndef S_ISBLK # ifdef S_IFBLK # define S_ISBLK(m) ((m & S_IFMT) == S_IFBLK) # else # define S_ISBLK(m) (0) # endif #endif #ifndef S_ISREG # define S_ISREG(m) ((m & S_IFMT) == S_IFREG) #endif #ifndef S_ISFIFO # ifdef S_IFIFO # define S_ISFIFO(m) ((m & S_IFMT) == S_IFIFO) # else # define S_ISFIFO(m) (0) # endif #endif #ifndef S_ISLNK # ifdef _S_ISLNK # define S_ISLNK(m) _S_ISLNK(m) # elif defined(_S_IFLNK) # define S_ISLNK(m) ((m & S_IFMT) == _S_IFLNK) # elif defined(S_IFLNK) # define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK) # else # define S_ISLNK(m) (0) # endif #endif #ifndef S_ISSOCK # ifdef _S_ISSOCK # define S_ISSOCK(m) _S_ISSOCK(m) # elif defined(_S_IFSOCK) # define S_ISSOCK(m) ((m & S_IFMT) == _S_IFSOCK) # elif defined(S_IFSOCK) # define S_ISSOCK(m) ((m & S_IFMT) == S_IFSOCK) # else # define S_ISSOCK(m) (0) # endif #endif #ifndef S_IRUSR # ifdef S_IREAD # define S_IRUSR S_IREAD # define S_IWUSR S_IWRITE # define S_IXUSR S_IEXEC # else # define S_IRUSR 0400 # define S_IWUSR 0200 # define S_IXUSR 0100 # endif #endif #ifndef S_IRGRP # ifdef S_IRUSR # define S_IRGRP (S_IRUSR>>3) # define S_IWGRP (S_IWUSR>>3) # define S_IXGRP (S_IXUSR>>3) # else # define S_IRGRP 0040 # define S_IWGRP 0020 # define S_IXGRP 0010 # endif #endif #ifndef S_IROTH # ifdef S_IRUSR # define S_IROTH (S_IRUSR>>6) # define S_IWOTH (S_IWUSR>>6) # define S_IXOTH (S_IXUSR>>6) # else # define S_IROTH 0040 # define S_IWOTH 0020 # define S_IXOTH 0010 # endif #endif #ifndef S_ISUID # define S_ISUID 04000 #endif #ifndef S_ISGID # define S_ISGID 02000 #endif #ifndef S_IRWXU # define S_IRWXU (S_IRUSR|S_IWUSR|S_IXUSR) #endif #ifndef S_IRWXG # define S_IRWXG (S_IRGRP|S_IWGRP|S_IXGRP) #endif #ifndef S_IRWXO # define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH) #endif /* Haiku R1 seems to define S_IREAD and S_IWRITE in <posix/fcntl.h> * which would get included through <sys/file.h >, but that is 3000 * lines in the future. --jhi */ #if !defined(S_IREAD) && !defined(__HAIKU__) # define S_IREAD S_IRUSR #endif #if !defined(S_IWRITE) && !defined(__HAIKU__) # define S_IWRITE S_IWUSR #endif #ifndef S_IEXEC # define S_IEXEC S_IXUSR #endif #if defined(cray) || defined(gould) || defined(i860) || defined(pyr) # define SLOPPYDIVIDE #endif #ifdef UV #undef UV #endif /* This used to be conditionally defined based on whether we had a sprintf() * that correctly returns the string length (as required by C89), but we no * longer need that. XS modules can (and do) use this name, so it must remain * a part of the API that's visible to modules. =head1 Miscellaneous Functions =for apidoc ATmD|int|my_sprintf|NN char *buffer|NN const char *pat|... Do NOT use this due to the possibility of overflowing C<buffer>. Instead use my_snprintf() =cut */ #define my_sprintf sprintf /* * If we have v?snprintf() and the C99 variadic macros, we can just * use just the v?snprintf(). It is nice to try to trap the buffer * overflow, however, so if we are DEBUGGING, and we cannot use the * gcc statement expressions, then use the function wrappers which try * to trap the overflow. If we can use the gcc statement expressions, * we can try that even with the version that uses the C99 variadic * macros. */ /* Note that we do not check against snprintf()/vsnprintf() returning * negative values because that is non-standard behaviour and we use * snprintf/vsnprintf only iff HAS_VSNPRINTF has been defined, and * that should be true only if the snprintf()/vsnprintf() are true * to the standard. */ #define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END #ifdef USE_QUADMATH # define my_snprintf Perl_my_snprintf # define PERL_MY_SNPRINTF_GUARDED #elif defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC) # ifdef PERL_USE_GCC_BRACE_GROUPS # define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; }) # define PERL_MY_SNPRINTF_GUARDED # else # define my_snprintf(buffer, max, ...) snprintf(buffer, max, __VA_ARGS__) # endif #else # define my_snprintf Perl_my_snprintf # define PERL_MY_SNPRINTF_GUARDED #endif /* There is no quadmath_vsnprintf, and therefore my_vsnprintf() * dies if called under USE_QUADMATH. */ #if defined(HAS_VSNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC) # ifdef PERL_USE_GCC_BRACE_GROUPS # define my_vsnprintf(buffer, max, ...) ({ int len = vsnprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, vsnprintf); len; }) # define PERL_MY_VSNPRINTF_GUARDED # else # define my_vsnprintf(buffer, max, ...) vsnprintf(buffer, max, __VA_ARGS__) # endif #else # define my_vsnprintf Perl_my_vsnprintf # define PERL_MY_VSNPRINTF_GUARDED #endif /* You will definitely need to use the PERL_MY_SNPRINTF_POST_GUARD() * or PERL_MY_VSNPRINTF_POST_GUARD() if you otherwise decide to ignore * the result of my_snprintf() or my_vsnprintf(). (No, you should not * completely ignore it: otherwise you cannot know whether your output * was too long.) * * int len = my_sprintf(buf, max, ...); * PERL_MY_SNPRINTF_POST_GUARD(len, max); * * The trick is that in certain platforms [a] the my_sprintf() already * contains the sanity check, while in certain platforms [b] it needs * to be done as a separate step. The POST_GUARD is that step-- in [a] * platforms the POST_GUARD actually does nothing since the check has * already been done. Watch out for the max being the same in both calls. * * If you actually use the snprintf/vsnprintf return value already, * you assumedly are checking its validity somehow. But you can * insert the POST_GUARD() also in that case. */ #ifndef PERL_MY_SNPRINTF_GUARDED # define PERL_MY_SNPRINTF_POST_GUARD(len, max) PERL_SNPRINTF_CHECK(len, max, snprintf) #else # define PERL_MY_SNPRINTF_POST_GUARD(len, max) PERL_UNUSED_VAR(len) #endif #ifndef PERL_MY_VSNPRINTF_GUARDED # define PERL_MY_VSNPRINTF_POST_GUARD(len, max) PERL_SNPRINTF_CHECK(len, max, vsnprintf) #else # define PERL_MY_VSNPRINTF_POST_GUARD(len, max) PERL_UNUSED_VAR(len) #endif #ifdef HAS_STRLCAT # define my_strlcat strlcat #endif #if defined(PERL_CORE) || defined(PERL_EXT) # ifdef HAS_MEMRCHR # define my_memrchr memrchr # else # define my_memrchr S_my_memrchr # endif #endif #ifdef HAS_STRLCPY # define my_strlcpy strlcpy #endif #ifdef HAS_STRNLEN # define my_strnlen strnlen #endif /* The IV type is supposed to be long enough to hold any integral value or a pointer. --Andy Dougherty August 1996 */ typedef IVTYPE IV; typedef UVTYPE UV; #if defined(USE_64_BIT_INT) && defined(HAS_QUAD) # if QUADKIND == QUAD_IS_INT64_T && defined(INT64_MAX) # define IV_MAX ((IV)INT64_MAX) # define IV_MIN ((IV)INT64_MIN) # define UV_MAX ((UV)UINT64_MAX) # ifndef UINT64_MIN # define UINT64_MIN 0 # endif # define UV_MIN ((UV)UINT64_MIN) # else # define IV_MAX PERL_QUAD_MAX # define IV_MIN PERL_QUAD_MIN # define UV_MAX PERL_UQUAD_MAX # define UV_MIN PERL_UQUAD_MIN # endif # define IV_IS_QUAD # define UV_IS_QUAD #else # if defined(INT32_MAX) && IVSIZE == 4 # define IV_MAX ((IV)INT32_MAX) # define IV_MIN ((IV)INT32_MIN) # ifndef UINT32_MAX_BROKEN /* e.g. HP-UX with gcc messes this up */ # define UV_MAX ((UV)UINT32_MAX) # else # define UV_MAX ((UV)4294967295U) # endif # ifndef UINT32_MIN # define UINT32_MIN 0 # endif # define UV_MIN ((UV)UINT32_MIN) # else # define IV_MAX PERL_LONG_MAX # define IV_MIN PERL_LONG_MIN # define UV_MAX PERL_ULONG_MAX # define UV_MIN PERL_ULONG_MIN # endif # if IVSIZE == 8 # define IV_IS_QUAD # define UV_IS_QUAD # ifndef HAS_QUAD # define HAS_QUAD # endif # else # undef IV_IS_QUAD # undef UV_IS_QUAD #if !defined(PERL_CORE) /* We think that removing this decade-old undef this will cause too much breakage on CPAN for too little gain. (See RT #119753) However, we do need HAS_QUAD in the core for use by the drand48 code. */ # undef HAS_QUAD #endif # endif #endif #define Size_t_MAX (~(Size_t)0) #define SSize_t_MAX (SSize_t)(~(Size_t)0 >> 1) #define IV_DIG (BIT_DIGITS(IVSIZE * 8)) #define UV_DIG (BIT_DIGITS(UVSIZE * 8)) #ifndef NO_PERL_PRESERVE_IVUV #define PERL_PRESERVE_IVUV /* We like our integers to stay integers. */ #endif /* * The macros INT2PTR and NUM2PTR are (despite their names) * bi-directional: they will convert int/float to or from pointers. * However the conversion to int/float are named explicitly: * PTR2IV, PTR2UV, PTR2NV. * * For int conversions we do not need two casts if pointers are * the same size as IV and UV. Otherwise we need an explicit * cast (PTRV) to avoid compiler warnings. */ #if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) # define PTRV UV # define INT2PTR(any,d) (any)(d) #elif PTRSIZE == LONGSIZE # define PTRV unsigned long # define PTR2ul(p) (unsigned long)(p) #else # define PTRV unsigned #endif #ifndef INT2PTR # define INT2PTR(any,d) (any)(PTRV)(d) #endif #ifndef PTR2ul # define PTR2ul(p) INT2PTR(unsigned long,p) #endif #define NUM2PTR(any,d) (any)(PTRV)(d) #define PTR2IV(p) INT2PTR(IV,p) #define PTR2UV(p) INT2PTR(UV,p) #define PTR2NV(p) NUM2PTR(NV,p) #define PTR2nat(p) (PTRV)(p) /* pointer to integer of PTRSIZE */ /* According to strict ANSI C89 one cannot freely cast between * data pointers and function (code) pointers. There are at least * two ways around this. One (used below) is to do two casts, * first the other pointer to an (unsigned) integer, and then * the integer to the other pointer. The other way would be * to use unions to "overlay" the pointers. For an example of * the latter technique, see union dirpu in struct xpvio in sv.h. * The only feasible use is probably temporarily storing * function pointers in a data pointer (such as a void pointer). */ #define DPTR2FPTR(t,p) ((t)PTR2nat(p)) /* data pointer to function pointer */ #define FPTR2DPTR(t,p) ((t)PTR2nat(p)) /* function pointer to data pointer */ #ifdef USE_LONG_DOUBLE # if LONG_DOUBLESIZE == DOUBLESIZE # define LONG_DOUBLE_EQUALS_DOUBLE # undef USE_LONG_DOUBLE /* Ouch! */ # endif #endif /* The following is all to get LDBL_DIG, in order to pick a nice default value for printing floating point numbers in Gconvert. (see config.h) */ #ifndef HAS_LDBL_DIG # if LONG_DOUBLESIZE == 10 # define LDBL_DIG 18 /* assume IEEE */ # elif LONG_DOUBLESIZE == 12 # define LDBL_DIG 18 /* gcc? */ # elif LONG_DOUBLESIZE == 16 # define LDBL_DIG 33 /* assume IEEE */ # elif LONG_DOUBLESIZE == DOUBLESIZE # define LDBL_DIG DBL_DIG /* bummer */ # endif #endif typedef NVTYPE NV; #ifdef I_IEEEFP # include <ieeefp.h> #endif #if defined(__DECC) && defined(__osf__) /* Also Tru64 cc has broken NaN comparisons. */ # define NAN_COMPARE_BROKEN #endif #if defined(__sgi) # define NAN_COMPARE_BROKEN #endif #ifdef USE_LONG_DOUBLE # ifdef I_SUNMATH # include <sunmath.h> # endif # if defined(LDBL_DIG) # define NV_DIG LDBL_DIG # ifdef LDBL_MANT_DIG # define NV_MANT_DIG LDBL_MANT_DIG # endif # ifdef LDBL_MIN # define NV_MIN LDBL_MIN # endif # ifdef LDBL_MAX # define NV_MAX LDBL_MAX # endif # ifdef LDBL_MIN_EXP # define NV_MIN_EXP LDBL_MIN_EXP # endif # ifdef LDBL_MAX_EXP # define NV_MAX_EXP LDBL_MAX_EXP # endif # ifdef LDBL_MIN_10_EXP # define NV_MIN_10_EXP LDBL_MIN_10_EXP # endif # ifdef LDBL_MAX_10_EXP # define NV_MAX_10_EXP LDBL_MAX_10_EXP # endif # ifdef LDBL_EPSILON # define NV_EPSILON LDBL_EPSILON # endif # ifdef LDBL_MAX # define NV_MAX LDBL_MAX /* Having LDBL_MAX doesn't necessarily mean that we have LDBL_MIN... -Allen */ # elif defined(HUGE_VALL) # define NV_MAX HUGE_VALL # endif # endif # if defined(HAS_SQRTL) # define Perl_acos acosl # define Perl_asin asinl # define Perl_atan atanl # define Perl_atan2 atan2l # define Perl_ceil ceill # define Perl_cos cosl # define Perl_cosh coshl # define Perl_exp expl /* no Perl_fabs, but there's PERL_ABS */ # define Perl_floor floorl # define Perl_fmod fmodl # define Perl_log logl # define Perl_log10 log10l # define Perl_pow powl # define Perl_sin sinl # define Perl_sinh sinhl # define Perl_sqrt sqrtl # define Perl_tan tanl # define Perl_tanh tanhl # endif /* e.g. libsunmath doesn't have modfl and frexpl as of mid-March 2000 */ # ifndef Perl_modf # ifdef HAS_MODFL # define Perl_modf(x,y) modfl(x,y) /* eg glibc 2.2 series seems to provide modfl on ppc and arm, but has no prototype in <math.h> */ # ifndef HAS_MODFL_PROTO EXTERN_C long double modfl(long double, long double *); # endif # elif (defined(HAS_TRUNCL) || defined(HAS_AINTL)) && defined(HAS_COPYSIGNL) extern long double Perl_my_modfl(long double x, long double *ip); # define Perl_modf(x,y) Perl_my_modfl(x,y) # endif # endif # ifndef Perl_frexp # ifdef HAS_FREXPL # define Perl_frexp(x,y) frexpl(x,y) # elif defined(HAS_ILOGBL) && defined(HAS_SCALBNL) extern long double Perl_my_frexpl(long double x, int *e); # define Perl_frexp(x,y) Perl_my_frexpl(x,y) # endif # endif # ifndef Perl_ldexp # ifdef HAS_LDEXPL # define Perl_ldexp(x, y) ldexpl(x,y) # elif defined(HAS_SCALBNL) && FLT_RADIX == 2 # define Perl_ldexp(x,y) scalbnl(x,y) # endif # endif # ifndef Perl_isnan # if defined(HAS_ISNANL) && !(defined(isnan) && defined(HAS_C99)) # define Perl_isnan(x) isnanl(x) # elif defined(__sgi) && defined(__c99) /* XXX Configure test needed */ # define Perl_isnan(x) isnan(x) # endif # endif # ifndef Perl_isinf # if defined(HAS_ISINFL) && !(defined(isinf) && defined(HAS_C99)) # define Perl_isinf(x) isinfl(x) # elif defined(__sgi) && defined(__c99) /* XXX Configure test needed */ # define Perl_isinf(x) isinf(x) # elif defined(LDBL_MAX) && !defined(NAN_COMPARE_BROKEN) # define Perl_isinf(x) ((x) > LDBL_MAX || (x) < -LDBL_MAX) # endif # endif # ifndef Perl_isfinite # define Perl_isfinite(x) Perl_isfinitel(x) # endif #elif defined(USE_QUADMATH) && defined(I_QUADMATH) # include <quadmath.h> # define NV_DIG FLT128_DIG # define NV_MANT_DIG FLT128_MANT_DIG # define NV_MIN FLT128_MIN # define NV_MAX FLT128_MAX # define NV_MIN_EXP FLT128_MIN_EXP # define NV_MAX_EXP FLT128_MAX_EXP # define NV_EPSILON FLT128_EPSILON # define NV_MIN_10_EXP FLT128_MIN_10_EXP # define NV_MAX_10_EXP FLT128_MAX_10_EXP # define Perl_acos acosq # define Perl_asin asinq # define Perl_atan atanq # define Perl_atan2 atan2q # define Perl_ceil ceilq # define Perl_cos cosq # define Perl_cosh coshq # define Perl_exp expq /* no Perl_fabs, but there's PERL_ABS */ # define Perl_floor floorq # define Perl_fmod fmodq # define Perl_log logq # define Perl_log10 log10q # define Perl_signbit signbitq # define Perl_pow powq # define Perl_sin sinq # define Perl_sinh sinhq # define Perl_sqrt sqrtq # define Perl_tan tanq # define Perl_tanh tanhq # define Perl_modf(x,y) modfq(x,y) # define Perl_frexp(x,y) frexpq(x,y) # define Perl_ldexp(x, y) ldexpq(x,y) # define Perl_isinf(x) isinfq(x) # define Perl_isnan(x) isnanq(x) # define Perl_isfinite(x) !(isnanq(x) || isinfq(x)) # define Perl_fp_class(x) ((x) == 0.0Q ? 0 : isinfq(x) ? 3 : isnanq(x) ? 4 : PERL_ABS(x) < FLT128_MIN ? 2 : 1) # define Perl_fp_class_inf(x) (Perl_fp_class(x) == 3) # define Perl_fp_class_nan(x) (Perl_fp_class(x) == 4) # define Perl_fp_class_norm(x) (Perl_fp_class(x) == 1) # define Perl_fp_class_denorm(x) (Perl_fp_class(x) == 2) # define Perl_fp_class_zero(x) (Perl_fp_class(x) == 0) #else # define NV_DIG DBL_DIG # define NV_MANT_DIG DBL_MANT_DIG # define NV_MIN DBL_MIN # define NV_MAX DBL_MAX # define NV_MIN_EXP DBL_MIN_EXP # define NV_MAX_EXP DBL_MAX_EXP # define NV_MIN_10_EXP DBL_MIN_10_EXP # define NV_MAX_10_EXP DBL_MAX_10_EXP # define NV_EPSILON DBL_EPSILON # define NV_MAX DBL_MAX # define NV_MIN DBL_MIN /* These math interfaces are C89. */ # define Perl_acos acos # define Perl_asin asin # define Perl_atan atan # define Perl_atan2 atan2 # define Perl_ceil ceil # define Perl_cos cos # define Perl_cosh cosh # define Perl_exp exp /* no Perl_fabs, but there's PERL_ABS */ # define Perl_floor floor # define Perl_fmod fmod # define Perl_log log # define Perl_log10 log10 # define Perl_pow pow # define Perl_sin sin # define Perl_sinh sinh # define Perl_sqrt sqrt # define Perl_tan tan # define Perl_tanh tanh # define Perl_modf(x,y) modf(x,y) # define Perl_frexp(x,y) frexp(x,y) # define Perl_ldexp(x,y) ldexp(x,y) # ifndef Perl_isnan # ifdef HAS_ISNAN # define Perl_isnan(x) isnan(x) # endif # endif # ifndef Perl_isinf # if defined(HAS_ISINF) # define Perl_isinf(x) isinf(x) # elif defined(DBL_MAX) && !defined(NAN_COMPARE_BROKEN) # define Perl_isinf(x) ((x) > DBL_MAX || (x) < -DBL_MAX) # endif # endif # ifndef Perl_isfinite # ifdef HAS_ISFINITE # define Perl_isfinite(x) isfinite(x) # elif defined(HAS_FINITE) # define Perl_isfinite(x) finite(x) # endif # endif #endif /* fpclassify(): C99. It is supposed to be a macro that switches on * the sizeof() of its argument, so there's no need for e.g. fpclassifyl().*/ #if !defined(Perl_fp_class) && defined(HAS_FPCLASSIFY) # include <math.h> # if defined(FP_INFINITE) && defined(FP_NAN) # define Perl_fp_class(x) fpclassify(x) # define Perl_fp_class_inf(x) (Perl_fp_class(x)==FP_INFINITE) # define Perl_fp_class_nan(x) (Perl_fp_class(x)==FP_NAN) # define Perl_fp_class_norm(x) (Perl_fp_class(x)==FP_NORMAL) # define Perl_fp_class_denorm(x) (Perl_fp_class(x)==FP_SUBNORMAL) # define Perl_fp_class_zero(x) (Perl_fp_class(x)==FP_ZERO) # elif defined(FP_PLUS_INF) && defined(FP_QNAN) /* Some versions of HP-UX (10.20) have (only) fpclassify() but which is * actually not the C99 fpclassify, with its own set of return defines. */ # define Perl_fp_class(x) fpclassify(x) # define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_PLUS_INF) # define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_MINUS_INF) # define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_SNAN) # define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_QNAN) # define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_PLUS_NORM) # define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_MINUS_NORM) # define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_PLUS_DENORM) # define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_MINUS_DENORM) # define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_PLUS_ZERO) # define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_MINUS_ZERO) # else # undef Perl_fp_class /* Unknown set of defines */ # endif #endif /* fp_classify(): Legacy: VMS, maybe Unicos? The values, however, * are identical to the C99 fpclassify(). */ #if !defined(Perl_fp_class) && defined(HAS_FP_CLASSIFY) # include <math.h> # ifdef __VMS /* FP_INFINITE and others are here rather than in math.h as C99 stipulates */ # include <fp.h> /* oh, and the isnormal macro has a typo in it! */ # undef isnormal # define isnormal(x) Perl_fp_class_norm(x) # endif # if defined(FP_INFINITE) && defined(FP_NAN) # define Perl_fp_class(x) fp_classify(x) # define Perl_fp_class_inf(x) (Perl_fp_class(x)==FP_INFINITE) # define Perl_fp_class_nan(x) (Perl_fp_class(x)==FP_NAN) # define Perl_fp_class_norm(x) (Perl_fp_class(x)==FP_NORMAL) # define Perl_fp_class_denorm(x) (Perl_fp_class(x)==FP_SUBNORMAL) # define Perl_fp_class_zero(x) (Perl_fp_class(x)==FP_ZERO) # else # undef Perl_fp_class /* Unknown set of defines */ # endif #endif /* Feel free to check with me for the SGI manpages, SGI testing, * etcetera, if you want to try getting this to work with IRIX. * * - Allen <allens@cpan.org> */ /* fpclass(): SysV, at least Solaris and some versions of IRIX. */ #if !defined(Perl_fp_class) && (defined(HAS_FPCLASS)||defined(HAS_FPCLASSL)) /* Solaris and IRIX have fpclass/fpclassl, but they are using * an enum typedef, not cpp symbols, and Configure doesn't detect that. * Define some symbols also as cpp symbols so we can detect them. */ # if defined(__sun) || defined(__sgi) /* XXX Configure test instead */ # define FP_PINF FP_PINF # define FP_QNAN FP_QNAN # endif # include <math.h> # ifdef I_IEEFP # include <ieeefp.h> # endif # ifdef I_FP # include <fp.h> # endif # if defined(USE_LONG_DOUBLE) && defined(HAS_FPCLASSL) # define Perl_fp_class(x) fpclassl(x) # else # define Perl_fp_class(x) fpclass(x) # endif # if defined(FP_CLASS_PINF) && defined(FP_CLASS_SNAN) # define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_CLASS_SNAN) # define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_CLASS_QNAN) # define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_CLASS_NINF) # define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_CLASS_PINF) # define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_CLASS_NNORM) # define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_CLASS_PNORM) # define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_CLASS_NDENORM) # define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_CLASS_PDENORM) # define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_CLASS_NZERO) # define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_CLASS_PZERO) # elif defined(FP_PINF) && defined(FP_QNAN) # define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_SNAN) # define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_QNAN) # define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_NINF) # define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_PINF) # define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_NNORM) # define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_PNORM) # define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_NDENORM) # define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_PDENORM) # define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_NZERO) # define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_PZERO) # else # undef Perl_fp_class /* Unknown set of defines */ # endif #endif /* fp_class(): Legacy: at least Tru64, some versions of IRIX. */ #if !defined(Perl_fp_class) && (defined(HAS_FP_CLASS)||defined(HAS_FP_CLASSL)) # include <math.h> # if !defined(FP_SNAN) && defined(I_FP_CLASS) # include <fp_class.h> # endif # if defined(FP_POS_INF) && defined(FP_QNAN) # ifdef __sgi /* XXX Configure test instead */ # ifdef USE_LONG_DOUBLE # define Perl_fp_class(x) fp_class_l(x) # else # define Perl_fp_class(x) fp_class_d(x) # endif # else # if defined(USE_LONG_DOUBLE) && defined(HAS_FP_CLASSL) # define Perl_fp_class(x) fp_classl(x) # else # define Perl_fp_class(x) fp_class(x) # endif # endif # if defined(FP_POS_INF) && defined(FP_QNAN) # define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_SNAN) # define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_QNAN) # define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_NEG_INF) # define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_POS_INF) # define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_NEG_NORM) # define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_POS_NORM) # define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_NEG_DENORM) # define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_POS_DENORM) # define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_NEG_ZERO) # define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_POS_ZERO) # else # undef Perl_fp_class /* Unknown set of defines */ # endif # endif #endif /* class(), _class(): Legacy: AIX. */ #if !defined(Perl_fp_class) && defined(HAS_CLASS) # include <math.h> # if defined(FP_PLUS_NORM) && defined(FP_PLUS_INF) # ifndef _cplusplus # define Perl_fp_class(x) class(x) # else # define Perl_fp_class(x) _class(x) # endif # if defined(FP_PLUS_INF) && defined(FP_NANQ) # define Perl_fp_class_snan(x) (Perl_fp_class(x)==FP_NANS) # define Perl_fp_class_qnan(x) (Perl_fp_class(x)==FP_NANQ) # define Perl_fp_class_ninf(x) (Perl_fp_class(x)==FP_MINUS_INF) # define Perl_fp_class_pinf(x) (Perl_fp_class(x)==FP_PLUS_INF) # define Perl_fp_class_nnorm(x) (Perl_fp_class(x)==FP_MINUS_NORM) # define Perl_fp_class_pnorm(x) (Perl_fp_class(x)==FP_PLUS_NORM) # define Perl_fp_class_ndenorm(x) (Perl_fp_class(x)==FP_MINUS_DENORM) # define Perl_fp_class_pdenorm(x) (Perl_fp_class(x)==FP_PLUS_DENORM) # define Perl_fp_class_nzero(x) (Perl_fp_class(x)==FP_MINUS_ZERO) # define Perl_fp_class_pzero(x) (Perl_fp_class(x)==FP_PLUS_ZERO) # else # undef Perl_fp_class /* Unknown set of defines */ # endif # endif #endif /* Win32: _fpclass(), _isnan(), _finite(). */ #ifdef _MSC_VER # ifndef Perl_isnan # define Perl_isnan(x) _isnan(x) # endif # ifndef Perl_isfinite # define Perl_isfinite(x) _finite(x) # endif # ifndef Perl_fp_class_snan /* No simple way to #define Perl_fp_class because _fpclass() * returns a set of bits. */ # define Perl_fp_class_snan(x) (_fpclass(x) & _FPCLASS_SNAN) # define Perl_fp_class_qnan(x) (_fpclass(x) & _FPCLASS_QNAN) # define Perl_fp_class_nan(x) (_fpclass(x) & (_FPCLASS_SNAN|_FPCLASS_QNAN)) # define Perl_fp_class_ninf(x) (_fpclass(x) & _FPCLASS_NINF)) # define Perl_fp_class_pinf(x) (_fpclass(x) & _FPCLASS_PINF)) # define Perl_fp_class_inf(x) (_fpclass(x) & (_FPCLASS_NINF|_FPCLASS_PINF)) # define Perl_fp_class_nnorm(x) (_fpclass(x) & _FPCLASS_NN) # define Perl_fp_class_pnorm(x) (_fpclass(x) & _FPCLASS_PN) # define Perl_fp_class_norm(x) (_fpclass(x) & (_FPCLASS_NN|_FPCLASS_PN)) # define Perl_fp_class_ndenorm(x) (_fpclass(x) & _FPCLASS_ND) # define Perl_fp_class_pdenorm(x) (_fpclass(x) & _FPCLASS_PD) # define Perl_fp_class_denorm(x) (_fpclass(x) & (_FPCLASS_ND|_FPCLASS_PD)) # define Perl_fp_class_nzero(x) (_fpclass(x) & _FPCLASS_NZ) # define Perl_fp_class_pzero(x) (_fpclass(x) & _FPCLASS_PZ) # define Perl_fp_class_zero(x) (_fpclass(x) & (_FPCLASS_NZ|_FPCLASS_PZ)) # endif #endif #if !defined(Perl_fp_class_inf) && \ defined(Perl_fp_class_pinf) && defined(Perl_fp_class_ninf) # define Perl_fp_class_inf(x) \ (Perl_fp_class_pinf(x) || Perl_fp_class_ninf(x)) #endif #if !defined(Perl_fp_class_nan) && \ defined(Perl_fp_class_snan) && defined(Perl_fp_class_qnan) # define Perl_fp_class_nan(x) \ (Perl_fp_class_snan(x) || Perl_fp_class_qnan(x)) #endif #if !defined(Perl_fp_class_zero) && \ defined(Perl_fp_class_pzero) && defined(Perl_fp_class_nzero) # define Perl_fp_class_zero(x) \ (Perl_fp_class_pzero(x) || Perl_fp_class_nzero(x)) #endif #if !defined(Perl_fp_class_norm) && \ defined(Perl_fp_class_pnorm) && defined(Perl_fp_class_nnorm) # define Perl_fp_class_norm(x) \ (Perl_fp_class_pnorm(x) || Perl_fp_class_nnorm(x)) #endif #if !defined(Perl_fp_class_denorm) && \ defined(Perl_fp_class_pdenorm) && defined(Perl_fp_class_ndenorm) # define Perl_fp_class_denorm(x) \ (Perl_fp_class_pdenorm(x) || Perl_fp_class_ndenorm(x)) #endif #ifndef Perl_isnan # ifdef Perl_fp_class_nan # define Perl_isnan(x) Perl_fp_class_nan(x) # elif defined(HAS_UNORDERED) # define Perl_isnan(x) unordered((x), 0.0) # else # define Perl_isnan(x) ((x)!=(x)) # endif #endif #ifndef Perl_isinf # ifdef Perl_fp_class_inf # define Perl_isinf(x) Perl_fp_class_inf(x) # endif #endif #ifndef Perl_isfinite # if defined(HAS_ISFINITE) && !defined(isfinite) # define Perl_isfinite(x) isfinite((double)(x)) # elif defined(HAS_FINITE) # define Perl_isfinite(x) finite((double)(x)) # elif defined(Perl_fp_class_finite) # define Perl_isfinite(x) Perl_fp_class_finite(x) # else /* For the infinities the multiplication returns nan, * for the nan the multiplication also returns nan, * for everything else (that is, finite) zero should be returned. */ # define Perl_isfinite(x) (((x) * 0) == 0) # endif #endif #ifndef Perl_isinf # if defined(Perl_isfinite) && defined(Perl_isnan) # define Perl_isinf(x) !(Perl_isfinite(x)||Perl_isnan(x)) # endif #endif /* We need Perl_isfinitel (ends with ell) (if available) even when * not USE_LONG_DOUBLE because the printf code (sv_catpvfn_flags) * needs that. */ #if defined(HAS_LONG_DOUBLE) && !defined(Perl_isfinitel) /* If isfinite() is a macro and looks like we have C99, * we assume it's the type-aware C99 isfinite(). */ # if defined(HAS_ISFINITE) && defined(isfinite) && defined(HAS_C99) # define Perl_isfinitel(x) isfinite(x) # elif defined(HAS_ISFINITEL) # define Perl_isfinitel(x) isfinitel(x) # elif defined(HAS_FINITEL) # define Perl_isfinitel(x) finitel(x) # elif defined(HAS_INFL) && defined(HAS_NANL) # define Perl_isfinitel(x) !(isinfl(x)||isnanl(x)) # else # define Perl_isfinitel(x) ((x) * 0 == 0) /* See Perl_isfinite. */ # endif #endif /* The default is to use Perl's own atof() implementation (in numeric.c). * Usually that is the one to use but for some platforms (e.g. UNICOS) * it is however best to use the native implementation of atof. * You can experiment with using your native one by -DUSE_PERL_ATOF=0. * Some good tests to try out with either setting are t/base/num.t, * t/op/numconvert.t, and t/op/pack.t. Note that if using long doubles * you may need to be using a different function than atof! */ #ifndef USE_PERL_ATOF # ifndef _UNICOS # define USE_PERL_ATOF # endif #else # if USE_PERL_ATOF == 0 # undef USE_PERL_ATOF # endif #endif #ifdef USE_PERL_ATOF # define Perl_atof(s) Perl_my_atof(s) # define Perl_atof2(s, n) Perl_my_atof3(aTHX_ (s), &(n), 0) #else # define Perl_atof(s) (NV)atof(s) # define Perl_atof2(s, n) ((n) = atof(s)) #endif #define my_atof2(a,b) my_atof3(a,b,0) /* * CHAR_MIN and CHAR_MAX are not included here, as the (char) type may be * ambiguous. It may be equivalent to (signed char) or (unsigned char) * depending on local options. Until Configure detects this (or at least * detects whether the "signed" keyword is available) the CHAR ranges * will not be included. UCHAR functions normally. * - kja */ #define PERL_UCHAR_MIN ((unsigned char)0) #define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX) #define PERL_USHORT_MIN ((unsigned short)0) #define PERL_USHORT_MAX ((unsigned short)USHRT_MAX) #define PERL_SHORT_MAX ((short)SHRT_MAX) #define PERL_SHORT_MIN ((short)SHRT_MIN) #define PERL_UINT_MAX ((unsigned int)UINT_MAX) #define PERL_UINT_MIN ((unsigned int)0) #define PERL_INT_MAX ((int)INT_MAX) #define PERL_INT_MIN ((int)INT_MIN) #define PERL_ULONG_MAX ((unsigned long)ULONG_MAX) #define PERL_ULONG_MIN ((unsigned long)0L) #define PERL_LONG_MAX ((long)LONG_MAX) #define PERL_LONG_MIN ((long)LONG_MIN) #ifdef UV_IS_QUAD # define PERL_UQUAD_MAX (~(UV)0) # define PERL_UQUAD_MIN ((UV)0) # define PERL_QUAD_MAX ((IV) (PERL_UQUAD_MAX >> 1)) # define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3)) #endif /* =head1 Numeric functions =for apidoc AmnUh||PERL_INT_MIN =for apidoc AmnUh||PERL_LONG_MAX =for apidoc AmnUh||PERL_LONG_MIN =for apidoc AmnUh||PERL_QUAD_MAX =for apidoc AmnUh||PERL_SHORT_MAX =for apidoc AmnUh||PERL_SHORT_MIN =for apidoc AmnUh||PERL_UCHAR_MAX =for apidoc AmnUh||PERL_UCHAR_MIN =for apidoc AmnUh||PERL_UINT_MAX =for apidoc AmnUh||PERL_ULONG_MAX =for apidoc AmnUh||PERL_ULONG_MIN =for apidoc AmnUh||PERL_UQUAD_MAX =for apidoc AmnUh||PERL_UQUAD_MIN =for apidoc AmnUh||PERL_USHORT_MAX =for apidoc AmnUh||PERL_USHORT_MIN =for apidoc AmnUh||PERL_QUAD_MIN =for apidoc AmnU||PERL_INT_MAX This and C<PERL_INT_MIN>, C<PERL_LONG_MAX>, C<PERL_LONG_MIN>, C<PERL_QUAD_MAX>, C<PERL_SHORT_MAX>, C<PERL_SHORT_MIN>, C<PERL_UCHAR_MAX>, C<PERL_UCHAR_MIN>, C<PERL_UINT_MAX>, C<PERL_ULONG_MAX>, C<PERL_ULONG_MIN>, C<PERL_UQUAD_MAX>, C<PERL_UQUAD_MIN>, C<PERL_USHORT_MAX>, C<PERL_USHORT_MIN>, C<PERL_QUAD_MIN> give the largest and smallest number representable in the current platform in variables of the corresponding types. For signed types, the smallest representable number is the most negative number, the one furthest away from zero. For C99 and later compilers, these correspond to things like C<INT_MAX>, which are available to the C code. But these constants, furnished by Perl, allow code compiled on earlier compilers to portably have access to the same constants. =cut */ typedef MEM_SIZE STRLEN; typedef struct op OP; typedef struct cop COP; typedef struct unop UNOP; typedef struct unop_aux UNOP_AUX; typedef struct binop BINOP; typedef struct listop LISTOP; typedef struct logop LOGOP; typedef struct pmop PMOP; typedef struct svop SVOP; typedef struct padop PADOP; typedef struct pvop PVOP; typedef struct loop LOOP; typedef struct methop METHOP; #ifdef PERL_CORE typedef struct opslab OPSLAB; typedef struct opslot OPSLOT; #endif typedef struct block_hooks BHK; typedef struct custom_op XOP; typedef struct interpreter PerlInterpreter; /* SGI's <sys/sema.h> has struct sv */ #if defined(__sgi) # define STRUCT_SV perl_sv #else # define STRUCT_SV sv #endif typedef struct STRUCT_SV SV; typedef struct av AV; typedef struct hv HV; typedef struct cv CV; typedef struct p5rx REGEXP; typedef struct gp GP; typedef struct gv GV; typedef struct io IO; typedef struct context PERL_CONTEXT; typedef struct block BLOCK; typedef struct magic MAGIC; typedef struct xpv XPV; typedef struct xpviv XPVIV; typedef struct xpvuv XPVUV; typedef struct xpvnv XPVNV; typedef struct xpvmg XPVMG; typedef struct xpvlv XPVLV; typedef struct xpvinvlist XINVLIST; typedef struct xpvav XPVAV; typedef struct xpvhv XPVHV; typedef struct xpvgv XPVGV; typedef struct xpvcv XPVCV; typedef struct xpvbm XPVBM; typedef struct xpvfm XPVFM; typedef struct xpvio XPVIO; typedef struct mgvtbl MGVTBL; typedef union any ANY; typedef struct ptr_tbl_ent PTR_TBL_ENT_t; typedef struct ptr_tbl PTR_TBL_t; typedef struct clone_params CLONE_PARAMS; /* a pad is currently just an AV; but that might change, * so hide the type. */ typedef struct padlist PADLIST; typedef AV PAD; typedef struct padnamelist PADNAMELIST; typedef struct padname PADNAME; /* always enable PERL_OP_PARENT */ #if !defined(PERL_OP_PARENT) # define PERL_OP_PARENT #endif /* enable PERL_COPY_ON_WRITE by default */ #if !defined(PERL_COPY_ON_WRITE) && !defined(PERL_NO_COW) # define PERL_COPY_ON_WRITE #endif #ifdef PERL_COPY_ON_WRITE # define PERL_ANY_COW #else # define PERL_SAWAMPERSAND #endif #if defined(PERL_DEBUG_READONLY_OPS) && !defined(USE_ITHREADS) # error PERL_DEBUG_READONLY_OPS only works with ithreads #endif #include "handy.h" #include "charclass_invlists.h" #if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_RAWIO) # if LSEEKSIZE == 8 && !defined(USE_64_BIT_RAWIO) # define USE_64_BIT_RAWIO /* implicit */ # endif #endif /* Notice the use of HAS_FSEEKO: now we are obligated to always use * fseeko/ftello if possible. Don't go #defining ftell to ftello yourself, * however, because operating systems like to do that themself. */ #ifndef FSEEKSIZE # ifdef HAS_FSEEKO # define FSEEKSIZE LSEEKSIZE # else # define FSEEKSIZE LONGSIZE # endif #endif #if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_STDIO) # if FSEEKSIZE == 8 && !defined(USE_64_BIT_STDIO) # define USE_64_BIT_STDIO /* implicit */ # endif #endif #ifdef USE_64_BIT_RAWIO # ifdef HAS_OFF64_T # undef Off_t # define Off_t off64_t # undef LSEEKSIZE # define LSEEKSIZE 8 # endif /* Most 64-bit environments have defines like _LARGEFILE_SOURCE that * will trigger defines like the ones below. Some 64-bit environments, * however, do not. Therefore we have to explicitly mix and match. */ # if defined(USE_OPEN64) # define open open64 # endif # if defined(USE_LSEEK64) # define lseek lseek64 # else # if defined(USE_LLSEEK) # define lseek llseek # endif # endif # if defined(USE_STAT64) # define stat stat64 # endif # if defined(USE_FSTAT64) # define fstat fstat64 # endif # if defined(USE_LSTAT64) # define lstat lstat64 # endif # if defined(USE_FLOCK64) # define flock flock64 # endif # if defined(USE_LOCKF64) # define lockf lockf64 # endif # if defined(USE_FCNTL64) # define fcntl fcntl64 # endif # if defined(USE_TRUNCATE64) # define truncate truncate64 # endif # if defined(USE_FTRUNCATE64) # define ftruncate ftruncate64 # endif #endif #ifdef USE_64_BIT_STDIO # ifdef HAS_FPOS64_T # undef Fpos_t # define Fpos_t fpos64_t # endif /* Most 64-bit environments have defines like _LARGEFILE_SOURCE that * will trigger defines like the ones below. Some 64-bit environments, * however, do not. */ # if defined(USE_FOPEN64) # define fopen fopen64 # endif # if defined(USE_FSEEK64) # define fseek fseek64 /* don't do fseeko here, see perlio.c */ # endif # if defined(USE_FTELL64) # define ftell ftell64 /* don't do ftello here, see perlio.c */ # endif # if defined(USE_FSETPOS64) # define fsetpos fsetpos64 # endif # if defined(USE_FGETPOS64) # define fgetpos fgetpos64 # endif # if defined(USE_TMPFILE64) # define tmpfile tmpfile64 # endif # if defined(USE_FREOPEN64) # define freopen freopen64 # endif #endif #if defined(OS2) # include "iperlsys.h" #endif #ifdef DOSISH # if defined(OS2) # include "os2ish.h" # else # include "dosish.h" # endif #elif defined(VMS) # include "vmsish.h" #elif defined(PLAN9) # include "./plan9/plan9ish.h" #elif defined(__VOS__) # ifdef __GNUC__ # include "./vos/vosish.h" # else # include "vos/vosish.h" # endif #elif defined(__SYMBIAN32__) # include "symbian/symbianish.h" #elif defined(__HAIKU__) # include "haiku/haikuish.h" #else # include "unixish.h" #endif #ifdef __amigaos4__ # include "amigaos.h" # undef FD_CLOEXEC /* a lie in AmigaOS */ #endif /* NSIG logic from Configure --> */ #ifndef NSIG # ifdef _NSIG # define NSIG (_NSIG) # elif defined(SIGMAX) # define NSIG (SIGMAX+1) # elif defined(SIG_MAX) # define NSIG (SIG_MAX+1) # elif defined(_SIG_MAX) # define NSIG (_SIG_MAX+1) # elif defined(MAXSIG) # define NSIG (MAXSIG+1) # elif defined(MAX_SIG) # define NSIG (MAX_SIG+1) # elif defined(SIGARRAYSIZE) # define NSIG SIGARRAYSIZE /* Assume ary[SIGARRAYSIZE] */ # elif defined(_sys_nsig) # define NSIG (_sys_nsig) /* Solaris 2.5 */ # else /* Default to some arbitrary number that's big enough to get most * of the common signals. */ # define NSIG 50 # endif #endif /* <-- NSIG logic from Configure */ #ifndef NO_ENVIRON_ARRAY # define USE_ENVIRON_ARRAY #endif #ifdef USE_ITHREADS /* On some platforms it would be safe to use a read/write mutex with many * readers possible at the same time. On other platforms, notably IBM ones, * subsequent getenv calls destroy earlier ones. Those platforms would not * be able to handle simultaneous getenv calls */ # define ENV_LOCK MUTEX_LOCK(&PL_env_mutex) # define ENV_UNLOCK MUTEX_UNLOCK(&PL_env_mutex) # define ENV_INIT MUTEX_INIT(&PL_env_mutex); # define ENV_TERM MUTEX_DESTROY(&PL_env_mutex); #else # define ENV_LOCK NOOP; # define ENV_UNLOCK NOOP; # define ENV_INIT NOOP; # define ENV_TERM NOOP; #endif /* Some critical sections need to lock both the locale and the environment. * XXX khw intends to change this to lock both mutexes, but that brings up * issues of potential deadlock, so should be done at the beginning of a * development cycle. So for now, it just locks the environment. Note that * many modern platforms are locale-thread-safe anyway, so locking the locale * mutex is a no-op anyway */ #define ENV_LOCALE_LOCK ENV_LOCK #define ENV_LOCALE_UNLOCK ENV_UNLOCK /* And some critical sections care only that no one else is writing either the * locale nor the environment. XXX Again this is for the future. This can be * simulated with using COND_WAIT in thread.h */ #define ENV_LOCALE_READ_LOCK ENV_LOCALE_LOCK #define ENV_LOCALE_READ_UNLOCK ENV_LOCALE_UNLOCK #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) /* having sigaction(2) means that the OS supports both 1-arg and 3-arg * signal handlers. But the perl core itself only fully supports 1-arg * handlers, so don't enable for now. * NB: POSIX::sigaction() supports both. * * # define PERL_USE_3ARG_SIGHANDLER */ #endif /* Siginfo_t: * This is an alias for the OS's siginfo_t, except that where the OS * doesn't support it, declare a dummy version instead. This allows us to * have signal handler functions which always have a Siginfo_t parameter * regardless of platform, (and which will just be passed a NULL value * where the OS doesn't support HAS_SIGACTION). */ #if defined(HAS_SIGACTION) && defined(SA_SIGINFO) typedef siginfo_t Siginfo_t; #else #ifdef si_signo /* minix */ #undef si_signo #endif typedef struct { int si_signo; } Siginfo_t; #endif /* * initialise to avoid floating-point exceptions from overflow, etc */ #ifndef PERL_FPU_INIT # ifdef HAS_FPSETMASK # if HAS_FLOATINGPOINT_H # include <floatingpoint.h> # endif /* Some operating systems have this as a macro, which in turn expands to a comma expression, and the last sub-expression is something that gets calculated, and then they have the gall to warn that a value computed is not used. Hence cast to void. */ # define PERL_FPU_INIT (void)fpsetmask(0) # elif defined(SIGFPE) && defined(SIG_IGN) && !defined(PERL_MICRO) # define PERL_FPU_INIT PL_sigfpe_saved = (Sighandler_t) signal(SIGFPE, SIG_IGN) # define PERL_FPU_PRE_EXEC { Sigsave_t xfpe; rsignal_save(SIGFPE, PL_sigfpe_saved, &xfpe); # define PERL_FPU_POST_EXEC rsignal_restore(SIGFPE, &xfpe); } # else # define PERL_FPU_INIT # endif #endif #ifndef PERL_FPU_PRE_EXEC # define PERL_FPU_PRE_EXEC { # define PERL_FPU_POST_EXEC } #endif /* In Tru64 the cc -ieee enables the IEEE math but disables traps. * We need to reenable the "invalid" trap because otherwise generation * of NaN values leaves the IEEE fp flags in bad state, leaving any further * fp ops behaving strangely (Inf + 1 resulting in zero, for example). */ #ifdef __osf__ # include <machine/fpu.h> # define PERL_SYS_FPU_INIT \ STMT_START { \ ieee_set_fp_control(IEEE_TRAP_ENABLE_INV); \ signal(SIGFPE, SIG_IGN); \ } STMT_END #endif /* In IRIX the default for Flush to Zero bit is true, * which means that results going below the minimum of normal * floating points go to zero, instead of going denormal/subnormal. * This is unlike almost any other system running Perl, so let's clear it. * [perl #123767] IRIX64 blead (ddce084a) opbasic/arith.t failure, originally * [perl #120426] small numbers shouldn't round to zero if they have extra floating digits * * XXX The flush-to-zero behaviour should be a Configure scan. * To change the behaviour usually requires some system-specific * incantation, though, like the below. */ #ifdef __sgi # include <sys/fpu.h> # define PERL_SYS_FPU_INIT \ STMT_START { \ union fpc_csr csr; \ csr.fc_word = get_fpc_csr(); \ csr.fc_struct.flush = 0; \ set_fpc_csr(csr.fc_word); \ } STMT_END #endif #ifndef PERL_SYS_FPU_INIT # define PERL_SYS_FPU_INIT NOOP #endif #ifndef PERL_SYS_INIT3_BODY # define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp) #endif /* =head1 Miscellaneous Functions =for apidoc Am|void|PERL_SYS_INIT|int *argc|char*** argv Provides system-specific tune up of the C runtime environment necessary to run Perl interpreters. This should be called only once, before creating any Perl interpreters. =for apidoc Am|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env Provides system-specific tune up of the C runtime environment necessary to run Perl interpreters. This should be called only once, before creating any Perl interpreters. =for apidoc Am|void|PERL_SYS_TERM| Provides system-specific clean up of the C runtime environment after running Perl interpreters. This should be called only once, after freeing any remaining Perl interpreters. =cut */ #define PERL_SYS_INIT(argc, argv) Perl_sys_init(argc, argv) #define PERL_SYS_INIT3(argc, argv, env) Perl_sys_init3(argc, argv, env) #define PERL_SYS_TERM() Perl_sys_term() #ifndef PERL_WRITE_MSG_TO_CONSOLE # define PERL_WRITE_MSG_TO_CONSOLE(io, msg, len) PerlIO_write(io, msg, len) #endif #ifndef MAXPATHLEN # ifdef PATH_MAX # ifdef _POSIX_PATH_MAX # if PATH_MAX > _POSIX_PATH_MAX /* POSIX 1990 (and pre) was ambiguous about whether PATH_MAX * included the null byte or not. Later amendments of POSIX, * XPG4, the Austin Group, and the Single UNIX Specification * all explicitly include the null byte in the PATH_MAX. * Ditto for _POSIX_PATH_MAX. */ # define MAXPATHLEN PATH_MAX # else # define MAXPATHLEN _POSIX_PATH_MAX # endif # else # define MAXPATHLEN (PATH_MAX+1) # endif # else # define MAXPATHLEN 1024 /* Err on the large side. */ # endif #endif /* USE_5005THREADS needs to be after unixish.h as <pthread.h> includes * <sys/signal.h> which defines NSIG - which will stop inclusion of <signal.h> * this results in many functions being undeclared which bothers C++ * May make sense to have threads after "*ish.h" anyway */ /* clang Thread Safety Analysis/Annotations/Attributes * http://clang.llvm.org/docs/ThreadSafetyAnalysis.html * * Available since clang 3.6-ish (appeared in 3.4, but shaky still in 3.5). * Apple XCode hijacks __clang_major__ and __clang_minor__ * (6.1 means really clang 3.6), so needs extra hijinks * (could probably also test the contents of __apple_build_version__). */ #if defined(USE_ITHREADS) && defined(I_PTHREAD) && \ defined(__clang__) && \ !defined(PERL_GLOBAL_STRUCT) && \ !defined(PERL_GLOBAL_STRUCT_PRIVATE) && \ !defined(SWIG) && \ ((!defined(__apple_build_version__) && \ ((__clang_major__ == 3 && __clang_minor__ >= 6) || \ (__clang_major__ >= 4))) || \ (defined(__apple_build_version__) && \ ((__clang_major__ == 6 && __clang_minor__ >= 1) || \ (__clang_major__ >= 7)))) # define PERL_TSA__(x) __attribute__((x)) # define PERL_TSA_ACTIVE #else # define PERL_TSA__(x) /* No TSA, make TSA attributes no-ops. */ # undef PERL_TSA_ACTIVE #endif /* PERL_TSA_CAPABILITY() is used to annotate typedefs. * typedef old_type PERL_TSA_CAPABILITY("mutex") new_type; */ #define PERL_TSA_CAPABILITY(x) \ PERL_TSA__(capability(x)) /* In the below examples the mutex must be lexically visible, usually * either as global variables, or as function arguments. */ /* PERL_TSA_GUARDED_BY() is used to annotate global variables. * * Foo foo PERL_TSA_GUARDED_BY(mutex); */ #define PERL_TSA_GUARDED_BY(x) \ PERL_TSA__(guarded_by(x)) /* PERL_TSA_PT_GUARDED_BY() is used to annotate global pointers. * The data _behind_ the pointer is guarded. * * Foo* ptr PERL_TSA_PT_GUARDED_BY(mutex); */ #define PERL_TSA_PT_GUARDED_BY(x) \ PERL_TSA__(pt_guarded_by(x)) /* PERL_TSA_REQUIRES() is used to annotate functions. * The caller MUST hold the resource when calling the function. * * void Foo() PERL_TSA_REQUIRES(mutex); */ #define PERL_TSA_REQUIRES(x) \ PERL_TSA__(requires_capability(x)) /* PERL_TSA_EXCLUDES() is used to annotate functions. * The caller MUST NOT hold resource when calling the function. * * EXCLUDES should be used when the function first acquires * the resource and then releases it. Use to avoid deadlock. * * void Foo() PERL_TSA_EXCLUDES(mutex); */ #define PERL_TSA_EXCLUDES(x) \ PERL_TSA__(locks_excluded(x)) /* PERL_TSA_ACQUIRE() is used to annotate functions. * The caller MUST NOT hold the resource when calling the function, * and the function will acquire the resource. * * void Foo() PERL_TSA_ACQUIRE(mutex); */ #define PERL_TSA_ACQUIRE(x) \ PERL_TSA__(acquire_capability(x)) /* PERL_TSA_RELEASE() is used to annotate functions. * The caller MUST hold the resource when calling the function, * and the function will release the resource. * * void Foo() PERL_TSA_RELEASE(mutex); */ #define PERL_TSA_RELEASE(x) \ PERL_TSA__(release_capability(x)) /* PERL_TSA_NO_TSA is used to annotate functions. * Used when being intentionally unsafe, or when the code is too * complicated for the analysis. Use sparingly. * * void Foo() PERL_TSA_NO_TSA; */ #define PERL_TSA_NO_TSA \ PERL_TSA__(no_thread_safety_analysis) /* There are more annotations/attributes available, see the clang * documentation for details. */ #if defined(USE_ITHREADS) # ifdef NETWARE # include <nw5thread.h> # elif defined(WIN32) # include <win32thread.h> # elif defined(OS2) # include "os2thread.h" # elif defined(I_MACH_CTHREADS) # include <mach/cthreads.h> typedef cthread_t perl_os_thread; typedef mutex_t perl_mutex; typedef condition_t perl_cond; typedef void * perl_key; # elif defined(I_PTHREAD) /* Posix threads */ # include <pthread.h> typedef pthread_t perl_os_thread; typedef pthread_mutex_t PERL_TSA_CAPABILITY("mutex") perl_mutex; typedef pthread_cond_t perl_cond; typedef pthread_key_t perl_key; # endif #endif /* USE_ITHREADS */ #ifdef PERL_TSA_ACTIVE /* Since most pthread mutex interfaces have not been annotated, we * need to have these wrappers. The NO_TSA annotation is quite ugly * but it cannot be avoided in plain C, unlike in C++, where one could * e.g. use ACQUIRE() with no arg on a mutex lock method. * * The bodies of these wrappers are in util.c * * TODO: however, some platforms are starting to get these clang * thread safety annotations for pthreads, for example FreeBSD. * Do we need a way to a bypass these wrappers? */ EXTERN_C int perl_tsa_mutex_lock(perl_mutex* mutex) PERL_TSA_ACQUIRE(*mutex) PERL_TSA_NO_TSA; EXTERN_C int perl_tsa_mutex_unlock(perl_mutex* mutex) PERL_TSA_RELEASE(*mutex) PERL_TSA_NO_TSA; #endif #if defined(WIN32) # include "win32.h" #endif #ifdef NETWARE # include "netware.h" #endif #define STATUS_UNIX PL_statusvalue #ifdef VMS # define STATUS_NATIVE PL_statusvalue_vms /* * vaxc$errno is only guaranteed to be valid if errno == EVMSERR, otherwise * its contents can not be trusted. Unfortunately, Perl seems to check * it on exit, so it when PL_statusvalue_vms is updated, vaxc$errno should * be updated also. */ # include <stsdef.h> # include <ssdef.h> /* Presume this because if VMS changes it, it will require a new * set of APIs for waiting on children for binary compatibility. */ # define child_offset_bits (8) # ifndef C_FAC_POSIX # define C_FAC_POSIX 0x35A000 # endif /* STATUS_EXIT - validates and returns a NATIVE exit status code for the * platform from the existing UNIX or Native status values. */ # define STATUS_EXIT \ (((I32)PL_statusvalue_vms == -1 ? SS$_ABORT : PL_statusvalue_vms) | \ (VMSISH_HUSHED ? STS$M_INHIB_MSG : 0)) /* STATUS_NATIVE_CHILD_SET - Calculate UNIX status that matches the child * exit code and shifts the UNIX value over the correct number of bits to * be a child status. Usually the number of bits is 8, but that could be * platform dependent. The NATIVE status code is presumed to have either * from a child process. */ /* This is complicated. The child processes return a true native VMS status which must be saved. But there is an assumption in Perl that the UNIX child status has some relationship to errno values, so Perl tries to translate it to text in some of the tests. In order to get the string translation correct, for the error, errno must be EVMSERR, but that generates a different text message than what the test programs are expecting. So an errno value must be derived from the native status value when an error occurs. That will hide the true native status message. With this version of perl, the true native child status can always be retrieved so that is not a problem. But in this case, Pl_statusvalue and errno may have different values in them. */ # define STATUS_NATIVE_CHILD_SET(n) \ STMT_START { \ I32 evalue = (I32)n; \ if (evalue == EVMSERR) { \ PL_statusvalue_vms = vaxc$errno; \ PL_statusvalue = evalue; \ } else { \ PL_statusvalue_vms = evalue; \ if (evalue == -1) { \ PL_statusvalue = -1; \ PL_statusvalue_vms = SS$_ABORT; /* Should not happen */ \ } else \ PL_statusvalue = Perl_vms_status_to_unix(evalue, 1); \ set_vaxc_errno(evalue); \ if ((PL_statusvalue_vms & C_FAC_POSIX) == C_FAC_POSIX) \ set_errno(EVMSERR); \ else set_errno(Perl_vms_status_to_unix(evalue, 0)); \ PL_statusvalue = PL_statusvalue << child_offset_bits; \ } \ } STMT_END # ifdef VMSISH_STATUS # define STATUS_CURRENT (VMSISH_STATUS ? STATUS_NATIVE : STATUS_UNIX) # else # define STATUS_CURRENT STATUS_UNIX # endif /* STATUS_UNIX_SET - takes a UNIX/POSIX errno value and attempts to update * the NATIVE status to an equivalent value. Can not be used to translate * exit code values as exit code values are not guaranteed to have any * relationship at all to errno values. * This is used when Perl is forcing errno to have a specific value. */ # define STATUS_UNIX_SET(n) \ STMT_START { \ I32 evalue = (I32)n; \ PL_statusvalue = evalue; \ if (PL_statusvalue != -1) { \ if (PL_statusvalue != EVMSERR) { \ PL_statusvalue &= 0xFFFF; \ if (MY_POSIX_EXIT) \ PL_statusvalue_vms=PL_statusvalue ? SS$_ABORT : SS$_NORMAL;\ else PL_statusvalue_vms = Perl_unix_status_to_vms(evalue); \ } \ else { \ PL_statusvalue_vms = vaxc$errno; \ } \ } \ else PL_statusvalue_vms = SS$_ABORT; \ set_vaxc_errno(PL_statusvalue_vms); \ } STMT_END /* STATUS_UNIX_EXIT_SET - Takes a UNIX/POSIX exit code and sets * the NATIVE error status based on it. * * When in the default mode to comply with the Perl VMS documentation, * 0 is a success and any other code sets the NATIVE status to a failure * code of SS$_ABORT. * * In the new POSIX EXIT mode, native status will be set so that the * actual exit code will can be retrieved by the calling program or * shell. * * If the exit code is not clearly a UNIX parent or child exit status, * it will be passed through as a VMS status. */ # define STATUS_UNIX_EXIT_SET(n) \ STMT_START { \ I32 evalue = (I32)n; \ PL_statusvalue = evalue; \ if (MY_POSIX_EXIT) { \ if (evalue <= 0xFF00) { \ if (evalue > 0xFF) \ evalue = (evalue >> child_offset_bits) & 0xFF; \ PL_statusvalue_vms = \ (C_FAC_POSIX | (evalue << 3 ) | \ ((evalue == 1) ? (STS$K_ERROR | STS$M_INHIB_MSG) : 1)); \ } else /* forgive them Perl, for they have sinned */ \ PL_statusvalue_vms = evalue; \ } else { \ if (evalue == 0) \ PL_statusvalue_vms = SS$_NORMAL; \ else if (evalue <= 0xFF00) \ PL_statusvalue_vms = SS$_ABORT; \ else { /* forgive them Perl, for they have sinned */ \ if (evalue != EVMSERR) PL_statusvalue_vms = evalue; \ else PL_statusvalue_vms = vaxc$errno; \ /* And obviously used a VMS status value instead of UNIX */ \ PL_statusvalue = EVMSERR; \ } \ set_vaxc_errno(PL_statusvalue_vms); \ } \ } STMT_END /* STATUS_EXIT_SET - Takes a NATIVE/UNIX/POSIX exit code * and sets the NATIVE error status based on it. This special case * is needed to maintain compatibility with past VMS behavior. * * In the default mode on VMS, this number is passed through as * both the NATIVE and UNIX status. Which makes it different * that the STATUS_UNIX_EXIT_SET. * * In the new POSIX EXIT mode, native status will be set so that the * actual exit code will can be retrieved by the calling program or * shell. * * A POSIX exit code is from 0 to 255. If the exit code is higher * than this, it needs to be assumed that it is a VMS exit code and * passed through. */ # define STATUS_EXIT_SET(n) \ STMT_START { \ I32 evalue = (I32)n; \ PL_statusvalue = evalue; \ if (MY_POSIX_EXIT) \ if (evalue > 255) PL_statusvalue_vms = evalue; else { \ PL_statusvalue_vms = \ (C_FAC_POSIX | (evalue << 3 ) | \ ((evalue == 1) ? (STS$K_ERROR | STS$M_INHIB_MSG) : 1));} \ else \ PL_statusvalue_vms = evalue ? evalue : SS$_NORMAL; \ set_vaxc_errno(PL_statusvalue_vms); \ } STMT_END /* This macro forces a success status */ # define STATUS_ALL_SUCCESS \ (PL_statusvalue = 0, PL_statusvalue_vms = SS$_NORMAL) /* This macro forces a failure status */ # define STATUS_ALL_FAILURE (PL_statusvalue = 1, \ vaxc$errno = PL_statusvalue_vms = MY_POSIX_EXIT ? \ (C_FAC_POSIX | (1 << 3) | STS$K_ERROR | STS$M_INHIB_MSG) : SS$_ABORT) #elif defined(__amigaos4__) /* A somewhat experimental attempt to simulate posix return code values */ # define STATUS_NATIVE PL_statusvalue_posix # define STATUS_NATIVE_CHILD_SET(n) \ STMT_START { \ PL_statusvalue_posix = (n); \ if (PL_statusvalue_posix < 0) { \ PL_statusvalue = -1; \ } \ else { \ PL_statusvalue = n << 8; \ } \ } STMT_END # define STATUS_UNIX_SET(n) \ STMT_START { \ PL_statusvalue = (n); \ if (PL_statusvalue != -1) \ PL_statusvalue &= 0xFFFF; \ } STMT_END # define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n) # define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n) # define STATUS_CURRENT STATUS_UNIX # define STATUS_EXIT STATUS_UNIX # define STATUS_ALL_SUCCESS (PL_statusvalue = 0, PL_statusvalue_posix = 0) # define STATUS_ALL_FAILURE (PL_statusvalue = 1, PL_statusvalue_posix = 1) #else # define STATUS_NATIVE PL_statusvalue_posix # if defined(WCOREDUMP) # define STATUS_NATIVE_CHILD_SET(n) \ STMT_START { \ PL_statusvalue_posix = (n); \ if (PL_statusvalue_posix == -1) \ PL_statusvalue = -1; \ else { \ PL_statusvalue = \ (WIFEXITED(PL_statusvalue_posix) ? (WEXITSTATUS(PL_statusvalue_posix) << 8) : 0) | \ (WIFSIGNALED(PL_statusvalue_posix) ? (WTERMSIG(PL_statusvalue_posix) & 0x7F) : 0) | \ (WIFSIGNALED(PL_statusvalue_posix) && WCOREDUMP(PL_statusvalue_posix) ? 0x80 : 0); \ } \ } STMT_END # elif defined(WIFEXITED) # define STATUS_NATIVE_CHILD_SET(n) \ STMT_START { \ PL_statusvalue_posix = (n); \ if (PL_statusvalue_posix == -1) \ PL_statusvalue = -1; \ else { \ PL_statusvalue = \ (WIFEXITED(PL_statusvalue_posix) ? (WEXITSTATUS(PL_statusvalue_posix) << 8) : 0) | \ (WIFSIGNALED(PL_statusvalue_posix) ? (WTERMSIG(PL_statusvalue_posix) & 0x7F) : 0); \ } \ } STMT_END # else # define STATUS_NATIVE_CHILD_SET(n) \ STMT_START { \ PL_statusvalue_posix = (n); \ if (PL_statusvalue_posix == -1) \ PL_statusvalue = -1; \ else { \ PL_statusvalue = \ PL_statusvalue_posix & 0xFFFF; \ } \ } STMT_END # endif # define STATUS_UNIX_SET(n) \ STMT_START { \ PL_statusvalue = (n); \ if (PL_statusvalue != -1) \ PL_statusvalue &= 0xFFFF; \ } STMT_END # define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n) # define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n) # define STATUS_CURRENT STATUS_UNIX # define STATUS_EXIT STATUS_UNIX # define STATUS_ALL_SUCCESS (PL_statusvalue = 0, PL_statusvalue_posix = 0) # define STATUS_ALL_FAILURE (PL_statusvalue = 1, PL_statusvalue_posix = 1) #endif /* flags in PL_exit_flags for nature of exit() */ #define PERL_EXIT_EXPECTED 0x01 #define PERL_EXIT_DESTRUCT_END 0x02 /* Run END in perl_destruct */ #define PERL_EXIT_WARN 0x04 /* Warn if Perl_my_exit() or Perl_my_failure_exit() called */ #define PERL_EXIT_ABORT 0x08 /* Call abort() if Perl_my_exit() or Perl_my_failure_exit() called */ #ifndef PERL_CORE /* format to use for version numbers in file/directory names */ /* XXX move to Configure? */ /* This was only ever used for the current version, and that can be done at compile time, as PERL_FS_VERSION, so should we just delete it? */ # ifndef PERL_FS_VER_FMT # define PERL_FS_VER_FMT "%d.%d.%d" # endif #endif #ifndef PERL_FS_VERSION # define PERL_FS_VERSION PERL_VERSION_STRING #endif /* This defines a way to flush all output buffers. This may be a * performance issue, so we allow people to disable it. Also, if * we are using stdio, there are broken implementations of fflush(NULL) * out there, Solaris being the most prominent. */ #ifndef PERL_FLUSHALL_FOR_CHILD # if defined(USE_PERLIO) || defined(FFLUSH_NULL) # define PERL_FLUSHALL_FOR_CHILD PerlIO_flush((PerlIO*)NULL) # elif defined(FFLUSH_ALL) # define PERL_FLUSHALL_FOR_CHILD my_fflush_all() # else # define PERL_FLUSHALL_FOR_CHILD NOOP # endif #endif #ifndef PERL_WAIT_FOR_CHILDREN # define PERL_WAIT_FOR_CHILDREN NOOP #endif /* the traditional thread-unsafe notion of "current interpreter". */ #ifndef PERL_SET_INTERP # define PERL_SET_INTERP(i) (PL_curinterp = (PerlInterpreter*)(i)) #endif #ifndef PERL_GET_INTERP # define PERL_GET_INTERP (PL_curinterp) #endif #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_GET_THX) # ifdef MULTIPLICITY # define PERL_GET_THX ((PerlInterpreter *)PERL_GET_CONTEXT) # endif # define PERL_SET_THX(t) PERL_SET_CONTEXT(t) #endif /* This replaces the previous %_ "hack" by the "%p" hacks. All that is required is that the perl source does not use "%-p" or "%-<number>p" or "%<number>p" formats. These formats will still work in perl code. See comments in sv.c for further details. Robin Barker 2005-07-14 No longer use %1p for VDf = %vd. RMB 2007-10-19 */ #ifndef SVf_ # define SVf_(n) "-" STRINGIFY(n) "p" #endif #ifndef SVf # define SVf "-p" #endif #ifndef SVf32 # define SVf32 SVf_(32) #endif #ifndef SVf256 # define SVf256 SVf_(256) #endif #define SVfARG(p) ((void*)(p)) #ifndef HEKf # define HEKf "2p" #endif /* Not ideal, but we cannot easily include a number in an already-numeric * format sequence. */ #ifndef HEKf256 # define HEKf256 "3p" #endif #define HEKfARG(p) ((void*)(p)) /* =for apidoc Amnh||UTF8f =for apidoc Amh||UTF8fARG|bool is_utf8|Size_t byte_len|char *str =cut * %4p is a custom format */ #ifndef UTF8f # define UTF8f "d%" UVuf "%4p" #endif #define UTF8fARG(u,l,p) (int)cBOOL(u), (UV)(l), (void*)(p) #define PNf UTF8f #define PNfARG(pn) (int)1, (UV)PadnameLEN(pn), (void *)PadnamePV(pn) #ifdef PERL_CORE /* not used; but needed for backward compatibility with XS code? - RMB */ # undef UVf #elif !defined(UVf) # define UVf UVuf #endif #if !defined(DEBUGGING) && !defined(NDEBUG) # define NDEBUG 1 #endif #include <assert.h> /* For functions that are marked as __attribute__noreturn__, it's not appropriate to call return. In either case, include the lint directive. */ #ifdef HASATTRIBUTE_NORETURN # define NORETURN_FUNCTION_END NOT_REACHED; #else # define NORETURN_FUNCTION_END NOT_REACHED; return 0 #endif #ifdef HAS_BUILTIN_EXPECT # define EXPECT(expr,val) __builtin_expect(expr,val) #else # define EXPECT(expr,val) (expr) #endif /* =head1 Miscellaneous Functions =for apidoc AmU|bool|LIKELY|const bool expr Returns the input unchanged, but at the same time it gives a branch prediction hint to the compiler that this condition is likely to be true. =for apidoc AmU|bool|UNLIKELY|const bool expr Returns the input unchanged, but at the same time it gives a branch prediction hint to the compiler that this condition is likely to be false. =cut */ #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE) #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) #ifdef HAS_BUILTIN_CHOOSE_EXPR /* placeholder */ #endif /* STATIC_ASSERT_DECL/STATIC_ASSERT_STMT are like assert(), but for compile time invariants. That is, their argument must be a constant expression that can be verified by the compiler. This expression can contain anything that's known to the compiler, e.g. #define constants, enums, or sizeof (...). If the expression evaluates to 0, compilation fails. Because they generate no runtime code (i.e. their use is "free"), they're always active, even under non-DEBUGGING builds. STATIC_ASSERT_DECL expands to a declaration and is suitable for use at file scope (outside of any function). STATIC_ASSERT_STMT expands to a statement and is suitable for use inside a function. */ #if (! defined(__IBMC__) || __IBMC__ >= 1210) \ && (( defined(static_assert) && ( defined(_ISOC11_SOURCE) \ || (__STDC_VERSION__ - 0) >= 201101L)) \ || (defined(__cplusplus) && __cplusplus >= 201103L)) /* XXX static_assert is a macro defined in <assert.h> in C11 or a compiler builtin in C++11. But IBM XL C V11 does not support _Static_assert, no matter what <assert.h> says. */ # define STATIC_ASSERT_DECL(COND) static_assert(COND, #COND) #else /* We use a bit-field instead of an array because gcc accepts 'typedef char x[n]' where n is not a compile-time constant. We want to enforce constantness. */ # define STATIC_ASSERT_2(COND, SUFFIX) \ typedef struct { \ unsigned int _static_assertion_failed_##SUFFIX : (COND) ? 1 : -1; \ } _static_assertion_failed_##SUFFIX PERL_UNUSED_DECL # define STATIC_ASSERT_1(COND, SUFFIX) STATIC_ASSERT_2(COND, SUFFIX) # define STATIC_ASSERT_DECL(COND) STATIC_ASSERT_1(COND, __LINE__) #endif /* We need this wrapper even in C11 because 'case X: static_assert(...);' is an error (static_assert is a declaration, and only statements can have labels). */ #define STATIC_ASSERT_STMT(COND) STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END #ifndef __has_builtin # define __has_builtin(x) 0 /* not a clang style compiler */ #endif /* ASSUME is like assert(), but it has a benefit in a release build. It is a hint to a compiler about a statement of fact in a function call free expression, which allows the compiler to generate better machine code. In a debug build, ASSUME(x) is a synonym for assert(x). ASSUME(0) means the control path is unreachable. In a for loop, ASSUME can be used to hint that a loop will run at least X times. ASSUME is based off MSVC's __assume intrinsic function, see its documents for more details. */ #ifndef DEBUGGING # if __has_builtin(__builtin_unreachable) \ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5 || __GNUC__ > 4) /* 4.5 -> */ # define ASSUME(x) ((x) ? (void) 0 : __builtin_unreachable()) # elif defined(_MSC_VER) # define ASSUME(x) __assume(x) # elif defined(__ARMCC_VERSION) /* untested */ # define ASSUME(x) __promise(x) # else /* a random compiler might define assert to its own special optimization token so pass it through to C lib as a last resort */ # define ASSUME(x) assert(x) # endif #else # define ASSUME(x) assert(x) #endif #if defined(__sun) /* ASSUME() generates warnings on Solaris */ # define NOT_REACHED #elif defined(DEBUGGING) && (__has_builtin(__builtin_unreachable) \ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5 || __GNUC__ > 4)) /* 4.5 -> */ # define NOT_REACHED STMT_START { ASSUME(!"UNREACHABLE"); __builtin_unreachable(); } STMT_END #else # define NOT_REACHED ASSUME(!"UNREACHABLE") #endif /* Some unistd.h's give a prototype for pause() even though HAS_PAUSE ends up undefined. This causes the #define below to be rejected by the compiler. Sigh. */ #ifdef HAS_PAUSE #define Pause pause #else #define Pause() sleep((32767<<16)+32767) #endif #ifndef IOCPARM_LEN # ifdef IOCPARM_MASK /* on BSDish systems we're safe */ # define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK) # elif defined(_IOC_SIZE) && defined(__GLIBC__) /* on Linux systems we're safe; except when we're not [perl #38223] */ # define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x)) # else /* otherwise guess at what's safe */ # define IOCPARM_LEN(x) 256 # endif #endif #if defined(__CYGWIN__) /* USEMYBINMODE * This symbol, if defined, indicates that the program should * use the routine my_binmode(FILE *fp, char iotype, int mode) to insure * that a file is in "binary" mode -- that is, that no translation * of bytes occurs on read or write operations. */ # define USEMYBINMODE /**/ # include <io.h> /* for setmode() prototype */ # define my_binmode(fp, iotype, mode) \ cBOOL(PerlLIO_setmode(fileno(fp), mode) != -1) #endif #ifdef __CYGWIN__ void init_os_extras(void); #endif #ifdef UNION_ANY_DEFINITION UNION_ANY_DEFINITION; #else union any { void* any_ptr; SV* any_sv; SV** any_svp; GV* any_gv; AV* any_av; HV* any_hv; OP* any_op; char* any_pv; char** any_pvp; I32 any_i32; U32 any_u32; IV any_iv; UV any_uv; long any_long; bool any_bool; void (*any_dptr) (void*); void (*any_dxptr) (pTHX_ void*); }; #endif typedef I32 (*filter_t) (pTHX_ int, SV *, int); #define FILTER_READ(idx, sv, len) filter_read(idx, sv, len) #define FILTER_DATA(idx) \ (PL_parser ? AvARRAY(PL_parser->rsfp_filters)[idx] : NULL) #define FILTER_ISREADER(idx) \ (PL_parser && PL_parser->rsfp_filters \ && idx >= AvFILLp(PL_parser->rsfp_filters)) #define PERL_FILTER_EXISTS(i) \ (PL_parser && PL_parser->rsfp_filters \ && (i) <= av_tindex(PL_parser->rsfp_filters)) #if defined(_AIX) && !defined(_AIX43) #if defined(USE_REENTRANT) || defined(_REENTRANT) || defined(_THREAD_SAFE) /* We cannot include <crypt.h> to get the struct crypt_data * because of setkey prototype problems when threading */ typedef struct crypt_data { /* straight from /usr/include/crypt.h */ /* From OSF, Not needed in AIX char C[28], D[28]; */ char E[48]; char KS[16][48]; char block[66]; char iobuf[16]; } CRYPTD; #endif /* threading */ #endif /* AIX */ #ifndef PERL_CALLCONV # ifdef __cplusplus # define PERL_CALLCONV extern "C" # else # define PERL_CALLCONV # endif #endif #ifndef PERL_CALLCONV_NO_RET # define PERL_CALLCONV_NO_RET PERL_CALLCONV #endif /* PERL_STATIC_NO_RET is supposed to be equivalent to STATIC on builds that dont have a noreturn as a declaration specifier */ #ifndef PERL_STATIC_NO_RET # define PERL_STATIC_NO_RET STATIC #endif /* PERL_STATIC_NO_RET is supposed to be equivalent to PERL_STATIC_INLINE on builds that dont have a noreturn as a declaration specifier */ #ifndef PERL_STATIC_INLINE_NO_RET # define PERL_STATIC_INLINE_NO_RET PERL_STATIC_INLINE #endif #ifndef PERL_STATIC_FORCE_INLINE # define PERL_STATIC_FORCE_INLINE PERL_STATIC_INLINE #endif #ifndef PERL_STATIC_FORCE_INLINE_NO_RET # define PERL_STATIC_FORCE_INLINE_NO_RET PERL_STATIC_INLINE #endif #if !defined(OS2) # include "iperlsys.h" #endif #ifdef __LIBCATAMOUNT__ #undef HAS_PASSWD /* unixish.h but not unixish enough. */ #undef HAS_GROUP #define FAKE_BIT_BUCKET #endif /* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0. * Note that the USE_HASH_SEED and similar defines are *NOT* defined by * Configure, despite their names being similar to other defines like * USE_ITHREADS. Configure in fact knows nothing about the randomised * hashes. Therefore to enable/disable the hash randomisation defines * use the Configure -Accflags=... instead. */ #if !defined(NO_HASH_SEED) && !defined(USE_HASH_SEED) # define USE_HASH_SEED #endif #include "perly.h" /* macros to define bit-fields in structs. */ #ifndef PERL_BITFIELD8 # define PERL_BITFIELD8 U8 #endif #ifndef PERL_BITFIELD16 # define PERL_BITFIELD16 U16 #endif #ifndef PERL_BITFIELD32 # define PERL_BITFIELD32 U32 #endif #include "sv.h" #include "regexp.h" #include "util.h" #include "form.h" #include "gv.h" #include "pad.h" #include "cv.h" #include "opnames.h" #include "op.h" #include "hv.h" #include "cop.h" #include "av.h" #include "mg.h" #include "scope.h" #include "warnings.h" #include "utf8.h" /* these would be in doio.h if there was such a file */ #define my_stat() my_stat_flags(SV_GMAGIC) #define my_lstat() my_lstat_flags(SV_GMAGIC) /* defined in sv.c, but also used in [ach]v.c */ #undef _XPV_HEAD #undef _XPVMG_HEAD #undef _XPVCV_COMMON #include "parser.h" typedef struct magic_state MGS; /* struct magic_state defined in mg.c */ #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) /* These have to be predeclared, as they are used in proto.h which is #included * before their definitions in regcomp.h. */ struct scan_data_t; typedef struct regnode_charclass regnode_charclass; /* A hopefully less confusing name. The sub-classes are all Posix classes only * used under /l matching */ typedef struct regnode_charclass_posixl regnode_charclass_class; typedef struct regnode_charclass_posixl regnode_charclass_posixl; typedef struct regnode_ssc regnode_ssc; typedef struct RExC_state_t RExC_state_t; struct _reg_trie_data; #endif struct ptr_tbl_ent { struct ptr_tbl_ent* next; const void* oldval; void* newval; }; struct ptr_tbl { struct ptr_tbl_ent** tbl_ary; UV tbl_max; UV tbl_items; struct ptr_tbl_arena *tbl_arena; struct ptr_tbl_ent *tbl_arena_next; struct ptr_tbl_ent *tbl_arena_end; }; #if defined(htonl) && !defined(HAS_HTONL) #define HAS_HTONL #endif #if defined(htons) && !defined(HAS_HTONS) #define HAS_HTONS #endif #if defined(ntohl) && !defined(HAS_NTOHL) #define HAS_NTOHL #endif #if defined(ntohs) && !defined(HAS_NTOHS) #define HAS_NTOHS #endif #ifndef HAS_HTONL #define HAS_HTONS #define HAS_HTONL #define HAS_NTOHS #define HAS_NTOHL # if (BYTEORDER & 0xffff) == 0x4321 /* Big endian system, so ntohl, ntohs, htonl and htons do not need to re-order their values. However, to behave identically to the alternative implementations, they should truncate to the correct size. */ # define ntohl(x) ((x)&0xFFFFFFFF) # define htonl(x) ntohl(x) # define ntohs(x) ((x)&0xFFFF) # define htons(x) ntohs(x) # elif BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* Note that we can't straight out declare our own htonl and htons because the Win32 build process forcibly undefines HAS_HTONL etc for its miniperl, to avoid the overhead of initialising the socket subsystem, but the headers that *declare* the various functions are still seen. If we declare our own htonl etc they will clash with the declarations in the Win32 headers. */ PERL_STATIC_INLINE U32 my_swap32(const U32 x) { return ((x & 0xFF) << 24) | ((x >> 24) & 0xFF) | ((x & 0x0000FF00) << 8) | ((x & 0x00FF0000) >> 8); } PERL_STATIC_INLINE U16 my_swap16(const U16 x) { return ((x & 0xFF) << 8) | ((x >> 8) & 0xFF); } # define htonl(x) my_swap32(x) # define ntohl(x) my_swap32(x) # define ntohs(x) my_swap16(x) # define htons(x) my_swap16(x) # else # error "Unsupported byteorder" /* The C pre-processor doesn't let us return the value of BYTEORDER as part of the error message. Please check the value of the macro BYTEORDER, as defined in config.h. The values of BYTEORDER we expect are big endian little endian 32 bit 0x4321 0x1234 64 bit 0x87654321 0x12345678 If you have a system with a different byte order, please see pod/perlhack.pod for how to submit a patch to add supporting code. */ # endif #endif /* * Little-endian byte order functions - 'v' for 'VAX', or 'reVerse'. * -DWS */ #if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 /* Little endian system, so vtohl, vtohs, htovl and htovs do not need to re-order their values. However, to behave identically to the alternative implementations, they should truncate to the correct size. */ # define vtohl(x) ((x)&0xFFFFFFFF) # define vtohs(x) ((x)&0xFFFF) # define htovl(x) vtohl(x) # define htovs(x) vtohs(x) #elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321 # define vtohl(x) ((((x)&0xFF)<<24) \ +(((x)>>24)&0xFF) \ +(((x)&0x0000FF00)<<8) \ +(((x)&0x00FF0000)>>8) ) # define vtohs(x) ((((x)&0xFF)<<8) + (((x)>>8)&0xFF)) # define htovl(x) vtohl(x) # define htovs(x) vtohs(x) #else # error "Unsupported byteorder" /* If you have need for current perl on PDP-11 or similar, and can help test that blead keeps working on a mixed-endian system, then see pod/perlhack.pod for how to submit patches to things working again. */ #endif /* *MAX Plus 1. A floating point value. Hopefully expressed in a way that dodgy floating point can't mess up. >> 2 rather than 1, so that value is safely less than I32_MAX after 1 is added to it May find that some broken compiler will want the value cast to I32. [after the shift, as signed >> may not be as secure as unsigned >>] */ #define I32_MAX_P1 (2.0 * (1 + (((U32)I32_MAX) >> 1))) #define U32_MAX_P1 (4.0 * (1 + ((U32_MAX) >> 2))) /* For compilers that can't correctly cast NVs over 0x7FFFFFFF (or 0x7FFFFFFFFFFFFFFF) to an unsigned integer. In the future, sizeof(UV) may be greater than sizeof(IV), so don't assume that half max UV is max IV. */ #define U32_MAX_P1_HALF (2.0 * (1 + ((U32_MAX) >> 2))) #define UV_MAX_P1 (4.0 * (1 + ((UV_MAX) >> 2))) #define IV_MAX_P1 (2.0 * (1 + (((UV)IV_MAX) >> 1))) #define UV_MAX_P1_HALF (2.0 * (1 + ((UV_MAX) >> 2))) /* This may look like unnecessary jumping through hoops, but converting out of range floating point values to integers *is* undefined behaviour, and it is starting to bite. */ #ifndef CAST_INLINE #define I_32(what) (cast_i32((NV)(what))) #define U_32(what) (cast_ulong((NV)(what))) #define I_V(what) (cast_iv((NV)(what))) #define U_V(what) (cast_uv((NV)(what))) #else #define I_32(n) ((n) < I32_MAX_P1 ? ((n) < I32_MIN ? I32_MIN : (I32) (n)) \ : ((n) < U32_MAX_P1 ? (I32)(U32) (n) \ : ((n) > 0 ? (I32) U32_MAX : 0 /* NaN */))) #define U_32(n) ((n) < 0.0 ? ((n) < I32_MIN ? (UV) I32_MIN : (U32)(I32) (n)) \ : ((n) < U32_MAX_P1 ? (U32) (n) \ : ((n) > 0 ? U32_MAX : 0 /* NaN */))) #define I_V(n) (LIKELY((n) < IV_MAX_P1) ? (UNLIKELY((n) < IV_MIN) ? IV_MIN : (IV) (n)) \ : (LIKELY((n) < UV_MAX_P1) ? (IV)(UV) (n) \ : ((n) > 0 ? (IV)UV_MAX : 0 /* NaN */))) #define U_V(n) ((n) < 0.0 ? (UNLIKELY((n) < IV_MIN) ? (UV) IV_MIN : (UV)(IV) (n)) \ : (LIKELY((n) < UV_MAX_P1) ? (UV) (n) \ : ((n) > 0 ? UV_MAX : 0 /* NaN */))) #endif #define U_S(what) ((U16)U_32(what)) #define U_I(what) ((unsigned int)U_32(what)) #define U_L(what) U_32(what) #ifdef HAS_SIGNBIT # ifndef Perl_signbit # define Perl_signbit signbit # endif #endif /* These do not care about the fractional part, only about the range. */ #define NV_WITHIN_IV(nv) (I_V(nv) >= IV_MIN && I_V(nv) <= IV_MAX) #define NV_WITHIN_UV(nv) ((nv)>=0.0 && U_V(nv) >= UV_MIN && U_V(nv) <= UV_MAX) /* Used with UV/IV arguments: */ /* XXXX: need to speed it up */ #define CLUMP_2UV(iv) ((iv) < 0 ? 0 : (UV)(iv)) #define CLUMP_2IV(uv) ((uv) > (UV)IV_MAX ? IV_MAX : (IV)(uv)) #ifndef MAXSYSFD # define MAXSYSFD 2 #endif #ifndef __cplusplus #if !(defined(WIN32) || defined(SYMBIAN)) Uid_t getuid (void); Uid_t geteuid (void); Gid_t getgid (void); Gid_t getegid (void); #endif #endif #ifndef Perl_debug_log # define Perl_debug_log PerlIO_stderr() #endif #ifndef Perl_error_log # define Perl_error_log (PL_stderrgv \ && isGV(PL_stderrgv) \ && GvIOp(PL_stderrgv) \ && IoOFP(GvIOp(PL_stderrgv)) \ ? IoOFP(GvIOp(PL_stderrgv)) \ : PerlIO_stderr()) #endif #define DEBUG_p_FLAG 0x00000001 /* 1 */ #define DEBUG_s_FLAG 0x00000002 /* 2 */ #define DEBUG_l_FLAG 0x00000004 /* 4 */ #define DEBUG_t_FLAG 0x00000008 /* 8 */ #define DEBUG_o_FLAG 0x00000010 /* 16 */ #define DEBUG_c_FLAG 0x00000020 /* 32 */ #define DEBUG_P_FLAG 0x00000040 /* 64 */ #define DEBUG_m_FLAG 0x00000080 /* 128 */ #define DEBUG_f_FLAG 0x00000100 /* 256 */ #define DEBUG_r_FLAG 0x00000200 /* 512 */ #define DEBUG_x_FLAG 0x00000400 /* 1024 */ #define DEBUG_u_FLAG 0x00000800 /* 2048 */ /* U is reserved for Unofficial, exploratory hacking */ #define DEBUG_U_FLAG 0x00001000 /* 4096 */ /* spare 8192 */ #define DEBUG_X_FLAG 0x00004000 /* 16384 */ #define DEBUG_D_FLAG 0x00008000 /* 32768 */ #define DEBUG_S_FLAG 0x00010000 /* 65536 */ #define DEBUG_T_FLAG 0x00020000 /* 131072 */ #define DEBUG_R_FLAG 0x00040000 /* 262144 */ #define DEBUG_J_FLAG 0x00080000 /* 524288 */ #define DEBUG_v_FLAG 0x00100000 /*1048576 */ #define DEBUG_C_FLAG 0x00200000 /*2097152 */ #define DEBUG_A_FLAG 0x00400000 /*4194304 */ #define DEBUG_q_FLAG 0x00800000 /*8388608 */ #define DEBUG_M_FLAG 0x01000000 /*16777216*/ #define DEBUG_B_FLAG 0x02000000 /*33554432*/ #define DEBUG_L_FLAG 0x04000000 /*67108864*/ #define DEBUG_i_FLAG 0x08000000 /*134217728*/ #define DEBUG_y_FLAG 0x10000000 /*268435456*/ #define DEBUG_MASK 0x1FFFEFFF /* mask of all the standard flags */ #define DEBUG_DB_RECURSE_FLAG 0x40000000 #define DEBUG_TOP_FLAG 0x80000000 /* -D was given --> PL_debug |= FLAG */ # define DEBUG_p_TEST_ UNLIKELY(PL_debug & DEBUG_p_FLAG) # define DEBUG_s_TEST_ UNLIKELY(PL_debug & DEBUG_s_FLAG) # define DEBUG_l_TEST_ UNLIKELY(PL_debug & DEBUG_l_FLAG) # define DEBUG_t_TEST_ UNLIKELY(PL_debug & DEBUG_t_FLAG) # define DEBUG_o_TEST_ UNLIKELY(PL_debug & DEBUG_o_FLAG) # define DEBUG_c_TEST_ UNLIKELY(PL_debug & DEBUG_c_FLAG) # define DEBUG_P_TEST_ UNLIKELY(PL_debug & DEBUG_P_FLAG) # define DEBUG_m_TEST_ UNLIKELY(PL_debug & DEBUG_m_FLAG) # define DEBUG_f_TEST_ UNLIKELY(PL_debug & DEBUG_f_FLAG) # define DEBUG_r_TEST_ UNLIKELY(PL_debug & DEBUG_r_FLAG) # define DEBUG_x_TEST_ UNLIKELY(PL_debug & DEBUG_x_FLAG) # define DEBUG_u_TEST_ UNLIKELY(PL_debug & DEBUG_u_FLAG) # define DEBUG_U_TEST_ UNLIKELY(PL_debug & DEBUG_U_FLAG) # define DEBUG_X_TEST_ UNLIKELY(PL_debug & DEBUG_X_FLAG) # define DEBUG_D_TEST_ UNLIKELY(PL_debug & DEBUG_D_FLAG) # define DEBUG_S_TEST_ UNLIKELY(PL_debug & DEBUG_S_FLAG) # define DEBUG_T_TEST_ UNLIKELY(PL_debug & DEBUG_T_FLAG) # define DEBUG_R_TEST_ UNLIKELY(PL_debug & DEBUG_R_FLAG) # define DEBUG_J_TEST_ UNLIKELY(PL_debug & DEBUG_J_FLAG) # define DEBUG_v_TEST_ UNLIKELY(PL_debug & DEBUG_v_FLAG) # define DEBUG_C_TEST_ UNLIKELY(PL_debug & DEBUG_C_FLAG) # define DEBUG_A_TEST_ UNLIKELY(PL_debug & DEBUG_A_FLAG) # define DEBUG_q_TEST_ UNLIKELY(PL_debug & DEBUG_q_FLAG) # define DEBUG_M_TEST_ UNLIKELY(PL_debug & DEBUG_M_FLAG) # define DEBUG_B_TEST_ UNLIKELY(PL_debug & DEBUG_B_FLAG) # define DEBUG_L_TEST_ UNLIKELY(PL_debug & DEBUG_L_FLAG) # define DEBUG_i_TEST_ UNLIKELY(PL_debug & DEBUG_i_FLAG) # define DEBUG_y_TEST_ UNLIKELY(PL_debug & DEBUG_y_FLAG) # define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_) # define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_) # define DEBUG_Pv_TEST_ (DEBUG_P_TEST_ && DEBUG_v_TEST_) # define DEBUG_Lv_TEST_ (DEBUG_L_TEST_ && DEBUG_v_TEST_) # define DEBUG_yv_TEST_ (DEBUG_y_TEST_ && DEBUG_v_TEST_) #ifdef DEBUGGING # define DEBUG_p_TEST DEBUG_p_TEST_ # define DEBUG_s_TEST DEBUG_s_TEST_ # define DEBUG_l_TEST DEBUG_l_TEST_ # define DEBUG_t_TEST DEBUG_t_TEST_ # define DEBUG_o_TEST DEBUG_o_TEST_ # define DEBUG_c_TEST DEBUG_c_TEST_ # define DEBUG_P_TEST DEBUG_P_TEST_ # define DEBUG_m_TEST DEBUG_m_TEST_ # define DEBUG_f_TEST DEBUG_f_TEST_ # define DEBUG_r_TEST DEBUG_r_TEST_ # define DEBUG_x_TEST DEBUG_x_TEST_ # define DEBUG_u_TEST DEBUG_u_TEST_ # define DEBUG_U_TEST DEBUG_U_TEST_ # define DEBUG_X_TEST DEBUG_X_TEST_ # define DEBUG_D_TEST DEBUG_D_TEST_ # define DEBUG_S_TEST DEBUG_S_TEST_ # define DEBUG_T_TEST DEBUG_T_TEST_ # define DEBUG_R_TEST DEBUG_R_TEST_ # define DEBUG_J_TEST DEBUG_J_TEST_ # define DEBUG_v_TEST DEBUG_v_TEST_ # define DEBUG_C_TEST DEBUG_C_TEST_ # define DEBUG_A_TEST DEBUG_A_TEST_ # define DEBUG_q_TEST DEBUG_q_TEST_ # define DEBUG_M_TEST DEBUG_M_TEST_ # define DEBUG_B_TEST DEBUG_B_TEST_ # define DEBUG_L_TEST DEBUG_L_TEST_ # define DEBUG_i_TEST DEBUG_i_TEST_ # define DEBUG_y_TEST DEBUG_y_TEST_ # define DEBUG_Xv_TEST DEBUG_Xv_TEST_ # define DEBUG_Uv_TEST DEBUG_Uv_TEST_ # define DEBUG_Pv_TEST DEBUG_Pv_TEST_ # define DEBUG_Lv_TEST DEBUG_Lv_TEST_ # define DEBUG_yv_TEST DEBUG_yv_TEST_ # define PERL_DEB(a) a # define PERL_DEB2(a,b) a # define PERL_DEBUG(a) if (PL_debug) a # define DEBUG_p(a) if (DEBUG_p_TEST) a # define DEBUG_s(a) if (DEBUG_s_TEST) a # define DEBUG_l(a) if (DEBUG_l_TEST) a # define DEBUG_t(a) if (DEBUG_t_TEST) a # define DEBUG_o(a) if (DEBUG_o_TEST) a # define DEBUG_c(a) if (DEBUG_c_TEST) a # define DEBUG_P(a) if (DEBUG_P_TEST) a /* Temporarily turn off memory debugging in case the a * does memory allocation, either directly or indirectly. */ # define DEBUG_m(a) \ STMT_START { \ if (PERL_GET_INTERP) { \ dTHX; \ if (DEBUG_m_TEST) { \ PL_debug &= ~DEBUG_m_FLAG; \ a; \ PL_debug |= DEBUG_m_FLAG; \ } \ } \ } STMT_END # define DEBUG__(t, a) \ STMT_START { \ if (t) STMT_START {a;} STMT_END; \ } STMT_END # define DEBUG_f(a) DEBUG__(DEBUG_f_TEST, a) /* For re_comp.c, re_exec.c, assume -Dr has been specified */ # ifdef PERL_EXT_RE_BUILD # define DEBUG_r(a) STMT_START {a;} STMT_END # else # define DEBUG_r(a) DEBUG__(DEBUG_r_TEST, a) # endif /* PERL_EXT_RE_BUILD */ # define DEBUG_x(a) DEBUG__(DEBUG_x_TEST, a) # define DEBUG_u(a) DEBUG__(DEBUG_u_TEST, a) # define DEBUG_U(a) DEBUG__(DEBUG_U_TEST, a) # define DEBUG_X(a) DEBUG__(DEBUG_X_TEST, a) # define DEBUG_D(a) DEBUG__(DEBUG_D_TEST, a) # define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a) # define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a) # define DEBUG_Pv(a) DEBUG__(DEBUG_Pv_TEST, a) # define DEBUG_Lv(a) DEBUG__(DEBUG_Lv_TEST, a) # define DEBUG_yv(a) DEBUG__(DEBUG_yv_TEST, a) # define DEBUG_S(a) DEBUG__(DEBUG_S_TEST, a) # define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a) # define DEBUG_R(a) DEBUG__(DEBUG_R_TEST, a) # define DEBUG_v(a) DEBUG__(DEBUG_v_TEST, a) # define DEBUG_C(a) DEBUG__(DEBUG_C_TEST, a) # define DEBUG_A(a) DEBUG__(DEBUG_A_TEST, a) # define DEBUG_q(a) DEBUG__(DEBUG_q_TEST, a) # define DEBUG_M(a) DEBUG__(DEBUG_M_TEST, a) # define DEBUG_B(a) DEBUG__(DEBUG_B_TEST, a) # define DEBUG_L(a) DEBUG__(DEBUG_L_TEST, a) # define DEBUG_i(a) DEBUG__(DEBUG_i_TEST, a) # define DEBUG_y(a) DEBUG__(DEBUG_y_TEST, a) #else /* ! DEBUGGING below */ # define DEBUG_p_TEST (0) # define DEBUG_s_TEST (0) # define DEBUG_l_TEST (0) # define DEBUG_t_TEST (0) # define DEBUG_o_TEST (0) # define DEBUG_c_TEST (0) # define DEBUG_P_TEST (0) # define DEBUG_m_TEST (0) # define DEBUG_f_TEST (0) # define DEBUG_r_TEST (0) # define DEBUG_x_TEST (0) # define DEBUG_u_TEST (0) # define DEBUG_U_TEST (0) # define DEBUG_X_TEST (0) # define DEBUG_D_TEST (0) # define DEBUG_S_TEST (0) # define DEBUG_T_TEST (0) # define DEBUG_R_TEST (0) # define DEBUG_J_TEST (0) # define DEBUG_v_TEST (0) # define DEBUG_C_TEST (0) # define DEBUG_A_TEST (0) # define DEBUG_q_TEST (0) # define DEBUG_M_TEST (0) # define DEBUG_B_TEST (0) # define DEBUG_L_TEST (0) # define DEBUG_i_TEST (0) # define DEBUG_y_TEST (0) # define DEBUG_Xv_TEST (0) # define DEBUG_Uv_TEST (0) # define DEBUG_Pv_TEST (0) # define DEBUG_Lv_TEST (0) # define DEBUG_yv_TEST (0) # define PERL_DEB(a) # define PERL_DEB2(a,b) b # define PERL_DEBUG(a) # define DEBUG_p(a) # define DEBUG_s(a) # define DEBUG_l(a) # define DEBUG_t(a) # define DEBUG_o(a) # define DEBUG_c(a) # define DEBUG_P(a) # define DEBUG_m(a) # define DEBUG_f(a) # define DEBUG_r(a) # define DEBUG_x(a) # define DEBUG_u(a) # define DEBUG_U(a) # define DEBUG_X(a) # define DEBUG_D(a) # define DEBUG_S(a) # define DEBUG_T(a) # define DEBUG_R(a) # define DEBUG_v(a) # define DEBUG_C(a) # define DEBUG_A(a) # define DEBUG_q(a) # define DEBUG_M(a) # define DEBUG_B(a) # define DEBUG_L(a) # define DEBUG_i(a) # define DEBUG_y(a) # define DEBUG_Xv(a) # define DEBUG_Uv(a) # define DEBUG_Pv(a) # define DEBUG_Lv(a) # define DEBUG_yv(a) #endif /* DEBUGGING */ #define DEBUG_SCOPE(where) \ DEBUG_l( \ Perl_deb(aTHX_ "%s scope %ld (savestack=%ld) at %s:%d\n", \ where, (long)PL_scopestack_ix, (long)PL_savestack_ix, \ __FILE__, __LINE__)); /* Keep the old croak based assert for those who want it, and as a fallback if the platform is so heretically non-ANSI that it can't assert. */ #define Perl_assert(what) PERL_DEB2( \ ((what) ? ((void) 0) : \ (Perl_croak_nocontext("Assertion %s failed: file \"" __FILE__ \ "\", line %d", STRINGIFY(what), __LINE__), \ (void) 0)), ((void)0)) /* assert() gets defined if DEBUGGING. * If no DEBUGGING, the <assert.h> has not been included. */ #ifndef assert # define assert(what) Perl_assert(what) #endif #ifdef DEBUGGING # define assert_(what) assert(what), #else # define assert_(what) #endif struct ufuncs { I32 (*uf_val)(pTHX_ IV, SV*); I32 (*uf_set)(pTHX_ IV, SV*); IV uf_index; }; /* In pre-5.7-Perls the PERL_MAGIC_uvar magic didn't get the thread context. * XS code wanting to be backward compatible can do something * like the following: #ifndef PERL_MG_UFUNC #define PERL_MG_UFUNC(name,ix,sv) I32 name(IV ix, SV *sv) #endif static PERL_MG_UFUNC(foo_get, index, val) { sv_setsv(val, ...); return TRUE; } -- Doug MacEachern */ #ifndef PERL_MG_UFUNC #define PERL_MG_UFUNC(name,ix,sv) I32 name(pTHX_ IV ix, SV *sv) #endif #include <math.h> #ifdef __VMS /* isfinite and others are here rather than in math.h as C99 stipulates */ # include <fp.h> #endif #ifndef __cplusplus # if !defined(WIN32) && !defined(VMS) #ifndef crypt char *crypt (const char*, const char*); #endif # endif /* !WIN32 */ # ifndef WIN32 # ifndef getlogin char *getlogin (void); # endif # endif /* !WIN32 */ #endif /* !__cplusplus */ /* Fixme on VMS. This needs to be a run-time, not build time options */ /* Also rename() is affected by this */ #ifdef UNLINK_ALL_VERSIONS /* Currently only makes sense for VMS */ #define UNLINK unlnk I32 unlnk (pTHX_ const char*); #else #define UNLINK PerlLIO_unlink #endif /* some versions of glibc are missing the setresuid() proto */ #if defined(HAS_SETRESUID) && !defined(HAS_SETRESUID_PROTO) int setresuid(uid_t ruid, uid_t euid, uid_t suid); #endif /* some versions of glibc are missing the setresgid() proto */ #if defined(HAS_SETRESGID) && !defined(HAS_SETRESGID_PROTO) int setresgid(gid_t rgid, gid_t egid, gid_t sgid); #endif #ifndef HAS_SETREUID # ifdef HAS_SETRESUID # define setreuid(r,e) setresuid(r,e,(Uid_t)-1) # define HAS_SETREUID # endif #endif #ifndef HAS_SETREGID # ifdef HAS_SETRESGID # define setregid(r,e) setresgid(r,e,(Gid_t)-1) # define HAS_SETREGID # endif #endif /* Sighandler_t defined in iperlsys.h */ #ifdef HAS_SIGACTION typedef struct sigaction Sigsave_t; #else typedef Sighandler_t Sigsave_t; #endif #define SCAN_DEF 0 #define SCAN_TR 1 #define SCAN_REPL 2 #ifdef DEBUGGING # ifndef register # define register # endif # define RUNOPS_DEFAULT Perl_runops_debug #else # define RUNOPS_DEFAULT Perl_runops_standard #endif #if defined(USE_PERLIO) EXTERN_C void PerlIO_teardown(void); # ifdef USE_ITHREADS # define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex) # define PERLIO_TERM \ STMT_START { \ PerlIO_teardown(); \ MUTEX_DESTROY(&PL_perlio_mutex);\ } STMT_END # else # define PERLIO_INIT # define PERLIO_TERM PerlIO_teardown() # endif #else # define PERLIO_INIT # define PERLIO_TERM #endif #ifdef MYMALLOC # ifdef MUTEX_INIT_CALLS_MALLOC # define MALLOC_INIT \ STMT_START { \ PL_malloc_mutex = NULL; \ MUTEX_INIT(&PL_malloc_mutex); \ } STMT_END # define MALLOC_TERM \ STMT_START { \ perl_mutex tmp = PL_malloc_mutex; \ PL_malloc_mutex = NULL; \ MUTEX_DESTROY(&tmp); \ } STMT_END # else # define MALLOC_INIT MUTEX_INIT(&PL_malloc_mutex) # define MALLOC_TERM MUTEX_DESTROY(&PL_malloc_mutex) # endif #else # define MALLOC_INIT # define MALLOC_TERM #endif #if defined(PERL_IMPLICIT_CONTEXT) struct perl_memory_debug_header; struct perl_memory_debug_header { tTHX interpreter; # if defined(PERL_POISON) || defined(PERL_DEBUG_READONLY_COW) MEM_SIZE size; # endif struct perl_memory_debug_header *prev; struct perl_memory_debug_header *next; # ifdef PERL_DEBUG_READONLY_COW bool readonly; # endif }; #elif defined(PERL_DEBUG_READONLY_COW) struct perl_memory_debug_header; struct perl_memory_debug_header { MEM_SIZE size; }; #endif #if defined (PERL_TRACK_MEMPOOL) || defined (PERL_DEBUG_READONLY_COW) # define PERL_MEMORY_DEBUG_HEADER_SIZE \ (sizeof(struct perl_memory_debug_header) + \ (MEM_ALIGNBYTES - sizeof(struct perl_memory_debug_header) \ %MEM_ALIGNBYTES) % MEM_ALIGNBYTES) #else # define PERL_MEMORY_DEBUG_HEADER_SIZE 0 #endif #ifdef PERL_TRACK_MEMPOOL # ifdef PERL_DEBUG_READONLY_COW # define INIT_TRACK_MEMPOOL(header, interp) \ STMT_START { \ (header).interpreter = (interp); \ (header).prev = (header).next = &(header); \ (header).readonly = 0; \ } STMT_END # else # define INIT_TRACK_MEMPOOL(header, interp) \ STMT_START { \ (header).interpreter = (interp); \ (header).prev = (header).next = &(header); \ } STMT_END # endif # else # define INIT_TRACK_MEMPOOL(header, interp) #endif #ifdef I_MALLOCMALLOC /* Needed for malloc_size(), malloc_good_size() on some systems */ # include <malloc/malloc.h> #endif #ifdef MYMALLOC # define Perl_safesysmalloc_size(where) Perl_malloced_size(where) #else # if defined(HAS_MALLOC_SIZE) && !defined(PERL_DEBUG_READONLY_COW) # ifdef PERL_TRACK_MEMPOOL # define Perl_safesysmalloc_size(where) \ (malloc_size(((char *)(where)) - PERL_MEMORY_DEBUG_HEADER_SIZE) - PERL_MEMORY_DEBUG_HEADER_SIZE) # else # define Perl_safesysmalloc_size(where) malloc_size(where) # endif # endif # ifdef HAS_MALLOC_GOOD_SIZE # ifdef PERL_TRACK_MEMPOOL # define Perl_malloc_good_size(how_much) \ (malloc_good_size((how_much) + PERL_MEMORY_DEBUG_HEADER_SIZE) - PERL_MEMORY_DEBUG_HEADER_SIZE) # else # define Perl_malloc_good_size(how_much) malloc_good_size(how_much) # endif # else /* Having this as the identity operation makes some code simpler. */ # define Perl_malloc_good_size(how_much) (how_much) # endif #endif typedef int (*runops_proc_t)(pTHX); typedef void (*share_proc_t) (pTHX_ SV *sv); typedef int (*thrhook_proc_t) (pTHX); typedef OP* (*PPADDR_t[]) (pTHX); typedef bool (*destroyable_proc_t) (pTHX_ SV *sv); typedef void (*despatch_signals_proc_t) (pTHX); #if defined(__DYNAMIC__) && defined(PERL_DARWIN) && defined(PERL_CORE) # include <crt_externs.h> /* for the env array */ # define environ (*_NSGetEnviron()) #elif defined(USE_ENVIRON_ARRAY) && !defined(environ) /* VMS and some other platforms don't use the environ array */ EXTERN_C char **environ; /* environment variables supplied via exec */ #endif #define PERL_PATCHLEVEL_H_IMPLICIT #include "patchlevel.h" #undef PERL_PATCHLEVEL_H_IMPLICIT #define PERL_VERSION_STRING STRINGIFY(PERL_REVISION) "." \ STRINGIFY(PERL_VERSION) "." \ STRINGIFY(PERL_SUBVERSION) #define PERL_API_VERSION_STRING STRINGIFY(PERL_API_REVISION) "." \ STRINGIFY(PERL_API_VERSION) "." \ STRINGIFY(PERL_API_SUBVERSION) START_EXTERN_C /* handy constants */ EXTCONST char PL_warn_uninit[] INIT("Use of uninitialized value%s%s%s"); EXTCONST char PL_warn_uninit_sv[] INIT("Use of uninitialized value%" SVf "%s%s"); EXTCONST char PL_warn_nosemi[] INIT("Semicolon seems to be missing"); EXTCONST char PL_warn_reserved[] INIT("Unquoted string \"%s\" may clash with future reserved word"); EXTCONST char PL_warn_nl[] INIT("Unsuccessful %s on filename containing newline"); EXTCONST char PL_no_wrongref[] INIT("Can't use %s ref as %s ref"); /* The core no longer needs this here. If you require the string constant, please inline a copy into your own code. */ EXTCONST char PL_no_symref[] __attribute__deprecated__ INIT("Can't use string (\"%.32s\") as %s ref while \"strict refs\" in use"); EXTCONST char PL_no_symref_sv[] INIT("Can't use string (\"%" SVf32 "\"%s) as %s ref while \"strict refs\" in use"); EXTCONST char PL_no_usym[] INIT("Can't use an undefined value as %s reference"); EXTCONST char PL_no_aelem[] INIT("Modification of non-creatable array value attempted, subscript %d"); EXTCONST char PL_no_helem_sv[] INIT("Modification of non-creatable hash value attempted, subscript \"%" SVf "\""); EXTCONST char PL_no_modify[] INIT("Modification of a read-only value attempted"); EXTCONST char PL_no_mem[sizeof("Out of memory!\n")] INIT("Out of memory!\n"); EXTCONST char PL_no_security[] INIT("Insecure dependency in %s%s"); EXTCONST char PL_no_sock_func[] INIT("Unsupported socket function \"%s\" called"); EXTCONST char PL_no_dir_func[] INIT("Unsupported directory function \"%s\" called"); EXTCONST char PL_no_func[] INIT("The %s function is unimplemented"); EXTCONST char PL_no_myglob[] INIT("\"%s\" %s %s can't be in a package"); EXTCONST char PL_no_localize_ref[] INIT("Can't localize through a reference"); EXTCONST char PL_memory_wrap[] INIT("panic: memory wrap"); EXTCONST char PL_extended_cp_format[] INIT("Code point 0x%" UVXf " is not Unicode, requires a Perl extension," " and so is not portable"); EXTCONST char PL_Yes[] INIT("1"); EXTCONST char PL_No[] INIT(""); EXTCONST char PL_Zero[] INIT("0"); EXTCONST char PL_hexdigit[] INIT("0123456789abcdef0123456789ABCDEF"); EXTCONST STRLEN PL_WARN_ALL INIT(0); EXTCONST STRLEN PL_WARN_NONE INIT(0); /* This is constant on most architectures, a global on OS/2 */ #ifndef OS2 EXTCONST char PL_sh_path[] INIT(SH_PATH); /* full path of shell */ #endif #ifdef CSH EXTCONST char PL_cshname[] INIT(CSH); # define PL_cshlen (sizeof(CSH "") - 1) #endif /* These are baked at compile time into any shared perl library. In future releases this will allow us in main() to sanity test the library we're linking against. */ EXTCONST U8 PL_revision INIT(PERL_REVISION); EXTCONST U8 PL_version INIT(PERL_VERSION); EXTCONST U8 PL_subversion INIT(PERL_SUBVERSION); EXTCONST char PL_uuemap[65] INIT("`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"); /* a special string address whose value is "isa", but which perl knows * to treat as if it were really "DOES" when printing the method name in * the "Can't call method '%s'" error message */ EXTCONST char PL_isa_DOES[] INIT("isa"); #ifdef DOINIT EXTCONST char PL_uudmap[256] = # ifdef PERL_MICRO # include "uuudmap.h" # else # include "uudmap.h" # endif ; EXTCONST char PL_bitcount[256] = # ifdef PERL_MICRO # include "ubitcount.h" #else # include "bitcount.h" # endif ; EXTCONST char* const PL_sig_name[] = { SIG_NAME }; EXTCONST int PL_sig_num[] = { SIG_NUM }; #else EXTCONST char PL_uudmap[256]; EXTCONST char PL_bitcount[256]; EXTCONST char* const PL_sig_name[]; EXTCONST int PL_sig_num[]; #endif /* fast conversion and case folding tables. The folding tables complement the * fold, so that 'a' maps to 'A' and 'A' maps to 'a', ignoring more complicated * folds such as outside the range or to multiple characters. */ #ifdef DOINIT #ifndef EBCDIC /* The EBCDIC fold table depends on the code page, and hence is found in * utfebcdic.h */ EXTCONST unsigned char PL_fold[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 91, 92, 93, 94, 95, 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 }; EXTCONST unsigned char PL_fold_latin1[] = { /* Full latin1 complement folding, except for three problematic code points: * Micro sign (181 = 0xB5) and y with diearesis (255 = 0xFF) have their * fold complements outside the Latin1 range, so can't match something * that isn't in utf8. * German lower case sharp s (223 = 0xDF) folds to two characters, 'ss', * not one, so can't be represented in this table. * * All have to be specially handled */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 91, 92, 93, 94, 95, 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181 /*micro */, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192+32, 193+32, 194+32, 195+32, 196+32, 197+32, 198+32, 199+32, 200+32, 201+32, 202+32, 203+32, 204+32, 205+32, 206+32, 207+32, 208+32, 209+32, 210+32, 211+32, 212+32, 213+32, 214+32, 215, 216+32, 217+32, 218+32, 219+32, 220+32, 221+32, 222+32, 223 /* ss */, 224-32, 225-32, 226-32, 227-32, 228-32, 229-32, 230-32, 231-32, 232-32, 233-32, 234-32, 235-32, 236-32, 237-32, 238-32, 239-32, 240-32, 241-32, 242-32, 243-32, 244-32, 245-32, 246-32, 247, 248-32, 249-32, 250-32, 251-32, 252-32, 253-32, 254-32, 255 /* y with diaeresis */ }; /* If these tables are accessed through ebcdic, the access will be converted to * latin1 first */ EXTCONST unsigned char PL_latin1_lc[] = { /* lowercasing */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192+32, 193+32, 194+32, 195+32, 196+32, 197+32, 198+32, 199+32, 200+32, 201+32, 202+32, 203+32, 204+32, 205+32, 206+32, 207+32, 208+32, 209+32, 210+32, 211+32, 212+32, 213+32, 214+32, 215, 216+32, 217+32, 218+32, 219+32, 220+32, 221+32, 222+32, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 }; /* upper and title case of latin1 characters, modified so that the three tricky * ones are mapped to 255 (which is one of the three) */ EXTCONST unsigned char PL_mod_latin1_uc[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 255 /*micro*/, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, #if UNICODE_MAJOR_VERSION > 2 \ || (UNICODE_MAJOR_VERSION == 2 && UNICODE_DOT_VERSION >= 1 \ && UNICODE_DOT_DOT_VERSION >= 8) 255 /*sharp s*/, #else /* uc(sharp s) is 'sharp s' itself in early unicode */ 223, #endif 224-32, 225-32, 226-32, 227-32, 228-32, 229-32, 230-32, 231-32, 232-32, 233-32, 234-32, 235-32, 236-32, 237-32, 238-32, 239-32, 240-32, 241-32, 242-32, 243-32, 244-32, 245-32, 246-32, 247, 248-32, 249-32, 250-32, 251-32, 252-32, 253-32, 254-32, 255 }; #endif /* !EBCDIC, but still in DOINIT */ #else /* ! DOINIT */ # ifndef EBCDIC EXTCONST unsigned char PL_fold[]; EXTCONST unsigned char PL_fold_latin1[]; EXTCONST unsigned char PL_mod_latin1_uc[]; EXTCONST unsigned char PL_latin1_lc[]; # endif #endif #ifndef PERL_GLOBAL_STRUCT /* or perlvars.h */ #ifdef DOINIT EXT unsigned char PL_fold_locale[256] = { /* Unfortunately not EXTCONST. */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 91, 92, 93, 94, 95, 96, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 }; #else EXT unsigned char PL_fold_locale[256]; /* Unfortunately not EXTCONST. */ #endif #endif /* !PERL_GLOBAL_STRUCT */ #ifdef DOINIT #ifdef EBCDIC EXTCONST unsigned char PL_freq[] = {/* EBCDIC frequencies for mixed English/C */ 1, 2, 84, 151, 154, 155, 156, 157, 165, 246, 250, 3, 158, 7, 18, 29, 40, 51, 62, 73, 85, 96, 107, 118, 129, 140, 147, 148, 149, 150, 152, 153, 255, 6, 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 226, 29, 30, 31, 32, 33, 43, 44, 45, 46, 47, 48, 49, 50, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 94, 95, 234, 181, 233, 187, 190, 180, 96, 97, 98, 99, 100, 101, 102, 104, 112, 182, 174, 236, 232, 229, 103, 228, 226, 114, 115, 116, 117, 118, 119, 120, 121, 122, 235, 176, 230, 194, 162, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 201, 205, 163, 217, 220, 224, 5, 248, 227, 244, 242, 255, 241, 231, 240, 253, 16, 197, 19, 20, 21, 187, 23, 169, 210, 245, 237, 249, 247, 239, 168, 252, 34, 196, 36, 37, 38, 39, 41, 42, 251, 254, 238, 223, 221, 213, 225, 177, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 205, 208, 186, 202, 200, 218, 198, 179, 178, 214, 88, 89, 90, 91, 92, 93, 217, 166, 170, 207, 199, 209, 206, 204, 160, 212, 105, 106, 108, 109, 110, 111, 203, 113, 216, 215, 192, 175, 193, 243, 172, 161, 123, 124, 125, 126, 127, 128, 222, 219, 211, 195, 188, 193, 185, 184, 191, 183, 141, 142, 143, 144, 145, 146 }; #else /* ascii rather than ebcdic */ EXTCONST unsigned char PL_freq[] = { /* letter frequencies for mixed English/C */ 1, 2, 84, 151, 154, 155, 156, 157, 165, 246, 250, 3, 158, 7, 18, 29, 40, 51, 62, 73, 85, 96, 107, 118, 129, 140, 147, 148, 149, 150, 152, 153, 255, 182, 224, 205, 174, 176, 180, 217, 233, 232, 236, 187, 235, 228, 234, 226, 222, 219, 211, 195, 188, 193, 185, 184, 191, 183, 201, 229, 181, 220, 194, 162, 163, 208, 186, 202, 200, 218, 198, 179, 178, 214, 166, 170, 207, 199, 209, 206, 204, 160, 212, 216, 215, 192, 175, 173, 243, 172, 161, 190, 203, 189, 164, 230, 167, 248, 227, 244, 242, 255, 241, 231, 240, 253, 169, 210, 245, 237, 249, 247, 239, 168, 252, 251, 254, 238, 223, 221, 213, 225, 177, 197, 171, 196, 159, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 141, 142, 143, 144, 145, 146 }; #endif #else EXTCONST unsigned char PL_freq[]; #endif /* Although only used for debugging, these constants must be available in * non-debugging builds too, since they're used in ext/re/re_exec.c, * which has DEBUGGING enabled always */ #ifdef DOINIT EXTCONST char* const PL_block_type[] = { "NULL", "WHEN", "BLOCK", "GIVEN", "LOOP_ARY", "LOOP_LAZYSV", "LOOP_LAZYIV", "LOOP_LIST", "LOOP_PLAIN", "SUB", "FORMAT", "EVAL", "SUBST" }; #else EXTCONST char* PL_block_type[]; #endif /* These are all the compile time options that affect binary compatibility. Other compile time options that are binary compatible are in perl.c (in S_Internals_V()). Both are combined for the output of perl -V However, this string will be embedded in any shared perl library, which will allow us add a comparison check in perlmain.c in the near future. */ #ifdef DOINIT EXTCONST char PL_bincompat_options[] = # ifdef DEBUG_LEAKING_SCALARS " DEBUG_LEAKING_SCALARS" # endif # ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP " DEBUG_LEAKING_SCALARS_FORK_DUMP" # endif # ifdef FCRYPT " FCRYPT" # endif # ifdef HAS_TIMES " HAS_TIMES" # endif # ifdef HAVE_INTERP_INTERN " HAVE_INTERP_INTERN" # endif # ifdef MULTIPLICITY " MULTIPLICITY" # endif # ifdef MYMALLOC " MYMALLOC" # endif # ifdef PERLIO_LAYERS " PERLIO_LAYERS" # endif # ifdef PERL_DEBUG_READONLY_COW " PERL_DEBUG_READONLY_COW" # endif # ifdef PERL_DEBUG_READONLY_OPS " PERL_DEBUG_READONLY_OPS" # endif # ifdef PERL_GLOBAL_STRUCT " PERL_GLOBAL_STRUCT" # endif # ifdef PERL_GLOBAL_STRUCT_PRIVATE " PERL_GLOBAL_STRUCT_PRIVATE" # endif # ifdef PERL_IMPLICIT_CONTEXT " PERL_IMPLICIT_CONTEXT" # endif # ifdef PERL_IMPLICIT_SYS " PERL_IMPLICIT_SYS" # endif # ifdef PERL_MICRO " PERL_MICRO" # endif # ifdef PERL_NEED_APPCTX " PERL_NEED_APPCTX" # endif # ifdef PERL_NEED_TIMESBASE " PERL_NEED_TIMESBASE" # endif # ifdef PERL_POISON " PERL_POISON" # endif # ifdef PERL_SAWAMPERSAND " PERL_SAWAMPERSAND" # endif # ifdef PERL_TRACK_MEMPOOL " PERL_TRACK_MEMPOOL" # endif # ifdef PERL_USES_PL_PIDSTATUS " PERL_USES_PL_PIDSTATUS" # endif # ifdef USE_64_BIT_ALL " USE_64_BIT_ALL" # endif # ifdef USE_64_BIT_INT " USE_64_BIT_INT" # endif # ifdef USE_IEEE " USE_IEEE" # endif # ifdef USE_ITHREADS " USE_ITHREADS" # endif # ifdef USE_LARGE_FILES " USE_LARGE_FILES" # endif # ifdef USE_LOCALE_COLLATE " USE_LOCALE_COLLATE" # endif # ifdef USE_LOCALE_NUMERIC " USE_LOCALE_NUMERIC" # endif # ifdef USE_LOCALE_TIME " USE_LOCALE_TIME" # endif # ifdef USE_LONG_DOUBLE " USE_LONG_DOUBLE" # endif # ifdef USE_PERLIO " USE_PERLIO" # endif # ifdef USE_QUADMATH " USE_QUADMATH" # endif # ifdef USE_REENTRANT_API " USE_REENTRANT_API" # endif # ifdef USE_SOCKS " USE_SOCKS" # endif # ifdef VMS_DO_SOCKETS " VMS_DO_SOCKETS" # endif # ifdef VMS_SHORTEN_LONG_SYMBOLS " VMS_SHORTEN_LONG_SYMBOLS" # endif # ifdef VMS_WE_ARE_CASE_SENSITIVE " VMS_SYMBOL_CASE_AS_IS" # endif ""; #else EXTCONST char PL_bincompat_options[]; #endif #ifndef PERL_SET_PHASE # define PERL_SET_PHASE(new_phase) \ PERL_DTRACE_PROBE_PHASE(new_phase); \ PL_phase = new_phase; #endif /* The interpreter phases. If these ever change, PL_phase_names right below will * need to be updated accordingly. */ enum perl_phase { PERL_PHASE_CONSTRUCT = 0, PERL_PHASE_START = 1, PERL_PHASE_CHECK = 2, PERL_PHASE_INIT = 3, PERL_PHASE_RUN = 4, PERL_PHASE_END = 5, PERL_PHASE_DESTRUCT = 6 }; #ifdef DOINIT EXTCONST char *const PL_phase_names[] = { "CONSTRUCT", "START", "CHECK", "INIT", "RUN", "END", "DESTRUCT" }; #else EXTCONST char *const PL_phase_names[]; #endif #ifndef PERL_CORE /* Do not use this macro. It only exists for extensions that rely on PL_dirty * instead of using the newer PL_phase, which provides everything PL_dirty * provided, and more. */ # define PL_dirty cBOOL(PL_phase == PERL_PHASE_DESTRUCT) # define PL_amagic_generation PL_na # define PL_encoding ((SV *)NULL) #endif /* !PERL_CORE */ #define PL_hints PL_compiling.cop_hints #define PL_maxo MAXO END_EXTERN_C /*****************************************************************************/ /* This lexer/parser stuff is currently global since yacc is hard to reenter */ /*****************************************************************************/ /* XXX This needs to be revisited, since BEGIN makes yacc re-enter... */ #ifdef __Lynx__ /* LynxOS defines these in scsi.h which is included via ioctl.h */ #ifdef FORMAT #undef FORMAT #endif #ifdef SPACE #undef SPACE #endif #endif #define LEX_NOTPARSING 11 /* borrowed from toke.c */ typedef enum { XOPERATOR, XTERM, XREF, XSTATE, XBLOCK, XATTRBLOCK, /* next token should be an attribute or block */ XATTRTERM, /* next token should be an attribute, or block in a term */ XTERMBLOCK, XBLOCKTERM, XPOSTDEREF, XTERMORDORDOR /* evil hack */ /* update exp_name[] in toke.c if adding to this enum */ } expectation; #define KEY_sigvar 0xFFFF /* fake keyword representing a signature var */ /* Hints are now stored in a dedicated U32, so the bottom 8 bits are no longer special and there is no need for HINT_PRIVATE_MASK for COPs However, bitops store HINT_INTEGER in their op_private. NOTE: The typical module using these has the bit value hard-coded, so don't blindly change the values of these. If we run out of bits, the 2 locale ones could be combined. The PARTIAL one is for "use locale 'FOO'" which excludes some categories. It requires going to %^H to find out which are in and which are out. This could be extended for the normal case of a plain HINT_LOCALE, so that %^H would be used for any locale form. */ #define HINT_INTEGER 0x00000001 /* integer pragma */ #define HINT_STRICT_REFS 0x00000002 /* strict pragma */ #define HINT_LOCALE 0x00000004 /* locale pragma */ #define HINT_BYTES 0x00000008 /* bytes pragma */ #define HINT_LOCALE_PARTIAL 0x00000010 /* locale, but a subset of categories */ #define HINT_EXPLICIT_STRICT_REFS 0x00000020 /* strict.pm */ #define HINT_EXPLICIT_STRICT_SUBS 0x00000040 /* strict.pm */ #define HINT_EXPLICIT_STRICT_VARS 0x00000080 /* strict.pm */ #define HINT_BLOCK_SCOPE 0x00000100 #define HINT_STRICT_SUBS 0x00000200 /* strict pragma */ #define HINT_STRICT_VARS 0x00000400 /* strict pragma */ #define HINT_UNI_8_BIT 0x00000800 /* unicode_strings feature */ /* The HINT_NEW_* constants are used by the overload pragma */ #define HINT_NEW_INTEGER 0x00001000 #define HINT_NEW_FLOAT 0x00002000 #define HINT_NEW_BINARY 0x00004000 #define HINT_NEW_STRING 0x00008000 #define HINT_NEW_RE 0x00010000 #define HINT_LOCALIZE_HH 0x00020000 /* %^H needs to be copied */ #define HINT_LEXICAL_IO_IN 0x00040000 /* ${^OPEN} is set for input */ #define HINT_LEXICAL_IO_OUT 0x00080000 /* ${^OPEN} is set for output */ #define HINT_RE_TAINT 0x00100000 /* re pragma */ #define HINT_RE_EVAL 0x00200000 /* re pragma */ #define HINT_FILETEST_ACCESS 0x00400000 /* filetest pragma */ #define HINT_UTF8 0x00800000 /* utf8 pragma */ #define HINT_NO_AMAGIC 0x01000000 /* overloading pragma */ #define HINT_RE_FLAGS 0x02000000 /* re '/xism' pragma */ #define HINT_FEATURE_MASK 0x1c000000 /* 3 bits for feature bundles */ /* Note: Used for HINT_M_VMSISH_*, currently defined by vms/vmsish.h: 0x40000000 0x80000000 */ /* The following are stored in $^H{sort}, not in PL_hints */ #define HINT_SORT_STABLE 0x00000100 /* sort styles */ #define HINT_SORT_UNSTABLE 0x00000200 /* flags for PL_sawampersand */ #define SAWAMPERSAND_LEFT 1 /* saw $` */ #define SAWAMPERSAND_MIDDLE 2 /* saw $& */ #define SAWAMPERSAND_RIGHT 4 /* saw $' */ #ifndef PERL_SAWAMPERSAND # define PL_sawampersand \ (SAWAMPERSAND_LEFT|SAWAMPERSAND_MIDDLE|SAWAMPERSAND_RIGHT) #endif /* Used for debugvar magic */ #define DBVARMG_SINGLE 0 #define DBVARMG_TRACE 1 #define DBVARMG_SIGNAL 2 #define DBVARMG_COUNT 3 #define PL_DBsingle_iv (PL_DBcontrol[DBVARMG_SINGLE]) #define PL_DBtrace_iv (PL_DBcontrol[DBVARMG_TRACE]) #define PL_DBsignal_iv (PL_DBcontrol[DBVARMG_SIGNAL]) /* Various states of the input record separator SV (rs) */ #define RsSNARF(sv) (! SvOK(sv)) #define RsSIMPLE(sv) (SvOK(sv) && (! SvPOK(sv) || SvCUR(sv))) #define RsPARA(sv) (SvPOK(sv) && ! SvCUR(sv)) #define RsRECORD(sv) (SvROK(sv) && (SvIV(SvRV(sv)) > 0)) /* A struct for keeping various DEBUGGING related stuff, * neatly packed. Currently only scratch variables for * constructing debug output are included. Needed always, * not just when DEBUGGING, though, because of the re extension. c*/ struct perl_debug_pad { SV pad[3]; }; #define PERL_DEBUG_PAD(i) &(PL_debug_pad.pad[i]) #define PERL_DEBUG_PAD_ZERO(i) (SvPVX(PERL_DEBUG_PAD(i))[0] = 0, \ (((XPV*) SvANY(PERL_DEBUG_PAD(i)))->xpv_cur = 0), \ PERL_DEBUG_PAD(i)) /* Enable variables which are pointers to functions */ typedef void (*peep_t)(pTHX_ OP* o); typedef regexp* (*regcomp_t) (pTHX_ char* exp, char* xend, PMOP* pm); typedef I32 (*regexec_t) (pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags); typedef char* (*re_intuit_start_t) (pTHX_ regexp *prog, SV *sv, char *strpos, char *strend, U32 flags, re_scream_pos_data *d); typedef SV* (*re_intuit_string_t) (pTHX_ regexp *prog); typedef void (*regfree_t) (pTHX_ struct regexp* r); typedef regexp* (*regdupe_t) (pTHX_ const regexp* r, CLONE_PARAMS *param); typedef I32 (*re_fold_t)(const char *, char const *, I32); typedef void (*DESTRUCTORFUNC_NOCONTEXT_t) (void*); typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*); typedef void (*SVFUNC_t) (pTHX_ SV* const); typedef I32 (*SVCOMPARE_t) (pTHX_ SV* const, SV* const); typedef void (*XSINIT_t) (pTHX); typedef void (*ATEXIT_t) (pTHX_ void*); typedef void (*XSUBADDR_t) (pTHX_ CV *); typedef OP* (*Perl_ppaddr_t)(pTHX); typedef OP* (*Perl_check_t) (pTHX_ OP*); typedef void(*Perl_ophook_t)(pTHX_ OP*); typedef int (*Perl_keyword_plugin_t)(pTHX_ char*, STRLEN, OP**); typedef void(*Perl_cpeep_t)(pTHX_ OP *, OP *); typedef void(*globhook_t)(pTHX); #define KEYWORD_PLUGIN_DECLINE 0 #define KEYWORD_PLUGIN_STMT 1 #define KEYWORD_PLUGIN_EXPR 2 /* Interpreter exitlist entry */ typedef struct exitlistentry { void (*fn) (pTHX_ void*); void *ptr; } PerlExitListEntry; /* if you only have signal() and it resets on each signal, FAKE_PERSISTENT_SIGNAL_HANDLERS fixes */ /* These have to be before perlvars.h */ #if !defined(HAS_SIGACTION) && defined(VMS) # define FAKE_PERSISTENT_SIGNAL_HANDLERS #endif /* if we're doing kill() with sys$sigprc on VMS, FAKE_DEFAULT_SIGNAL_HANDLERS */ #if defined(KILL_BY_SIGPRC) # define FAKE_DEFAULT_SIGNAL_HANDLERS #endif #if !defined(MULTIPLICITY) struct interpreter { char broiled; }; #else /* If we have multiple interpreters define a struct holding variables which must be per-interpreter If we don't have threads anything that would have be per-thread is per-interpreter. */ /* Set up PERLVAR macros for populating structs */ # define PERLVAR(prefix,var,type) type prefix##var; /* 'var' is an array of length 'n' */ # define PERLVARA(prefix,var,n,type) type prefix##var[n]; /* initialize 'var' to init' */ # define PERLVARI(prefix,var,type,init) type prefix##var; /* like PERLVARI, but make 'var' a const */ # define PERLVARIC(prefix,var,type,init) type prefix##var; struct interpreter { # include "intrpvar.h" }; EXTCONST U16 PL_interp_size INIT(sizeof(struct interpreter)); # define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member) \ STRUCT_OFFSET(struct interpreter, member) + \ sizeof(((struct interpreter*)0)->member) /* This will be useful for subsequent releases, because this has to be the same in your libperl as in main(), else you have a mismatch and must abort. */ EXTCONST U16 PL_interp_size_5_18_0 INIT(PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_18_0_INTERP_MEMBER)); # ifdef PERL_GLOBAL_STRUCT /* MULTIPLICITY is automatically defined when PERL_GLOBAL_STRUCT is defined, hence it's safe and sane to nest this within #ifdef MULTIPLICITY */ struct perl_vars { # include "perlvars.h" }; EXTCONST U16 PL_global_struct_size INIT(sizeof(struct perl_vars)); # ifdef PERL_CORE # ifndef PERL_GLOBAL_STRUCT_PRIVATE EXT struct perl_vars PL_Vars; EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars); # undef PERL_GET_VARS # define PERL_GET_VARS() PL_VarsPtr # endif /* !PERL_GLOBAL_STRUCT_PRIVATE */ # else /* PERL_CORE */ # if !defined(__GNUC__) || !defined(WIN32) EXT # endif /* WIN32 */ struct perl_vars *PL_VarsPtr; # define PL_Vars (*((PL_VarsPtr) \ ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX)))) # endif /* PERL_CORE */ # endif /* PERL_GLOBAL_STRUCT */ /* Done with PERLVAR macros for now ... */ # undef PERLVAR # undef PERLVARA # undef PERLVARI # undef PERLVARIC #endif /* MULTIPLICITY */ struct tempsym; /* defined in pp_pack.c */ #include "thread.h" #include "pp.h" #undef PERL_CKDEF #undef PERL_PPDEF #define PERL_CKDEF(s) PERL_CALLCONV OP *s (pTHX_ OP *o); #define PERL_PPDEF(s) PERL_CALLCONV OP *s (pTHX); #ifdef MYMALLOC # include "malloc_ctl.h" #endif /* * This provides a layer of functions and macros to ensure extensions will * get to use the same RTL functions as the core. */ #if defined(WIN32) # include "win32iop.h" #endif #include "proto.h" /* this has structure inits, so it cannot be included before here */ #include "opcode.h" /* The following must follow proto.h as #defines mess up syntax */ #if !defined(PERL_FOR_X2P) # include "embedvar.h" #endif /* Now include all the 'global' variables * If we don't have threads or multiple interpreters * these include variables that would have been their struct-s */ #define PERLVAR(prefix,var,type) EXT type PL_##var; #define PERLVARA(prefix,var,n,type) EXT type PL_##var[n]; #define PERLVARI(prefix,var,type,init) EXT type PL_##var INIT(init); #define PERLVARIC(prefix,var,type,init) EXTCONST type PL_##var INIT(init); #if !defined(MULTIPLICITY) START_EXTERN_C # include "intrpvar.h" END_EXTERN_C # define PL_sv_yes (PL_sv_immortals[0]) # define PL_sv_undef (PL_sv_immortals[1]) # define PL_sv_no (PL_sv_immortals[2]) # define PL_sv_zero (PL_sv_immortals[3]) #endif #ifdef PERL_CORE /* All core uses now exterminated. Ensure no zombies can return: */ # undef PL_na #endif /* Now all the config stuff is setup we can include embed.h In particular, need the relevant *ish file included already, as it may define HAVE_INTERP_INTERN */ #include "embed.h" #ifndef PERL_GLOBAL_STRUCT START_EXTERN_C # include "perlvars.h" END_EXTERN_C #endif #undef PERLVAR #undef PERLVARA #undef PERLVARI #undef PERLVARIC #if !defined(MULTIPLICITY) /* Set up PERLVAR macros for populating structs */ # define PERLVAR(prefix,var,type) type prefix##var; /* 'var' is an array of length 'n' */ # define PERLVARA(prefix,var,n,type) type prefix##var[n]; /* initialize 'var' to init' */ # define PERLVARI(prefix,var,type,init) type prefix##var; /* like PERLVARI, but make 'var' a const */ # define PERLVARIC(prefix,var,type,init) type prefix##var; /* this is never instantiated, is it just used for sizeof(struct PerlHandShakeInterpreter) */ struct PerlHandShakeInterpreter { # include "intrpvar.h" }; # undef PERLVAR # undef PERLVARA # undef PERLVARI # undef PERLVARIC #endif START_EXTERN_C /* dummy variables that hold pointers to both runops functions, thus forcing * them *both* to get linked in (useful for Peek.xs, debugging etc) */ EXTCONST runops_proc_t PL_runops_std INIT(Perl_runops_standard); EXTCONST runops_proc_t PL_runops_dbg INIT(Perl_runops_debug); #define EXT_MGVTBL EXTCONST MGVTBL #define PERL_MAGIC_READONLY_ACCEPTABLE 0x40 #define PERL_MAGIC_VALUE_MAGIC 0x80 #define PERL_MAGIC_VTABLE_MASK 0x3F #define PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(t) \ (PL_magic_data[(U8)(t)] & PERL_MAGIC_READONLY_ACCEPTABLE) #define PERL_MAGIC_TYPE_IS_VALUE_MAGIC(t) \ (PL_magic_data[(U8)(t)] & PERL_MAGIC_VALUE_MAGIC) #include "mg_vtable.h" #ifdef DOINIT EXTCONST U8 PL_magic_data[256] = # ifdef PERL_MICRO # include "umg_data.h" # else # include "mg_data.h" # endif ; #else EXTCONST U8 PL_magic_data[256]; #endif #ifdef DOINIT /* NL IV NV PV INV PI PN MG RX GV LV AV HV CV FM IO */ EXTCONST bool PL_valid_types_IVX[] = { 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 }; EXTCONST bool PL_valid_types_NVX[] = { 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 }; EXTCONST bool PL_valid_types_PVX[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1 }; EXTCONST bool PL_valid_types_RV[] = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }; EXTCONST bool PL_valid_types_IV_set[] = { 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1 }; EXTCONST bool PL_valid_types_NV_set[] = { 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }; #else EXTCONST bool PL_valid_types_IVX[]; EXTCONST bool PL_valid_types_NVX[]; EXTCONST bool PL_valid_types_PVX[]; EXTCONST bool PL_valid_types_RV[]; EXTCONST bool PL_valid_types_IV_set[]; EXTCONST bool PL_valid_types_NV_set[]; #endif /* In C99 we could use designated (named field) union initializers. * In C89 we need to initialize the member declared first. * In C++ we need extern C initializers. * * With the U8_NV version you will want to have inner braces, * while with the NV_U8 use just the NV. */ #define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; } #define INFNAN_NV_U8_DECL EXTCONST union { NV nv; U8 u8[NVSIZE]; } /* if these never got defined, they need defaults */ #ifndef PERL_SET_CONTEXT # define PERL_SET_CONTEXT(i) PERL_SET_INTERP(i) #endif #ifndef PERL_GET_CONTEXT # define PERL_GET_CONTEXT PERL_GET_INTERP #endif #ifndef PERL_GET_THX # define PERL_GET_THX ((void*)NULL) #endif #ifndef PERL_SET_THX # define PERL_SET_THX(t) NOOP #endif #ifndef EBCDIC /* The tables below are adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/, which requires this copyright * notice: Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ # ifdef DOINIT # if 0 /* This is the original table given in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ */ static U8 utf8d_C9[] = { /* The first part of the table maps bytes to character classes that * to reduce the size of the transition table and create bitmasks. */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-1F*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-3F*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-5F*/ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-7F*/ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, /*-9F*/ 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, /*-BF*/ 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /*-DF*/ 10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3, 11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8, /*-FF*/ /* The second part is a transition table that maps a combination * of a state of the automaton and a character class to a state. */ 0,12,24,36,60,96,84,12,12,12,48,72, 12,12,12,12,12,12,12,12,12,12,12,12, 12, 0,12,12,12,12,12, 0,12, 0,12,12, 12,24,12,12,12,12,12,24,12,24,12,12, 12,12,12,12,12,12,12,24,12,12,12,12, 12,24,12,12,12,12,12,12,12,24,12,12, 12,12,12,12,12,12,12,36,12,36,12,12, 12,36,12,12,12,12,12,36,12,36,12,12, 12,36,12,12,12,12,12,12,12,12,12,12 }; # endif /* This is a version of the above table customized for Perl that doesn't * exclude surrogates and accepts start bytes up through FD (FE on 64-bit * machines). The classes have been renumbered so that the patterns are more * evident in the table. The class numbers for start bytes are constrained so * that they can be used as a shift count for masking off the leading one bits. * It would make the code simpler if start byte FF could also be handled, but * doing so would mean adding nodes for each of continuation bytes 6-12 * remaining, and two more nodes for overlong detection (a total of 9), and * there is room only for 4 more nodes unless we make the array U16 instead of * U8. * * The classes are * 00-7F 0 * 80-81 7 Not legal immediately after start bytes E0 F0 F8 FC * FE * 82-83 8 Not legal immediately after start bytes E0 F0 F8 FC * 84-87 9 Not legal immediately after start bytes E0 F0 F8 * 88-8F 10 Not legal immediately after start bytes E0 F0 * 90-9F 11 Not legal immediately after start byte E0 * A0-BF 12 * C0,C1 1 * C2-DF 2 * E0 13 * E1-EF 3 * F0 14 * F1-F7 4 * F8 15 * F9-FB 5 * FC 16 * FD 6 * FE 17 (or 1 on 32-bit machines, since it overflows) * FF 1 */ EXTCONST U8 PL_extended_utf8_dfa_tab[] = { /* The first part of the table maps bytes to character classes to reduce * the size of the transition table and create bitmasks. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*00-0F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*10-1F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*20-2F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*30-3F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*40-4F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*50-5F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*60-6F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*70-7F*/ 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10, /*80-8F*/ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, /*90-9F*/ 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, /*A0-AF*/ 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, /*B0-BF*/ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*C0-CF*/ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*D0-DF*/ 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /*E0-EF*/ 14, 4, 4, 4, 4, 4, 4, 4,15, 5, 5, 5,16, 6, /*F0-FD*/ # ifdef UV_IS_QUAD 17, /*FE*/ # else 1, /*FE*/ # endif 1, /*FF*/ /* The second part is a transition table that maps a combination * of a state of the automaton and a character class to a new state, called a * node. The nodes are: * N0 The initial state, and final accepting one. * N1 Any one continuation byte (80-BF) left. This is transitioned to * immediately when the start byte indicates a two-byte sequence * N2 Any two continuation bytes left. * N3 Any three continuation bytes left. * N4 Any four continuation bytes left. * N5 Any five continuation bytes left. * N6 Start byte is E0. Continuation bytes 80-9F are illegal (overlong); * the other continuations transition to N1 * N7 Start byte is F0. Continuation bytes 80-8F are illegal (overlong); * the other continuations transition to N2 * N8 Start byte is F8. Continuation bytes 80-87 are illegal (overlong); * the other continuations transition to N3 * N9 Start byte is FC. Continuation bytes 80-83 are illegal (overlong); * the other continuations transition to N4 * N10 Start byte is FE. Continuation bytes 80-81 are illegal (overlong); * the other continuations transition to N5 * 1 Reject. All transitions not mentioned above (except the single * byte ones (as they are always legal) are to this state. */ # define NUM_CLASSES 18 # define N0 0 # define N1 ((N0) + NUM_CLASSES) # define N2 ((N1) + NUM_CLASSES) # define N3 ((N2) + NUM_CLASSES) # define N4 ((N3) + NUM_CLASSES) # define N5 ((N4) + NUM_CLASSES) # define N6 ((N5) + NUM_CLASSES) # define N7 ((N6) + NUM_CLASSES) # define N8 ((N7) + NUM_CLASSES) # define N9 ((N8) + NUM_CLASSES) # define N10 ((N9) + NUM_CLASSES) /*Class: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 */ /*N0*/ 0, 1,N1,N2,N3,N4,N5, 1, 1, 1, 1, 1, 1,N6,N7,N8,N9,N10, /*N1*/ 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, /*N2*/ 1, 1, 1, 1, 1, 1, 1,N1,N1,N1,N1,N1,N1, 1, 1, 1, 1, 1, /*N3*/ 1, 1, 1, 1, 1, 1, 1,N2,N2,N2,N2,N2,N2, 1, 1, 1, 1, 1, /*N4*/ 1, 1, 1, 1, 1, 1, 1,N3,N3,N3,N3,N3,N3, 1, 1, 1, 1, 1, /*N5*/ 1, 1, 1, 1, 1, 1, 1,N4,N4,N4,N4,N4,N4, 1, 1, 1, 1, 1, /*N6*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,N1, 1, 1, 1, 1, 1, /*N7*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,N2,N2, 1, 1, 1, 1, 1, /*N8*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,N3,N3,N3, 1, 1, 1, 1, 1, /*N9*/ 1, 1, 1, 1, 1, 1, 1, 1, 1,N4,N4,N4,N4, 1, 1, 1, 1, 1, /*N10*/ 1, 1, 1, 1, 1, 1, 1, 1,N5,N5,N5,N5,N5, 1, 1, 1, 1, 1, }; /* And below is a version of the above table that accepts only strict UTF-8. * Hence no surrogates nor non-characters, nor non-Unicode. Thus, if the input * passes this dfa, it will be for a well-formed, non-problematic code point * that can be returned immediately. * * The "Implementation details" portion of * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ shows how * the first portion of the table maps each possible byte into a character * class. And that the classes for those bytes which are start bytes have been * carefully chosen so they serve as well to be used as a shift value to mask * off the leading 1 bits of the start byte. Unfortunately the addition of * being able to distinguish non-characters makes this not fully work. This is * because, now, the start bytes E1-EF have to be broken into 3 classes instead * of 2: * 1) ED because it could be a surrogate * 2) EF because it could be a non-character * 3) the rest, which can never evaluate to a problematic code point. * * Each of E1-EF has three leading 1 bits, then a 0. That means we could use a * shift (and hence class number) of either 3 or 4 to get a mask that works. * But that only allows two categories, and we need three. khw made the * decision to therefore treat the ED start byte as an error, so that the dfa * drops out immediately for that. In the dfa, classes 3 and 4 are used to * distinguish EF vs the rest. Then special code is used to deal with ED, * that's executed only when the dfa drops out. The code points started by ED * are half surrogates, and half hangul syllables. This means that 2048 of * the hangul syllables (about 18%) take longer than all other non-problematic * code points to handle. * * The changes to handle non-characters requires the addition of states and * classes to the dfa. (See the section on "Mapping bytes to character * classes" in the linked-to document for further explanation of the original * dfa.) * * The classes are * 00-7F 0 * 80-8E 9 * 8F 10 * 90-9E 11 * 9F 12 * A0-AE 13 * AF 14 * B0-B6 15 * B7 16 * B8-BD 15 * BE 17 * BF 18 * C0,C1 1 * C2-DF 2 * E0 7 * E1-EC 3 * ED 1 * EE 3 * EF 4 * F0 8 * F1-F3 6 (6 bits can be stripped) * F4 5 (only 5 can be stripped) * F5-FF 1 */ EXTCONST U8 PL_strict_utf8_dfa_tab[] = { /* The first part of the table maps bytes to character classes to reduce * the size of the transition table and create bitmasks. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*00-0F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*10-1F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*20-2F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*30-3F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*40-4F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*50-5F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*60-6F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*70-7F*/ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, /*80-8F*/ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12, /*90-9F*/ 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14, /*A0-AF*/ 15,15,15,15,15,15,15,16,15,15,15,15,15,15,17,18, /*B0-BF*/ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*C0-CF*/ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*D0-DF*/ 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 4, /*E0-EF*/ 8, 6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*F0-FF*/ /* The second part is a transition table that maps a combination * of a state of the automaton and a character class to a new state, called a * node. The nodes are: * N0 The initial state, and final accepting one. * N1 Any one continuation byte (80-BF) left. This is transitioned to * immediately when the start byte indicates a two-byte sequence * N2 Any two continuation bytes left. * N3 Start byte is E0. Continuation bytes 80-9F are illegal (overlong); * the other continuations transition to state N1 * N4 Start byte is EF. Continuation byte B7 transitions to N8; BF to N9; * the other continuations transitions to N1 * N5 Start byte is F0. Continuation bytes 80-8F are illegal (overlong); * [9AB]F transition to N10; the other continuations to N2. * N6 Start byte is F[123]. Continuation bytes [89AB]F transition * to N10; the other continuations to N2. * N7 Start byte is F4. Continuation bytes 90-BF are illegal * (non-unicode); 8F transitions to N10; the other continuations to N2 * N8 Initial sequence is EF B7. Continuation bytes 90-AF are illegal * (non-characters); the other continuations transition to N0. * N9 Initial sequence is EF BF. Continuation bytes BE and BF are illegal * (non-characters); the other continuations transition to N0. * N10 Initial sequence is one of: F0 [9-B]F; F[123] [8-B]F; or F4 8F. * Continuation byte BF transitions to N11; the other continuations to * N1 * N11 Initial sequence is the two bytes given in N10 followed by BF. * Continuation bytes BE and BF are illegal (non-characters); the other * continuations transition to N0. * 1 Reject. All transitions not mentioned above (except the single * byte ones (as they are always legal) are to this state. */ # undef N0 # undef N1 # undef N2 # undef N3 # undef N4 # undef N5 # undef N6 # undef N7 # undef N8 # undef N9 # undef NUM_CLASSES # define NUM_CLASSES 19 # define N0 0 # define N1 ((N0) + NUM_CLASSES) # define N2 ((N1) + NUM_CLASSES) # define N3 ((N2) + NUM_CLASSES) # define N4 ((N3) + NUM_CLASSES) # define N5 ((N4) + NUM_CLASSES) # define N6 ((N5) + NUM_CLASSES) # define N7 ((N6) + NUM_CLASSES) # define N8 ((N7) + NUM_CLASSES) # define N9 ((N8) + NUM_CLASSES) # define N10 ((N9) + NUM_CLASSES) # define N11 ((N10) + NUM_CLASSES) /*Class: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 */ /*N0*/ 0, 1, N1, N2, N4, N7, N6, N3, N5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*N1*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*N2*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, N1, N1, N1, N1, N1, N1, N1, N1, /*N3*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, N1, N1, N1, N1, /*N4*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, N1, N1, N1, N1, N1, N8, N1, N9, /*N5*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, N2,N10, N2,N10, N2, N2, N2,N10, /*N6*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N2,N10, N2,N10, N2,N10, N2, N2, N2,N10, /*N7*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N2,N10, 1, 1, 1, 1, 1, 1, 1, 1, /*N8*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, /*N9*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, /*N10*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, N1, N1, N1, N1, N1, N1, N1,N11, /*N11*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, }; /* And below is yet another version of the above tables that accepts only UTF-8 * as defined by Corregidum #9. Hence no surrogates nor non-Unicode, but * it allows non-characters. This is isomorphic to the original table * in https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * * The classes are * 00-7F 0 * 80-8F 9 * 90-9F 10 * A0-BF 11 * C0,C1 1 * C2-DF 2 * E0 7 * E1-EC 3 * ED 4 * EE-EF 3 * F0 8 * F1-F3 6 (6 bits can be stripped) * F4 5 (only 5 can be stripped) * F5-FF 1 */ EXTCONST U8 PL_c9_utf8_dfa_tab[] = { /* The first part of the table maps bytes to character classes to reduce * the size of the transition table and create bitmasks. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*00-0F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*10-1F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*20-2F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*30-3F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*40-4F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*50-5F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*60-6F*/ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*70-7F*/ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, /*80-8F*/ 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, /*90-9F*/ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, /*A0-AF*/ 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, /*B0-BF*/ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*C0-CF*/ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, /*D0-DF*/ 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, /*E0-EF*/ 8, 6, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*F0-FF*/ /* The second part is a transition table that maps a combination * of a state of the automaton and a character class to a new state, called a * node. The nodes are: * N0 The initial state, and final accepting one. * N1 Any one continuation byte (80-BF) left. This is transitioned to * immediately when the start byte indicates a two-byte sequence * N2 Any two continuation bytes left. * N3 Any three continuation bytes left. * N4 Start byte is E0. Continuation bytes 80-9F are illegal (overlong); * the other continuations transition to state N1 * N5 Start byte is ED. Continuation bytes A0-BF all lead to surrogates, * so are illegal. The other continuations transition to state N1. * N6 Start byte is F0. Continuation bytes 80-8F are illegal (overlong); * the other continuations transition to N2 * N7 Start byte is F4. Continuation bytes 90-BF are illegal * (non-unicode); the other continuations transition to N2 * 1 Reject. All transitions not mentioned above (except the single * byte ones (as they are always legal) are to this state. */ # undef N0 # undef N1 # undef N2 # undef N3 # undef N4 # undef N5 # undef N6 # undef N7 # undef NUM_CLASSES # define NUM_CLASSES 12 # define N0 0 # define N1 ((N0) + NUM_CLASSES) # define N2 ((N1) + NUM_CLASSES) # define N3 ((N2) + NUM_CLASSES) # define N4 ((N3) + NUM_CLASSES) # define N5 ((N4) + NUM_CLASSES) # define N6 ((N5) + NUM_CLASSES) # define N7 ((N6) + NUM_CLASSES) /*Class: 0 1 2 3 4 5 6 7 8 9 10 11 */ /*N0*/ 0, 1, N1, N2, N5, N7, N3, N4, N6, 1, 1, 1, /*N1*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, /*N2*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, N1, /*N3*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N2, N2, N2, /*N4*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, /*N5*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N1, N1, 1, /*N6*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, N2, N2, /*N7*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, N2, 1, 1, }; # else /* End of is DOINIT */ EXTCONST U8 PL_extended_utf8_dfa_tab[]; EXTCONST U8 PL_strict_utf8_dfa_tab[]; EXTCONST U8 PL_c9_utf8_dfa_tab[]; # endif #endif /* end of isn't EBCDIC */ #ifndef PERL_NO_INLINE_FUNCTIONS /* Static inline funcs that depend on includes and declarations above. Some of these reference functions in the perl object files, and some compilers aren't smart enough to eliminate unused static inline functions, so including this file in source code can cause link errors even if the source code uses none of the functions. Hence including these can be suppressed by setting PERL_NO_INLINE_FUNCTIONS. Doing this will (obviously) result in unworkable XS code, but allows simple probing code to continue to work, because it permits tests to include the perl headers for definitions without creating a link dependency on the perl library (which may not exist yet). */ # include "inline.h" #endif #include "overload.h" END_EXTERN_C struct am_table { U8 flags; U8 fallback; U16 spare; U32 was_ok_sub; CV* table[NofAMmeth]; }; struct am_table_short { U8 flags; U8 fallback; U16 spare; U32 was_ok_sub; }; typedef struct am_table AMT; typedef struct am_table_short AMTS; #define AMGfallNEVER 1 #define AMGfallNO 2 #define AMGfallYES 3 #define AMTf_AMAGIC 1 #define AMT_AMAGIC(amt) ((amt)->flags & AMTf_AMAGIC) #define AMT_AMAGIC_on(amt) ((amt)->flags |= AMTf_AMAGIC) #define AMT_AMAGIC_off(amt) ((amt)->flags &= ~AMTf_AMAGIC) #define StashHANDLER(stash,meth) gv_handler((stash),CAT2(meth,_amg)) /* * some compilers like to redefine cos et alia as faster * (and less accurate?) versions called F_cos et cetera (Quidquid * latine dictum sit, altum viditur.) This trick collides with * the Perl overloading (amg). The following #defines fool both. */ #ifdef _FASTMATH # ifdef atan2 # define F_atan2_amg atan2_amg # endif # ifdef cos # define F_cos_amg cos_amg # endif # ifdef exp # define F_exp_amg exp_amg # endif # ifdef log # define F_log_amg log_amg # endif # ifdef pow # define F_pow_amg pow_amg # endif # ifdef sin # define F_sin_amg sin_amg # endif # ifdef sqrt # define F_sqrt_amg sqrt_amg # endif #endif /* _FASTMATH */ #define PERLDB_ALL (PERLDBf_SUB | PERLDBf_LINE | \ PERLDBf_NOOPT | PERLDBf_INTER | \ PERLDBf_SUBLINE| PERLDBf_SINGLE| \ PERLDBf_NAMEEVAL| PERLDBf_NAMEANON | \ PERLDBf_SAVESRC) /* No _NONAME, _GOTO */ #define PERLDBf_SUB 0x01 /* Debug sub enter/exit */ #define PERLDBf_LINE 0x02 /* Keep line # */ #define PERLDBf_NOOPT 0x04 /* Switch off optimizations */ #define PERLDBf_INTER 0x08 /* Preserve more data for later inspections */ #define PERLDBf_SUBLINE 0x10 /* Keep subr source lines */ #define PERLDBf_SINGLE 0x20 /* Start with single-step on */ #define PERLDBf_NONAME 0x40 /* For _SUB: no name of the subr */ #define PERLDBf_GOTO 0x80 /* Report goto: call DB::goto */ #define PERLDBf_NAMEEVAL 0x100 /* Informative names for evals */ #define PERLDBf_NAMEANON 0x200 /* Informative names for anon subs */ #define PERLDBf_SAVESRC 0x400 /* Save source lines into @{"_<$filename"} */ #define PERLDBf_SAVESRC_NOSUBS 0x800 /* Including evals that generate no subroutines */ #define PERLDBf_SAVESRC_INVALID 0x1000 /* Save source that did not compile */ #define PERLDB_SUB (PL_perldb & PERLDBf_SUB) #define PERLDB_LINE (PL_perldb & PERLDBf_LINE) #define PERLDB_NOOPT (PL_perldb & PERLDBf_NOOPT) #define PERLDB_INTER (PL_perldb & PERLDBf_INTER) #define PERLDB_SUBLINE (PL_perldb & PERLDBf_SUBLINE) #define PERLDB_SINGLE (PL_perldb & PERLDBf_SINGLE) #define PERLDB_SUB_NN (PL_perldb & PERLDBf_NONAME) #define PERLDB_GOTO (PL_perldb & PERLDBf_GOTO) #define PERLDB_NAMEEVAL (PL_perldb & PERLDBf_NAMEEVAL) #define PERLDB_NAMEANON (PL_perldb & PERLDBf_NAMEANON) #define PERLDB_SAVESRC (PL_perldb & PERLDBf_SAVESRC) #define PERLDB_SAVESRC_NOSUBS (PL_perldb & PERLDBf_SAVESRC_NOSUBS) #define PERLDB_SAVESRC_INVALID (PL_perldb & PERLDBf_SAVESRC_INVALID) #define PERLDB_LINE_OR_SAVESRC (PL_perldb & (PERLDBf_LINE | PERLDBf_SAVESRC)) #ifdef USE_ITHREADS # define KEYWORD_PLUGIN_MUTEX_INIT MUTEX_INIT(&PL_keyword_plugin_mutex) # define KEYWORD_PLUGIN_MUTEX_LOCK MUTEX_LOCK(&PL_keyword_plugin_mutex) # define KEYWORD_PLUGIN_MUTEX_UNLOCK MUTEX_UNLOCK(&PL_keyword_plugin_mutex) # define KEYWORD_PLUGIN_MUTEX_TERM MUTEX_DESTROY(&PL_keyword_plugin_mutex) # define USER_PROP_MUTEX_INIT MUTEX_INIT(&PL_user_prop_mutex) # define USER_PROP_MUTEX_LOCK MUTEX_LOCK(&PL_user_prop_mutex) # define USER_PROP_MUTEX_UNLOCK MUTEX_UNLOCK(&PL_user_prop_mutex) # define USER_PROP_MUTEX_TERM MUTEX_DESTROY(&PL_user_prop_mutex) #else # define KEYWORD_PLUGIN_MUTEX_INIT NOOP # define KEYWORD_PLUGIN_MUTEX_LOCK NOOP # define KEYWORD_PLUGIN_MUTEX_UNLOCK NOOP # define KEYWORD_PLUGIN_MUTEX_TERM NOOP # define USER_PROP_MUTEX_INIT NOOP # define USER_PROP_MUTEX_LOCK NOOP # define USER_PROP_MUTEX_UNLOCK NOOP # define USER_PROP_MUTEX_TERM NOOP #endif #ifdef USE_LOCALE /* These locale things are all subject to change */ /* Returns TRUE if the plain locale pragma without a parameter is in effect. * */ # define IN_LOCALE_RUNTIME (PL_curcop \ && CopHINTS_get(PL_curcop) & HINT_LOCALE) /* Returns TRUE if either form of the locale pragma is in effect */ # define IN_SOME_LOCALE_FORM_RUNTIME \ cBOOL(CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_PARTIAL)) # define IN_LOCALE_COMPILETIME cBOOL(PL_hints & HINT_LOCALE) # define IN_SOME_LOCALE_FORM_COMPILETIME \ cBOOL(PL_hints & (HINT_LOCALE|HINT_LOCALE_PARTIAL)) /* =head1 Locale-related functions and macros =for apidoc Amn|bool|IN_LOCALE Evaluates to TRUE if the plain locale pragma without a parameter (S<C<use locale>>) is in effect. =for apidoc Amn|bool|IN_LOCALE_COMPILETIME Evaluates to TRUE if, when compiling a perl program (including an C<eval>) if the plain locale pragma without a parameter (S<C<use locale>>) is in effect. =for apidoc Amn|bool|IN_LOCALE_RUNTIME Evaluates to TRUE if, when executing a perl program (including an C<eval>) if the plain locale pragma without a parameter (S<C<use locale>>) is in effect. =cut */ # define IN_LOCALE \ (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME) # define IN_SOME_LOCALE_FORM \ (IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME \ : IN_SOME_LOCALE_FORM_RUNTIME) # define IN_LC_ALL_COMPILETIME IN_LOCALE_COMPILETIME # define IN_LC_ALL_RUNTIME IN_LOCALE_RUNTIME # define IN_LC_PARTIAL_COMPILETIME cBOOL(PL_hints & HINT_LOCALE_PARTIAL) # define IN_LC_PARTIAL_RUNTIME \ (PL_curcop && CopHINTS_get(PL_curcop) & HINT_LOCALE_PARTIAL) # define IN_LC_COMPILETIME(category) \ ( IN_LC_ALL_COMPILETIME \ || ( IN_LC_PARTIAL_COMPILETIME \ && Perl__is_in_locale_category(aTHX_ TRUE, (category)))) # define IN_LC_RUNTIME(category) \ (IN_LC_ALL_RUNTIME || (IN_LC_PARTIAL_RUNTIME \ && Perl__is_in_locale_category(aTHX_ FALSE, (category)))) # define IN_LC(category) \ (IN_LC_COMPILETIME(category) || IN_LC_RUNTIME(category)) # if defined (PERL_CORE) || defined (PERL_IN_XSUB_RE) /* This internal macro should be called from places that operate under * locale rules. If there is a problem with the current locale that * hasn't been raised yet, it will output a warning this time. Because * this will so rarely be true, there is no point to optimize for time; * instead it makes sense to minimize space used and do all the work in * the rarely called function */ # ifdef USE_LOCALE_CTYPE # define _CHECK_AND_WARN_PROBLEMATIC_LOCALE \ STMT_START { \ if (UNLIKELY(PL_warn_locale)) { \ Perl__warn_problematic_locale(); \ } \ } STMT_END # else # define _CHECK_AND_WARN_PROBLEMATIC_LOCALE # endif /* These two internal macros are called when a warning should be raised, * and will do so if enabled. The first takes a single code point * argument; the 2nd, is a pointer to the first byte of the UTF-8 encoded * string, and an end position which it won't try to read past */ # define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(cp) \ STMT_START { \ if (! PL_in_utf8_CTYPE_locale && ckWARN(WARN_LOCALE)) { \ Perl_warner(aTHX_ packWARN(WARN_LOCALE), \ "Wide character (U+%" UVXf ") in %s",\ (UV) cp, OP_DESC(PL_op)); \ } \ } STMT_END # define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send) \ STMT_START { /* Check if to warn before doing the conversion work */\ if (! PL_in_utf8_CTYPE_locale && ckWARN(WARN_LOCALE)) { \ UV cp = utf8_to_uvchr_buf((U8 *) (s), (U8 *) (send), NULL); \ Perl_warner(aTHX_ packWARN(WARN_LOCALE), \ "Wide character (U+%" UVXf ") in %s", \ (cp == 0) \ ? UNICODE_REPLACEMENT \ : (UV) cp, \ OP_DESC(PL_op)); \ } \ } STMT_END # endif /* PERL_CORE or PERL_IN_XSUB_RE */ #else /* No locale usage */ # define IN_LOCALE_RUNTIME 0 # define IN_SOME_LOCALE_FORM_RUNTIME 0 # define IN_LOCALE_COMPILETIME 0 # define IN_SOME_LOCALE_FORM_COMPILETIME 0 # define IN_LOCALE 0 # define IN_SOME_LOCALE_FORM 0 # define IN_LC_ALL_COMPILETIME 0 # define IN_LC_ALL_RUNTIME 0 # define IN_LC_PARTIAL_COMPILETIME 0 # define IN_LC_PARTIAL_RUNTIME 0 # define IN_LC_COMPILETIME(category) 0 # define IN_LC_RUNTIME(category) 0 # define IN_LC(category) 0 # define _CHECK_AND_WARN_PROBLEMATIC_LOCALE # define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send) # define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c) #endif /* Locale/thread synchronization macros. These aren't needed if using * thread-safe locale operations, except if something is broken */ #if defined(USE_LOCALE) \ && defined(USE_ITHREADS) \ && (! defined(USE_THREAD_SAFE_LOCALE) || defined(TS_W32_BROKEN_LOCALECONV)) /* We have a locale object holding the 'C' locale for Posix 2008 */ # ifndef USE_POSIX_2008_LOCALE # define _LOCALE_TERM_POSIX_2008 NOOP # else # define _LOCALE_TERM_POSIX_2008 \ STMT_START { \ if (PL_C_locale_obj) { \ /* Make sure we aren't using the locale \ * space we are about to free */ \ uselocale(LC_GLOBAL_LOCALE); \ freelocale(PL_C_locale_obj); \ PL_C_locale_obj = (locale_t) NULL; \ } \ } STMT_END # endif /* This is used as a generic lock for locale operations. For example this is * used when calling nl_langinfo() so that another thread won't zap the * contents of its buffer before it gets saved; and it's called when changing * the locale of LC_MESSAGES. On some systems the latter can cause the * nl_langinfo buffer to be zapped under a race condition. * * If combined with LC_NUMERIC_LOCK, calls to this and its corresponding unlock * should be contained entirely within the locked portion of LC_NUMERIC. This * mutex should be used only in very short sections of code, while * LC_NUMERIC_LOCK may span more operations. By always following this * convention, deadlock should be impossible. But if necessary, the two * mutexes could be combined. * * Actually, the two macros just below with the '_V' suffixes are used in just * a few places where there is a broken localeconv(), but otherwise things are * thread safe, and hence don't need locking. Just below LOCALE_LOCK and * LOCALE_UNLOCK are defined in terms of these for use everywhere else */ # define LOCALE_LOCK_V \ STMT_START { \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: locking locale\n", __FILE__, __LINE__)); \ MUTEX_LOCK(&PL_locale_mutex); \ } STMT_END # define LOCALE_UNLOCK_V \ STMT_START { \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: unlocking locale\n", __FILE__, __LINE__)); \ MUTEX_UNLOCK(&PL_locale_mutex); \ } STMT_END /* On windows, we just need the mutex for LOCALE_LOCK */ # ifdef TS_W32_BROKEN_LOCALECONV # define LOCALE_LOCK NOOP # define LOCALE_UNLOCK NOOP # define LOCALE_INIT MUTEX_INIT(&PL_locale_mutex); # define LOCALE_TERM MUTEX_DESTROY(&PL_locale_mutex) # define LC_NUMERIC_LOCK(cond) # define LC_NUMERIC_UNLOCK # else # define LOCALE_LOCK LOCALE_LOCK_V # define LOCALE_UNLOCK LOCALE_UNLOCK_V /* We also need to lock LC_NUMERIC for non-windows (hence Posix 2008) * systems */ # define LOCALE_INIT STMT_START { \ MUTEX_INIT(&PL_locale_mutex); \ MUTEX_INIT(&PL_lc_numeric_mutex); \ } STMT_END # define LOCALE_TERM STMT_START { \ MUTEX_DESTROY(&PL_locale_mutex); \ MUTEX_DESTROY(&PL_lc_numeric_mutex); \ _LOCALE_TERM_POSIX_2008; \ } STMT_END /* This mutex is used to create critical sections where we want the * LC_NUMERIC locale to be locked into either the C (standard) locale, or * the underlying locale, so that other threads interrupting this one don't * change it to the wrong state before we've had a chance to complete our * operation. It can stay locked over an entire printf operation, for * example. And so is made distinct from the LOCALE_LOCK mutex. * * This simulates kind of a general semaphore. The current thread will * lock the mutex if the per-thread variable is zero, and then increments * that variable. Each corresponding UNLOCK decrements the variable until * it is 0, at which point it actually unlocks the mutex. Since the * variable is per-thread, there is no race with other threads. * * The single argument is a condition to test for, and if true, to panic, * as this would be an attempt to complement the LC_NUMERIC state, and * we're not supposed to because it's locked. * * Clang improperly gives warnings for this, if not silenced: * https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#conditional-locks * */ # define LC_NUMERIC_LOCK(cond_to_panic_if_already_locked) \ CLANG_DIAG_IGNORE(-Wthread-safety) \ STMT_START { \ if (PL_lc_numeric_mutex_depth <= 0) { \ MUTEX_LOCK(&PL_lc_numeric_mutex); \ PL_lc_numeric_mutex_depth = 1; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: locking lc_numeric; depth=1\n", \ __FILE__, __LINE__)); \ } \ else { \ PL_lc_numeric_mutex_depth++; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: avoided lc_numeric_lock; new depth=%d\n", \ __FILE__, __LINE__, PL_lc_numeric_mutex_depth)); \ if (cond_to_panic_if_already_locked) { \ Perl_croak_nocontext("panic: %s: %d: Trying to change" \ " LC_NUMERIC incompatibly", \ __FILE__, __LINE__); \ } \ } \ } STMT_END # define LC_NUMERIC_UNLOCK \ STMT_START { \ if (PL_lc_numeric_mutex_depth <= 1) { \ MUTEX_UNLOCK(&PL_lc_numeric_mutex); \ PL_lc_numeric_mutex_depth = 0; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: unlocking lc_numeric; depth=0\n", \ __FILE__, __LINE__)); \ } \ else { \ PL_lc_numeric_mutex_depth--; \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: avoided lc_numeric_unlock; new depth=%d\n",\ __FILE__, __LINE__, PL_lc_numeric_mutex_depth)); \ } \ } STMT_END \ CLANG_DIAG_RESTORE # endif /* End of needs locking LC_NUMERIC */ #else /* Below is no locale sync needed */ # define LOCALE_INIT # define LOCALE_LOCK # define LOCALE_LOCK_V # define LOCALE_UNLOCK # define LOCALE_UNLOCK_V # define LC_NUMERIC_LOCK(cond) # define LC_NUMERIC_UNLOCK # define LOCALE_TERM #endif #ifdef USE_LOCALE_NUMERIC /* These macros are for toggling between the underlying locale (UNDERLYING or * LOCAL) and the C locale (STANDARD). (Actually we don't have to use the C * locale if the underlying locale is indistinguishable from it in the numeric * operations used by Perl, namely the decimal point, and even the thousands * separator.) =head1 Locale-related functions and macros =for apidoc Amn|void|DECLARATION_FOR_LC_NUMERIC_MANIPULATION This macro should be used as a statement. It declares a private variable (whose name begins with an underscore) that is needed by the other macros in this section. Failing to include this correctly should lead to a syntax error. For compatibility with C89 C compilers it should be placed in a block before any executable statements. =for apidoc Am|void|STORE_LC_NUMERIC_FORCE_TO_UNDERLYING This is used by XS code that is C<LC_NUMERIC> locale-aware to force the locale for category C<LC_NUMERIC> to be what perl thinks is the current underlying locale. (The perl interpreter could be wrong about what the underlying locale actually is if some C or XS code has called the C library function L<setlocale(3)> behind its back; calling L</sync_locale> before calling this macro will update perl's records.) A call to L</DECLARATION_FOR_LC_NUMERIC_MANIPULATION> must have been made to declare at compile time a private variable used by this macro. This macro should be called as a single statement, not an expression, but with an empty argument list, like this: { DECLARATION_FOR_LC_NUMERIC_MANIPULATION; ... STORE_LC_NUMERIC_FORCE_TO_UNDERLYING(); ... RESTORE_LC_NUMERIC(); ... } The private variable is used to save the current locale state, so that the requisite matching call to L</RESTORE_LC_NUMERIC> can restore it. On threaded perls not operating with thread-safe functionality, this macro uses a mutex to force a critical section. Therefore the matching RESTORE should be close by, and guaranteed to be called. =for apidoc Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED This is used to help wrap XS or C code that is C<LC_NUMERIC> locale-aware. This locale category is generally kept set to a locale where the decimal radix character is a dot, and the separator between groups of digits is empty. This is because most XS code that reads floating point numbers is expecting them to have this syntax. This macro makes sure the current C<LC_NUMERIC> state is set properly, to be aware of locale if the call to the XS or C code from the Perl program is from within the scope of a S<C<use locale>>; or to ignore locale if the call is instead from outside such scope. This macro is the start of wrapping the C or XS code; the wrap ending is done by calling the L</RESTORE_LC_NUMERIC> macro after the operation. Otherwise the state can be changed that will adversely affect other XS code. A call to L</DECLARATION_FOR_LC_NUMERIC_MANIPULATION> must have been made to declare at compile time a private variable used by this macro. This macro should be called as a single statement, not an expression, but with an empty argument list, like this: { DECLARATION_FOR_LC_NUMERIC_MANIPULATION; ... STORE_LC_NUMERIC_SET_TO_NEEDED(); ... RESTORE_LC_NUMERIC(); ... } On threaded perls not operating with thread-safe functionality, this macro uses a mutex to force a critical section. Therefore the matching RESTORE should be close by, and guaranteed to be called; see L</WITH_LC_NUMERIC_SET_TO_NEEDED> for a more contained way to ensure that. =for apidoc Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED_IN|bool in_lc_numeric Same as L</STORE_LC_NUMERIC_SET_TO_NEEDED> with in_lc_numeric provided as the precalculated value of C<IN_LC(LC_NUMERIC)>. It is the caller's responsibility to ensure that the status of C<PL_compiling> and C<PL_hints> cannot have changed since the precalculation. =for apidoc Am|void|RESTORE_LC_NUMERIC This is used in conjunction with one of the macros L</STORE_LC_NUMERIC_SET_TO_NEEDED> and L</STORE_LC_NUMERIC_FORCE_TO_UNDERLYING> to properly restore the C<LC_NUMERIC> state. A call to L</DECLARATION_FOR_LC_NUMERIC_MANIPULATION> must have been made to declare at compile time a private variable used by this macro and the two C<STORE> ones. This macro should be called as a single statement, not an expression, but with an empty argument list, like this: { DECLARATION_FOR_LC_NUMERIC_MANIPULATION; ... RESTORE_LC_NUMERIC(); ... } =for apidoc Am|void|WITH_LC_NUMERIC_SET_TO_NEEDED|block This macro invokes the supplied statement or block within the context of a L</STORE_LC_NUMERIC_SET_TO_NEEDED> .. L</RESTORE_LC_NUMERIC> pair if required, so eg: WITH_LC_NUMERIC_SET_TO_NEEDED( SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis) ); is equivalent to: { #ifdef USE_LOCALE_NUMERIC DECLARATION_FOR_LC_NUMERIC_MANIPULATION; STORE_LC_NUMERIC_SET_TO_NEEDED(); #endif SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis); #ifdef USE_LOCALE_NUMERIC RESTORE_LC_NUMERIC(); #endif } =for apidoc Am|void|WITH_LC_NUMERIC_SET_TO_NEEDED_IN|bool in_lc_numeric|block Same as L</WITH_LC_NUMERIC_SET_TO_NEEDED> with in_lc_numeric provided as the precalculated value of C<IN_LC(LC_NUMERIC)>. It is the caller's responsibility to ensure that the status of C<PL_compiling> and C<PL_hints> cannot have changed since the precalculation. =cut */ /* If the underlying numeric locale has a non-dot decimal point or has a * non-empty floating point thousands separator, the current locale is instead * generally kept in the C locale instead of that underlying locale. The * current status is known by looking at two words. One is non-zero if the * current numeric locale is the standard C/POSIX one or is indistinguishable * from C. The other is non-zero if the current locale is the underlying * locale. Both can be non-zero if, as often happens, the underlying locale is * C or indistinguishable from it. * * khw believes the reason for the variables instead of the bits in a single * word is to avoid having to have masking instructions. */ # define _NOT_IN_NUMERIC_STANDARD (! PL_numeric_standard) /* We can lock the category to stay in the C locale, making requests to the * contrary be noops, in the dynamic scope by setting PL_numeric_standard to 2. * */ # define _NOT_IN_NUMERIC_UNDERLYING \ (! PL_numeric_underlying && PL_numeric_standard < 2) # define DECLARATION_FOR_LC_NUMERIC_MANIPULATION \ void (*_restore_LC_NUMERIC_function)(pTHX) = NULL # define STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in) \ STMT_START { \ bool _in_lc_numeric = (in); \ LC_NUMERIC_LOCK( \ ( ( _in_lc_numeric && _NOT_IN_NUMERIC_UNDERLYING) \ || (! _in_lc_numeric && _NOT_IN_NUMERIC_STANDARD))); \ if (_in_lc_numeric) { \ if (_NOT_IN_NUMERIC_UNDERLYING) { \ Perl_set_numeric_underlying(aTHX); \ _restore_LC_NUMERIC_function \ = &Perl_set_numeric_standard; \ } \ } \ else { \ if (_NOT_IN_NUMERIC_STANDARD) { \ Perl_set_numeric_standard(aTHX); \ _restore_LC_NUMERIC_function \ = &Perl_set_numeric_underlying; \ } \ } \ } STMT_END # define STORE_LC_NUMERIC_SET_TO_NEEDED() \ STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC)) # define RESTORE_LC_NUMERIC() \ STMT_START { \ if (_restore_LC_NUMERIC_function) { \ _restore_LC_NUMERIC_function(aTHX); \ } \ LC_NUMERIC_UNLOCK; \ } STMT_END /* The next two macros set unconditionally. These should be rarely used, and * only after being sure that this is what is needed */ # define SET_NUMERIC_STANDARD() \ STMT_START { \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: lc_numeric standard=%d\n", \ __FILE__, __LINE__, PL_numeric_standard)); \ Perl_set_numeric_standard(aTHX); \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: lc_numeric standard=%d\n", \ __FILE__, __LINE__, PL_numeric_standard)); \ } STMT_END # define SET_NUMERIC_UNDERLYING() \ STMT_START { \ if (_NOT_IN_NUMERIC_UNDERLYING) { \ Perl_set_numeric_underlying(aTHX); \ } \ } STMT_END /* The rest of these LC_NUMERIC macros toggle to one or the other state, with * the RESTORE_foo ones called to switch back, but only if need be */ # define STORE_LC_NUMERIC_SET_STANDARD() \ STMT_START { \ LC_NUMERIC_LOCK(_NOT_IN_NUMERIC_STANDARD); \ if (_NOT_IN_NUMERIC_STANDARD) { \ _restore_LC_NUMERIC_function = &Perl_set_numeric_underlying;\ Perl_set_numeric_standard(aTHX); \ } \ } STMT_END /* Rarely, we want to change to the underlying locale even outside of 'use * locale'. This is principally in the POSIX:: functions */ # define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING() \ STMT_START { \ LC_NUMERIC_LOCK(_NOT_IN_NUMERIC_UNDERLYING); \ if (_NOT_IN_NUMERIC_UNDERLYING) { \ Perl_set_numeric_underlying(aTHX); \ _restore_LC_NUMERIC_function = &Perl_set_numeric_standard; \ } \ } STMT_END /* Lock/unlock to the C locale until unlock is called. This needs to be * recursively callable. [perl #128207] */ # define LOCK_LC_NUMERIC_STANDARD() \ STMT_START { \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: lock lc_numeric_standard: new depth=%d\n", \ __FILE__, __LINE__, PL_numeric_standard + 1)); \ __ASSERT_(PL_numeric_standard) \ PL_numeric_standard++; \ } STMT_END # define UNLOCK_LC_NUMERIC_STANDARD() \ STMT_START { \ if (PL_numeric_standard > 1) { \ PL_numeric_standard--; \ } \ else { \ assert(0); \ } \ DEBUG_Lv(PerlIO_printf(Perl_debug_log, \ "%s: %d: lc_numeric_standard decrement lock, new depth=%d\n", \ __FILE__, __LINE__, PL_numeric_standard)); \ } STMT_END # define WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric, block) \ STMT_START { \ DECLARATION_FOR_LC_NUMERIC_MANIPULATION; \ STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric); \ block; \ RESTORE_LC_NUMERIC(); \ } STMT_END; # define WITH_LC_NUMERIC_SET_TO_NEEDED(block) \ WITH_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC), block) #else /* !USE_LOCALE_NUMERIC */ # define SET_NUMERIC_STANDARD() # define SET_NUMERIC_UNDERLYING() # define IS_NUMERIC_RADIX(a, b) (0) # define DECLARATION_FOR_LC_NUMERIC_MANIPULATION dNOOP # define STORE_LC_NUMERIC_SET_STANDARD() # define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING() # define STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric) # define STORE_LC_NUMERIC_SET_TO_NEEDED() # define RESTORE_LC_NUMERIC() # define LOCK_LC_NUMERIC_STANDARD() # define UNLOCK_LC_NUMERIC_STANDARD() # define WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric, block) \ STMT_START { block; } STMT_END # define WITH_LC_NUMERIC_SET_TO_NEEDED(block) \ STMT_START { block; } STMT_END #endif /* !USE_LOCALE_NUMERIC */ #define Atof my_atof /* =head1 Numeric functions =for apidoc AmTR|NV|Strtod|NN const char * const s|NULLOK char ** e This is a synonym for L</my_strtod>. =for apidoc AmTR|NV|Strtol|NN const char * const s|NULLOK char ** e|int base Platform and configuration independent C<strtol>. This expands to the appropriate C<strotol>-like function based on the platform and F<Configure> options>. For example it could expand to C<strtoll> or C<strtoq> instead of C<strtol>. =for apidoc AmTR|NV|Strtoul|NN const char * const s|NULLOK char ** e|int base Platform and configuration independent C<strtoul>. This expands to the appropriate C<strotoul>-like function based on the platform and F<Configure> options>. For example it could expand to C<strtoull> or C<strtouq> instead of C<strtoul>. =cut */ #define Strtod my_strtod #if defined(HAS_STRTOD) \ || defined(USE_QUADMATH) \ || (defined(HAS_STRTOLD) && defined(HAS_LONG_DOUBLE) \ && defined(USE_LONG_DOUBLE)) # define Perl_strtod Strtod #endif #if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && \ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64) # ifdef __hpux # define strtoll __strtoll /* secret handshake */ # endif # if defined(WIN64) && defined(_MSC_VER) # define strtoll _strtoi64 /* secret handshake */ # endif # if !defined(Strtol) && defined(HAS_STRTOLL) # define Strtol strtoll # endif # if !defined(Strtol) && defined(HAS_STRTOQ) # define Strtol strtoq # endif /* is there atoq() anywhere? */ #endif #if !defined(Strtol) && defined(HAS_STRTOL) # define Strtol strtol #endif #ifndef Atol /* It would be more fashionable to use Strtol() to define atol() * (as is done for Atoul(), see below) but for backward compatibility * we just assume atol(). */ # if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && defined(HAS_ATOLL) && \ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64) # ifdef WIN64 # define atoll _atoi64 /* secret handshake */ # endif # define Atol atoll # else # define Atol atol # endif #endif #if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && \ (QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64) # ifdef __hpux # define strtoull __strtoull /* secret handshake */ # endif # if defined(WIN64) && defined(_MSC_VER) # define strtoull _strtoui64 /* secret handshake */ # endif # if !defined(Strtoul) && defined(HAS_STRTOULL) # define Strtoul strtoull # endif # if !defined(Strtoul) && defined(HAS_STRTOUQ) # define Strtoul strtouq # endif /* is there atouq() anywhere? */ #endif #if !defined(Strtoul) && defined(HAS_STRTOUL) # define Strtoul strtoul #endif #if !defined(Strtoul) && defined(HAS_STRTOL) /* Last resort. */ # define Strtoul(s, e, b) strchr((s), '-') ? ULONG_MAX : (unsigned long)strtol((s), (e), (b)) #endif #ifndef Atoul # define Atoul(s) Strtoul(s, NULL, 10) #endif #define grok_bin(s,lp,fp,rp) \ grok_bin_oct_hex(s, lp, fp, rp, 1, _CC_BINDIGIT, 'b') #define grok_oct(s,lp,fp,rp) \ (*(fp) |= PERL_SCAN_DISALLOW_PREFIX, \ grok_bin_oct_hex(s, lp, fp, rp, 3, _CC_OCTDIGIT, '\0')) #define grok_hex(s,lp,fp,rp) \ grok_bin_oct_hex(s, lp, fp, rp, 4, _CC_XDIGIT, 'x') #ifndef PERL_SCRIPT_MODE #define PERL_SCRIPT_MODE "r" #endif /* not used. Kept as a NOOP for backcompat */ #define PERL_STACK_OVERFLOW_CHECK() NOOP /* * Some nonpreemptive operating systems find it convenient to * check for asynchronous conditions after each op execution. * Keep this check simple, or it may slow down execution * massively. */ #ifndef PERL_MICRO # ifndef PERL_ASYNC_CHECK # define PERL_ASYNC_CHECK() if (UNLIKELY(PL_sig_pending)) PL_signalhook(aTHX) # endif #endif #ifndef PERL_ASYNC_CHECK # define PERL_ASYNC_CHECK() NOOP #endif /* * On some operating systems, a memory allocation may succeed, * but put the process too close to the system's comfort limit. * In this case, PERL_ALLOC_CHECK frees the pointer and sets * it to NULL. */ #ifndef PERL_ALLOC_CHECK #define PERL_ALLOC_CHECK(p) NOOP #endif #ifdef HAS_SEM # include <sys/ipc.h> # include <sys/sem.h> # ifndef HAS_UNION_SEMUN /* Provide the union semun. */ union semun { int val; struct semid_ds *buf; unsigned short *array; }; # endif # ifdef USE_SEMCTL_SEMUN # ifdef IRIX32_SEMUN_BROKEN_BY_GCC union gccbug_semun { int val; struct semid_ds *buf; unsigned short *array; char __dummy[5]; }; # define semun gccbug_semun # endif # define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun) # elif defined(USE_SEMCTL_SEMID_DS) # ifdef EXTRA_F_IN_SEMUN_BUF # define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buff) # else # define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buf) # endif # endif #endif /* * Boilerplate macros for initializing and accessing interpreter-local * data from C. All statics in extensions should be reworked to use * this, if you want to make the extension thread-safe. See * ext/XS/APItest/APItest.xs for an example of the use of these macros, * and perlxs.pod for more. * * Code that uses these macros is responsible for the following: * 1. #define MY_CXT_KEY to a unique string, e.g. * "DynaLoader::_guts" XS_VERSION * XXX in the current implementation, this string is ignored. * 2. Declare a typedef named my_cxt_t that is a structure that contains * all the data that needs to be interpreter-local. * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t. * 4. Use the MY_CXT_INIT macro such that it is called exactly once * (typically put in the BOOT: section). * 5. Use the members of the my_cxt_t structure everywhere as * MY_CXT.member. * 6. Use the dMY_CXT macro (a declaration) in all the functions that * access MY_CXT. */ #if defined(PERL_IMPLICIT_CONTEXT) /* START_MY_CXT must appear in all extensions that define a my_cxt_t structure, * right after the definition (i.e. at file scope). The non-threads * case below uses it to declare the data as static. */ # ifdef PERL_GLOBAL_STRUCT_PRIVATE # define START_MY_CXT # define MY_CXT_INDEX Perl_my_cxt_index(aTHX_ MY_CXT_KEY) # define MY_CXT_INIT_ARG MY_CXT_KEY # else # define START_MY_CXT static int my_cxt_index = -1; # define MY_CXT_INDEX my_cxt_index # define MY_CXT_INIT_ARG &my_cxt_index # endif /* #ifdef PERL_GLOBAL_STRUCT_PRIVATE */ /* Creates and zeroes the per-interpreter data. * (We allocate my_cxtp in a Perl SV so that it will be released when * the interpreter goes away.) */ # define MY_CXT_INIT \ my_cxt_t *my_cxtp = \ (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \ PERL_UNUSED_VAR(my_cxtp) # define MY_CXT_INIT_INTERP(my_perl) \ my_cxt_t *my_cxtp = \ (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \ PERL_UNUSED_VAR(my_cxtp) /* This declaration should be used within all functions that use the * interpreter-local data. */ # define dMY_CXT \ my_cxt_t *my_cxtp = (my_cxt_t *)PL_my_cxt_list[MY_CXT_INDEX] # define dMY_CXT_INTERP(my_perl) \ my_cxt_t *my_cxtp = (my_cxt_t *)(my_perl)->Imy_cxt_list[MY_CXT_INDEX] /* Clones the per-interpreter data. */ # define MY_CXT_CLONE \ my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\ void * old_my_cxtp = PL_my_cxt_list[MY_CXT_INDEX]; \ PL_my_cxt_list[MY_CXT_INDEX] = my_cxtp; \ Copy(old_my_cxtp, my_cxtp, 1, my_cxt_t); /* This macro must be used to access members of the my_cxt_t structure. * e.g. MY_CXT.some_data */ # define MY_CXT (*my_cxtp) /* Judicious use of these macros can reduce the number of times dMY_CXT * is used. Use is similar to pTHX, aTHX etc. */ # define pMY_CXT my_cxt_t *my_cxtp # define pMY_CXT_ pMY_CXT, # define _pMY_CXT ,pMY_CXT # define aMY_CXT my_cxtp # define aMY_CXT_ aMY_CXT, # define _aMY_CXT ,aMY_CXT #else /* PERL_IMPLICIT_CONTEXT */ # define START_MY_CXT static my_cxt_t my_cxt; # define dMY_CXT_SV dNOOP # define dMY_CXT dNOOP # define dMY_CXT_INTERP(my_perl) dNOOP # define MY_CXT_INIT NOOP # define MY_CXT_CLONE NOOP # define MY_CXT my_cxt # define pMY_CXT void # define pMY_CXT_ # define _pMY_CXT # define aMY_CXT # define aMY_CXT_ # define _aMY_CXT #endif /* !defined(PERL_IMPLICIT_CONTEXT) */ #ifdef I_FCNTL # include <fcntl.h> #endif #ifdef __Lynx__ # include <fcntl.h> #endif #ifdef __amigaos4__ # undef FD_CLOEXEC /* a lie in AmigaOS */ #endif #ifdef I_SYS_FILE # include <sys/file.h> #endif #if defined(HAS_FLOCK) && !defined(HAS_FLOCK_PROTO) EXTERN_C int flock(int fd, int op); #endif #ifndef O_RDONLY /* Assume UNIX defaults */ # define O_RDONLY 0000 # define O_WRONLY 0001 # define O_RDWR 0002 # define O_CREAT 0100 #endif #ifndef O_BINARY # define O_BINARY 0 #endif #ifndef O_TEXT # define O_TEXT 0 #endif #if O_TEXT != O_BINARY /* If you have different O_TEXT and O_BINARY and you are a CRLF shop, * that is, you are somehow DOSish. */ # if defined(__HAIKU__) || defined(__VOS__) || defined(__CYGWIN__) /* Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect; * Haiku is always UNIXoid (LF), not DOSish (CRLF). */ /* VOS has O_TEXT != O_BINARY, and they have effect, * but VOS always uses LF, never CRLF. */ /* If you have O_TEXT different from your O_BINARY but you still are * not a CRLF shop. */ # undef PERLIO_USING_CRLF # else /* If you really are DOSish. */ # define PERLIO_USING_CRLF 1 # endif #endif #ifdef I_LIBUTIL # include <libutil.h> /* setproctitle() in some FreeBSDs */ #endif #ifndef EXEC_ARGV_CAST #define EXEC_ARGV_CAST(x) (char **)x #endif #define IS_NUMBER_IN_UV 0x01 /* number within UV range (maybe not int). value returned in pointed- to UV */ #define IS_NUMBER_GREATER_THAN_UV_MAX 0x02 /* pointed to UV undefined */ #define IS_NUMBER_NOT_INT 0x04 /* saw . or E notation or infnan */ #define IS_NUMBER_NEG 0x08 /* leading minus sign */ #define IS_NUMBER_INFINITY 0x10 /* this is big */ #define IS_NUMBER_NAN 0x20 /* this is not */ #define IS_NUMBER_TRAILING 0x40 /* number has trailing trash */ /* =head1 Numeric functions =for apidoc AmdR|bool|GROK_NUMERIC_RADIX|NN const char **sp|NN const char *send A synonym for L</grok_numeric_radix> =cut */ #define GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send) /* Number scan flags. All are used for input, the ones used for output are so * marked */ #define PERL_SCAN_ALLOW_UNDERSCORES 0x01 /* grok_??? accept _ in numbers */ #define PERL_SCAN_DISALLOW_PREFIX 0x02 /* grok_??? reject 0x in hex etc */ /* grok_??? input: ignored; output: found overflow */ #define PERL_SCAN_GREATER_THAN_UV_MAX 0x04 /* grok_??? don't warn about illegal digits. To preserve total backcompat, * this isn't set on output if one is found. Instead, see * PERL_SCAN_NOTIFY_ILLDIGIT. */ #define PERL_SCAN_SILENT_ILLDIGIT 0x08 #define PERL_SCAN_TRAILING 0x10 /* grok_number_flags() allow trailing and set IS_NUMBER_TRAILING */ /* These are considered experimental, so not exposed publicly */ #if defined(PERL_CORE) || defined(PERL_EXT) /* grok_??? don't warn about very large numbers which are <= UV_MAX; * output: found such a number */ # define PERL_SCAN_SILENT_NON_PORTABLE 0x20 /* If this is set on input, and no illegal digit is found, it will be cleared * on output; otherwise unchanged */ # define PERL_SCAN_NOTIFY_ILLDIGIT 0x40 /* Don't warn on overflow; output flag still set */ # define PERL_SCAN_SILENT_OVERFLOW 0x80 /* Forbid a leading underscore, which the other one doesn't */ # define PERL_SCAN_ALLOW_MEDIAL_UNDERSCORES (0x100|PERL_SCAN_ALLOW_UNDERSCORES) #endif /* to let user control profiling */ #ifdef PERL_GPROF_CONTROL extern void moncontrol(int); #define PERL_GPROF_MONCONTROL(x) moncontrol(x) #else #define PERL_GPROF_MONCONTROL(x) #endif /* ISO 6429 NEL - C1 control NExt Line */ /* See https://www.unicode.org/unicode/reports/tr13/ */ #define NEXT_LINE_CHAR NEXT_LINE_NATIVE #ifndef PIPESOCK_MODE # define PIPESOCK_MODE #endif #ifndef SOCKET_OPEN_MODE # define SOCKET_OPEN_MODE PIPESOCK_MODE #endif #ifndef PIPE_OPEN_MODE # define PIPE_OPEN_MODE PIPESOCK_MODE #endif #define PERL_MAGIC_UTF8_CACHESIZE 2 #define PERL_UNICODE_STDIN_FLAG 0x0001 #define PERL_UNICODE_STDOUT_FLAG 0x0002 #define PERL_UNICODE_STDERR_FLAG 0x0004 #define PERL_UNICODE_IN_FLAG 0x0008 #define PERL_UNICODE_OUT_FLAG 0x0010 #define PERL_UNICODE_ARGV_FLAG 0x0020 #define PERL_UNICODE_LOCALE_FLAG 0x0040 #define PERL_UNICODE_WIDESYSCALLS_FLAG 0x0080 /* for Sarathy */ #define PERL_UNICODE_UTF8CACHEASSERT_FLAG 0x0100 #define PERL_UNICODE_STD_FLAG \ (PERL_UNICODE_STDIN_FLAG | \ PERL_UNICODE_STDOUT_FLAG | \ PERL_UNICODE_STDERR_FLAG) #define PERL_UNICODE_INOUT_FLAG \ (PERL_UNICODE_IN_FLAG | \ PERL_UNICODE_OUT_FLAG) #define PERL_UNICODE_DEFAULT_FLAGS \ (PERL_UNICODE_STD_FLAG | \ PERL_UNICODE_INOUT_FLAG | \ PERL_UNICODE_LOCALE_FLAG) #define PERL_UNICODE_ALL_FLAGS 0x01ff #define PERL_UNICODE_STDIN 'I' #define PERL_UNICODE_STDOUT 'O' #define PERL_UNICODE_STDERR 'E' #define PERL_UNICODE_STD 'S' #define PERL_UNICODE_IN 'i' #define PERL_UNICODE_OUT 'o' #define PERL_UNICODE_INOUT 'D' #define PERL_UNICODE_ARGV 'A' #define PERL_UNICODE_LOCALE 'L' #define PERL_UNICODE_WIDESYSCALLS 'W' #define PERL_UNICODE_UTF8CACHEASSERT 'a' #define PERL_SIGNALS_UNSAFE_FLAG 0x0001 /* =head1 Numeric functions =for apidoc Am|int|PERL_ABS|int Typeless C<abs> or C<fabs>, I<etc>. (The usage below indicates it is for integers, but it works for any type.) Use instead of these, since the C library ones force their argument to be what it is expecting, potentially leading to disaster. But also beware that this evaluates its argument twice, so no C<x++>. =cut */ #define PERL_ABS(x) ((x) < 0 ? -(x) : (x)) #if defined(__DECC) && defined(__osf__) #pragma message disable (mainparm) /* Perl uses the envp in main(). */ #endif #define do_open(g, n, l, a, rm, rp, sf) \ do_openn(g, n, l, a, rm, rp, sf, (SV **) NULL, 0) #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION # define do_exec(cmd) do_exec3(cmd,0,0) #endif #ifdef OS2 # define do_aexec Perl_do_aexec #else # define do_aexec(really, mark,sp) do_aexec5(really, mark, sp, 0, 0) #endif /* =head1 Miscellaneous Functions =for apidoc Am|bool|IS_SAFE_SYSCALL|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name Same as L</is_safe_syscall>. =cut Allows one ending \0 */ #define IS_SAFE_SYSCALL(p, len, what, op_name) (Perl_is_safe_syscall(aTHX_ (p), (len), (what), (op_name))) #define IS_SAFE_PATHNAME(p, len, op_name) IS_SAFE_SYSCALL((p), (len), "pathname", (op_name)) #if defined(OEMVS) || defined(__amigaos4__) #define NO_ENV_ARRAY_IN_MAIN #endif /* These are used by Perl_pv_escape() and Perl_pv_pretty() * are here so that they are available throughout the core * NOTE that even though some are for _escape and some for _pretty * there must not be any clashes as the flags from _pretty are * passed straight through to _escape. */ #define PERL_PV_ESCAPE_QUOTE 0x000001 #define PERL_PV_PRETTY_QUOTE PERL_PV_ESCAPE_QUOTE #define PERL_PV_PRETTY_ELLIPSES 0x000002 #define PERL_PV_PRETTY_LTGT 0x000004 #define PERL_PV_PRETTY_EXACTSIZE 0x000008 #define PERL_PV_ESCAPE_UNI 0x000100 #define PERL_PV_ESCAPE_UNI_DETECT 0x000200 #define PERL_PV_ESCAPE_NONASCII 0x000400 #define PERL_PV_ESCAPE_FIRSTCHAR 0x000800 #define PERL_PV_ESCAPE_ALL 0x001000 #define PERL_PV_ESCAPE_NOBACKSLASH 0x002000 #define PERL_PV_ESCAPE_NOCLEAR 0x004000 #define PERL_PV_PRETTY_NOCLEAR PERL_PV_ESCAPE_NOCLEAR #define PERL_PV_ESCAPE_RE 0x008000 #define PERL_PV_ESCAPE_DWIM 0x010000 /* used by pv_display in dump.c*/ #define PERL_PV_PRETTY_DUMP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE #define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII #if DOUBLEKIND == DOUBLE_IS_VAX_F_FLOAT || \ DOUBLEKIND == DOUBLE_IS_VAX_D_FLOAT || \ DOUBLEKIND == DOUBLE_IS_VAX_G_FLOAT # define DOUBLE_IS_VAX_FLOAT #else # define DOUBLE_IS_IEEE_FORMAT #endif #if DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN || \ DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN || \ DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # define DOUBLE_LITTLE_ENDIAN #endif #if DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN || \ DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN || \ DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # define DOUBLE_BIG_ENDIAN #endif #if DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE || \ DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE # define DOUBLE_MIX_ENDIAN #endif /* The VAX fp formats are neither consistently little-endian nor * big-endian, and neither are they really IEEE-mixed endian like * the mixed-endian ARM IEEE formats (with swapped bytes). * Ultimately, the VAX format came from the PDP-11. * * The ordering of the parts in VAX floats is quite vexing. * In the below the fraction_n are the mantissa bits. * * The fraction_1 is the most significant (numbering as by DEC/Digital), * while the rightmost bit in each fraction is the least significant: * in other words, big-endian bit order within the fractions. * * The fraction segments themselves would be big-endianly, except that * within 32 bit segments the less significant half comes first, the more * significant after, except that in the format H (used for long doubles) * the first fraction segment is alone, because the exponent is wider. * This means for example that both the most and the least significant * bits can be in the middle of the floats, not at either end. * * References: * http://nssdc.gsfc.nasa.gov/nssdc/formats/VAXFloatingPoint.htm * http://www.quadibloc.com/comp/cp0201.htm * http://h71000.www7.hp.com/doc/82final/6443/6443pro_028.html * (somebody at HP should be fired for the URLs) * * F fraction_2:16 sign:1 exp:8 fraction_1:7 * (exponent bias 128, hidden first one-bit) * * D fraction_2:16 sign:1 exp:8 fraction_1:7 * fraction_4:16 fraction_3:16 * (exponent bias 128, hidden first one-bit) * * G fraction_2:16 sign:1 exp:11 fraction_1:4 * fraction_4:16 fraction_3:16 * (exponent bias 1024, hidden first one-bit) * * H fraction_1:16 sign:1 exp:15 * fraction_3:16 fraction_2:16 * fraction_5:16 fraction_4:16 * fraction_7:16 fraction_6:16 * (exponent bias 16384, hidden first one-bit) * (available only on VAX, and only on Fortran?) * * The formats S, T and X are available on the Alpha (and Itanium, * also known as I64/IA64) and are equivalent with the IEEE-754 formats * binary32, binary64, and binary128 (commonly: float, double, long double). * * S sign:1 exp:8 mantissa:23 * (exponent bias 127, hidden first one-bit) * * T sign:1 exp:11 mantissa:52 * (exponent bias 1022, hidden first one-bit) * * X sign:1 exp:15 mantissa:112 * (exponent bias 16382, hidden first one-bit) * */ #ifdef DOUBLE_IS_VAX_FLOAT # define DOUBLE_VAX_ENDIAN #endif #ifdef DOUBLE_IS_IEEE_FORMAT /* All the basic IEEE formats have the implicit bit, * except for the x86 80-bit extended formats, which will undef this. * Also note that the IEEE 754 subnormals (formerly known as denormals) * do not have the implicit bit of one. */ # define NV_IMPLICIT_BIT #endif #if defined(LONG_DOUBLEKIND) && LONG_DOUBLEKIND != LONG_DOUBLE_IS_DOUBLE # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE # define LONGDOUBLE_LITTLE_ENDIAN # endif # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE # define LONGDOUBLE_BIG_ENDIAN # endif # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE # define LONGDOUBLE_MIX_ENDIAN # endif # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN # define LONGDOUBLE_X86_80_BIT # ifdef USE_LONG_DOUBLE # undef NV_IMPLICIT_BIT # define NV_X86_80_BIT # endif # endif # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE # define LONGDOUBLE_DOUBLEDOUBLE # endif # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_VAX_H_FLOAT # define LONGDOUBLE_VAX_ENDIAN # endif #endif /* LONG_DOUBLEKIND */ #ifdef USE_QUADMATH /* assume quadmath endianness == native double endianness */ # if defined(DOUBLE_LITTLE_ENDIAN) # define NV_LITTLE_ENDIAN # elif defined(DOUBLE_BIG_ENDIAN) # define NV_BIG_ENDIAN # elif defined(DOUBLE_MIX_ENDIAN) /* stretch */ # define NV_MIX_ENDIAN # endif #elif NVSIZE == DOUBLESIZE # ifdef DOUBLE_LITTLE_ENDIAN # define NV_LITTLE_ENDIAN # endif # ifdef DOUBLE_BIG_ENDIAN # define NV_BIG_ENDIAN # endif # ifdef DOUBLE_MIX_ENDIAN # define NV_MIX_ENDIAN # endif # ifdef DOUBLE_VAX_ENDIAN # define NV_VAX_ENDIAN # endif #elif NVSIZE == LONG_DOUBLESIZE # ifdef LONGDOUBLE_LITTLE_ENDIAN # define NV_LITTLE_ENDIAN # endif # ifdef LONGDOUBLE_BIG_ENDIAN # define NV_BIG_ENDIAN # endif # ifdef LONGDOUBLE_MIX_ENDIAN # define NV_MIX_ENDIAN # endif # ifdef LONGDOUBLE_VAX_ENDIAN # define NV_VAX_ENDIAN # endif #endif /* We have somehow managed not to define the denormal/subnormal * detection. * * This may happen if the compiler doesn't expose the C99 math like * the fpclassify() without some special switches. Perl tries to * stay C89, so for example -std=c99 is not an option. * * The Perl_isinf() and Perl_isnan() should have been defined even if * the C99 isinf() and isnan() are unavailable, and the NV_MIN becomes * from the C89 DBL_MIN or moral equivalent. */ #if !defined(Perl_fp_class_denorm) && defined(Perl_isinf) && defined(Perl_isnan) && defined(NV_MIN) # define Perl_fp_class_denorm(x) ((x) != 0.0 && !Perl_isinf(x) && !Perl_isnan(x) && PERL_ABS(x) < NV_MIN) #endif /* This is not a great fallback: subnormals tests will fail, * but at least Perl will link and 99.999% of tests will work. */ #if !defined(Perl_fp_class_denorm) # define Perl_fp_class_denorm(x) FALSE #endif #ifdef DOUBLE_IS_IEEE_FORMAT # define DOUBLE_HAS_INF # define DOUBLE_HAS_NAN #endif #ifdef DOUBLE_HAS_NAN START_EXTERN_C #ifdef DOINIT /* PL_inf and PL_nan initialization. * * For inf and nan initialization the ultimate fallback is dividing * one or zero by zero: however, some compilers will warn or even fail * on divide-by-zero, but hopefully something earlier will work. * * If you are thinking of using HUGE_VAL for infinity, or using * <math.h> functions to generate NV_INF (e.g. exp(1e9), log(-1.0)), * stop. Neither will work portably: HUGE_VAL can be just DBL_MAX, * and the math functions might be just generating DBL_MAX, or even zero. * * Also, do NOT try doing NV_NAN based on NV_INF and trying (NV_INF-NV_INF). * Though logically correct, some compilers (like Visual C 2003) * falsely misoptimize that to zero (x-x is always zero, right?) * * Finally, note that not all floating point formats define Inf (or NaN). * For the infinity a large number may be used instead. Operations that * under the IEEE floating point would return Inf or NaN may return * either large numbers (positive or negative), or they may cause * a floating point exception or some other fault. */ /* The quadmath literals are anon structs which -Wc++-compat doesn't like. */ # ifndef USE_CPLUSPLUS GCC_DIAG_IGNORE_DECL(-Wc++-compat); # endif # ifdef USE_QUADMATH /* Cannot use HUGE_VALQ for PL_inf because not a compile-time * constant. */ INFNAN_NV_U8_DECL PL_inf = { 1.0Q/0.0Q }; # elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLINFBYTES) INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } }; # elif NVSIZE == DOUBLESIZE && defined(DOUBLEINFBYTES) INFNAN_U8_NV_DECL PL_inf = { { DOUBLEINFBYTES } }; # else # if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE) # if defined(LDBL_INFINITY) INFNAN_NV_U8_DECL PL_inf = { LDBL_INFINITY }; # elif defined(LDBL_INF) INFNAN_NV_U8_DECL PL_inf = { LDBL_INF }; # elif defined(INFINITY) INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY }; # elif defined(INF) INFNAN_NV_U8_DECL PL_inf = { (NV)INF }; # else INFNAN_NV_U8_DECL PL_inf = { 1.0L/0.0L }; /* keep last */ # endif # else # if defined(DBL_INFINITY) INFNAN_NV_U8_DECL PL_inf = { DBL_INFINITY }; # elif defined(DBL_INF) INFNAN_NV_U8_DECL PL_inf = { DBL_INF }; # elif defined(INFINITY) /* C99 */ INFNAN_NV_U8_DECL PL_inf = { (NV)INFINITY }; # elif defined(INF) INFNAN_NV_U8_DECL PL_inf = { (NV)INF }; # else INFNAN_NV_U8_DECL PL_inf = { 1.0/0.0 }; /* keep last */ # endif # endif # endif # ifdef USE_QUADMATH /* Cannot use nanq("0") for PL_nan because not a compile-time * constant. */ INFNAN_NV_U8_DECL PL_nan = { 0.0Q/0.0Q }; # elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLNANBYTES) INFNAN_U8_NV_DECL PL_nan = { { LONGDBLNANBYTES } }; # elif NVSIZE == DOUBLESIZE && defined(DOUBLENANBYTES) INFNAN_U8_NV_DECL PL_nan = { { DOUBLENANBYTES } }; # else # if NVSIZE == LONG_DOUBLESIZE && defined(USE_LONG_DOUBLE) # if defined(LDBL_NAN) INFNAN_NV_U8_DECL PL_nan = { LDBL_NAN }; # elif defined(LDBL_QNAN) INFNAN_NV_U8_DECL PL_nan = { LDBL_QNAN }; # elif defined(NAN) INFNAN_NV_U8_DECL PL_nan = { (NV)NAN }; # else INFNAN_NV_U8_DECL PL_nan = { 0.0L/0.0L }; /* keep last */ # endif # else # if defined(DBL_NAN) INFNAN_NV_U8_DECL PL_nan = { DBL_NAN }; # elif defined(DBL_QNAN) INFNAN_NV_U8_DECL PL_nan = { DBL_QNAN }; # elif defined(NAN) /* C99 */ INFNAN_NV_U8_DECL PL_nan = { (NV)NAN }; # else INFNAN_NV_U8_DECL PL_nan = { 0.0/0.0 }; /* keep last */ # endif # endif # endif # ifndef USE_CPLUSPLUS GCC_DIAG_RESTORE_DECL; # endif #else INFNAN_NV_U8_DECL PL_inf; INFNAN_NV_U8_DECL PL_nan; #endif END_EXTERN_C /* If you have not defined NV_INF/NV_NAN (like for example win32/win32.h), * we will define NV_INF/NV_NAN as the nv part of the global const * PL_inf/PL_nan. Note, however, that the preexisting NV_INF/NV_NAN * might not be a compile-time constant, in which case it cannot be * used to initialize PL_inf/PL_nan above. */ #ifndef NV_INF # define NV_INF PL_inf.nv #endif #ifndef NV_NAN # define NV_NAN PL_nan.nv #endif /* NaNs (not-a-numbers) can carry payload bits, in addition to * "nan-ness". Part of the payload is the quiet/signaling bit. * To back up a bit (harhar): * * For IEEE 754 64-bit formats [1]: * * s 000 (mantissa all-zero) zero * s 000 (mantissa non-zero) subnormals (denormals) * s 001 ... 7fe normals * s 7ff q nan * * For IEEE 754 128-bit formats: * * s 0000 (mantissa all-zero) zero * s 0000 (mantissa non-zero) subnormals (denormals) * s 0001 ... 7ffe normals * s 7fff q nan * * [1] this looks like big-endian, but applies equally to little-endian. * * s = Sign bit. Yes, zeros and nans can have negative sign, * the interpretation is application-specific. * * q = Quietness bit, the interpretation is platform-specific. * Most platforms have the most significant bit being one * meaning quiet, but some (older mips, hppa) have the msb * being one meaning signaling. Note that the above means * that on most platforms there cannot be signaling nan with * zero payload because that is identical with infinity; * while conversely on older mips/hppa there cannot be a quiet nan * because that is identical with infinity. * * Moreover, whether there is any behavioral difference * between quiet and signaling NaNs, depends on the platform. * * x86 80-bit extended precision is different, the mantissa bits: * * 63 62 61 30387+ pre-387 visual c * -------- ---- -------- -------- * 0 0 0 invalid infinity * 0 0 1 invalid snan * 0 1 0 invalid snan * 0 1 1 invalid snan * 1 0 0 infinity snan 1.#INF * 1 0 1 snan 1.#SNAN * 1 1 0 qnan -1.#IND (x86 chooses this to negative) * 1 1 1 qnan 1.#QNAN * * This means that in this format there are 61 bits available * for the nan payload. * * Note that the 32-bit x86 ABI cannot do signaling nans: the x87 * simply cannot preserve the bit. You can either use the 80-bit * extended precision (long double, -Duselongdouble), or use x86-64. * * In all platforms, the payload bytes (and bits, some of them are * often in a partial byte) themselves can be either all zero (x86), * all one (sparc or mips), or a mixture: in IEEE 754 128-bit double * or in a double-double, the first half of the payload can follow the * native double, while in the second half the payload can be all * zeros. (Therefore the mask for payload bits is not necessarily * identical to bit complement of the NaN.) Another way of putting * this: the payload for the default NaN might not be zero. * * For the x86 80-bit long doubles, the trailing bytes (the 80 bits * being 'packaged' in either 12 or 16 bytes) can be whatever random * garbage. * * Furthermore, the semantics of the sign bit on NaNs are platform-specific. * On normal floats, the sign bit being on means negative. But this may, * or may not, be reverted on NaNs: in other words, the default NaN might * have the sign bit on, and therefore look like negative if you look * at it at the bit level. * * NaN payloads are not propagated even on copies, or in arithmetics. * They *might* be, according to some rules, on your particular * cpu/os/compiler/libraries, but no guarantees. * * To summarize, on most platforms, and for 64-bit doubles * (using big-endian ordering here): * * [7FF8000000000000..7FFFFFFFFFFFFFFF] quiet * [FFF8000000000000..FFFFFFFFFFFFFFFF] quiet * [7FF0000000000001..7FF7FFFFFFFFFFFF] signaling * [FFF0000000000001..FFF7FFFFFFFFFFFF] signaling * * The C99 nan() is supposed to generate *quiet* NaNs. * * Note the asymmetry: * The 7FF0000000000000 is positive infinity, * the FFF0000000000000 is negative infinity. */ /* NVMANTBITS is the number of _real_ mantissa bits in an NV. * For the standard IEEE 754 fp this number is usually one less that * *DBL_MANT_DIG because of the implicit (aka hidden) bit, which isn't * real. For the 80-bit extended precision formats (x86*), the number * of mantissa bits... depends. For normal floats, it's 64. But for * the inf/nan, it's different (zero for inf, 61 for nan). * NVMANTBITS works for normal floats. */ /* We do not want to include the quiet/signaling bit. */ #define NV_NAN_BITS (NVMANTBITS - 1) #if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 13 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 2 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 7 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 2 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE # define NV_NAN_QS_BYTE_OFFSET 13 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE # define NV_NAN_QS_BYTE_OFFSET 1 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE # define NV_NAN_QS_BYTE_OFFSET 9 # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE # define NV_NAN_QS_BYTE_OFFSET 6 # else # error "Unexpected long double format" # endif #else # ifdef USE_QUADMATH # ifdef NV_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 13 # elif defined(NV_BIG_ENDIAN) # define NV_NAN_QS_BYTE_OFFSET 2 # else # error "Unexpected quadmath format" # endif # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 2 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 1 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 6 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 1 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 13 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # define NV_NAN_QS_BYTE_OFFSET 2 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE # define NV_NAN_QS_BYTE_OFFSET 2 /* bytes 4 5 6 7 0 1 2 3 (MSB 7) */ # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE # define NV_NAN_QS_BYTE_OFFSET 5 /* bytes 3 2 1 0 7 6 5 4 (MSB 7) */ # else /* For example the VAX formats should never * get here because they do not have NaN. */ # error "Unexpected double format" # endif #endif /* NV_NAN_QS_BYTE is the byte to test for the quiet/signaling */ #define NV_NAN_QS_BYTE(nvp) (((U8*)(nvp))[NV_NAN_QS_BYTE_OFFSET]) /* NV_NAN_QS_BIT is the bit to test in the NV_NAN_QS_BYTE_OFFSET * for the quiet/signaling */ #if defined(USE_LONG_DOUBLE) && \ (LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN) # define NV_NAN_QS_BIT_SHIFT 6 /* 0x40 */ #elif defined(USE_LONG_DOUBLE) && \ (LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE || \ LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE) # define NV_NAN_QS_BIT_SHIFT 3 /* 0x08, but not via NV_NAN_BITS */ #else # define NV_NAN_QS_BIT_SHIFT ((NV_NAN_BITS) % 8) /* usually 3, or 0x08 */ #endif #define NV_NAN_QS_BIT (1 << (NV_NAN_QS_BIT_SHIFT)) /* NV_NAN_QS_BIT_OFFSET is the bit offset from the beginning of a NV * (bytes ordered big-endianly) for the quiet/signaling bit * for the quiet/signaling */ #define NV_NAN_QS_BIT_OFFSET \ (8 * (NV_NAN_QS_BYTE_OFFSET) + (NV_NAN_QS_BIT_SHIFT)) /* NV_NAN_QS_QUIET (always defined) is true if the NV_NAN_QS_QS_BIT being * on indicates quiet NaN. NV_NAN_QS_SIGNALING (also always defined) * is true if the NV_NAN_QS_BIT being on indicates signaling NaN. */ #define NV_NAN_QS_QUIET \ ((NV_NAN_QS_BYTE(PL_nan.u8) & NV_NAN_QS_BIT) == NV_NAN_QS_BIT) #define NV_NAN_QS_SIGNALING (!(NV_NAN_QS_QUIET)) #define NV_NAN_QS_TEST(nvp) (NV_NAN_QS_BYTE(nvp) & NV_NAN_QS_BIT) /* NV_NAN_IS_QUIET() returns true if the NV behind nvp is a NaN, * whether it is a quiet NaN, NV_NAN_IS_SIGNALING() if a signaling NaN. * Note however that these do not check whether the nvp is a NaN. */ #define NV_NAN_IS_QUIET(nvp) \ (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? NV_NAN_QS_BIT : 0)) #define NV_NAN_IS_SIGNALING(nvp) \ (NV_NAN_QS_TEST(nvp) == (NV_NAN_QS_QUIET ? 0 : NV_NAN_QS_BIT)) #define NV_NAN_SET_QUIET(nvp) \ (NV_NAN_QS_QUIET ? \ (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT) : \ (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT)) #define NV_NAN_SET_SIGNALING(nvp) \ (NV_NAN_QS_QUIET ? \ (NV_NAN_QS_BYTE(nvp) &= ~NV_NAN_QS_BIT) : \ (NV_NAN_QS_BYTE(nvp) |= NV_NAN_QS_BIT)) #define NV_NAN_QS_XOR(nvp) (NV_NAN_QS_BYTE(nvp) ^= NV_NAN_QS_BIT) /* NV_NAN_PAYLOAD_MASK: masking the nan payload bits. * * NV_NAN_PAYLOAD_PERM: permuting the nan payload bytes. * 0xFF means "don't go here".*/ /* Shorthands to avoid typoses. */ #define NV_NAN_PAYLOAD_MASK_SKIP_EIGHT \ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 #define NV_NAN_PAYLOAD_PERM_SKIP_EIGHT \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff #define NV_NAN_PAYLOAD_PERM_0_TO_7 \ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7 #define NV_NAN_PAYLOAD_PERM_7_TO_0 \ 0x7, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 #define NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \ 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00 #define NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE \ NV_NAN_PAYLOAD_PERM_0_TO_7, \ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xFF, 0xFF #define NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE \ 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff #define NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE \ 0xFF, 0xFF, 0xd, 0xc, 0xb, 0xa, 0x9, 0x8, \ NV_NAN_PAYLOAD_PERM_7_TO_0 #define NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x00 #define NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE \ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0xFF #define NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE \ 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff #define NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE \ 0xFF, 0x6, 0x5, 0x4, 0x3, 0x2, 0x1, 0x0 #if defined(USE_LONG_DOUBLE) && NVSIZE > DOUBLESIZE # if LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN # if LONG_DOUBLESIZE == 10 # define NV_NAN_PAYLOAD_MASK \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ 0x00, 0x00 # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF # elif LONG_DOUBLESIZE == 12 # define NV_NAN_PAYLOAD_MASK \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ 0x00, 0x00, 0x00, 0x00 # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_0_TO_7, 0xFF, 0xFF, 0xFF, 0xFF # elif LONG_DOUBLESIZE == 16 # define NV_NAN_PAYLOAD_MASK \ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_0_TO_7, \ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF # else # error "Unexpected x86 80-bit little-endian long double format" # endif # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN # if LONG_DOUBLESIZE == 10 # define NV_NAN_PAYLOAD_MASK \ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ 0xff, 0xff # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF # elif LONG_DOUBLESIZE == 12 # define NV_NAN_PAYLOAD_MASK \ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ 0xff, 0xff, 0x00, 0x00 # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_7_TO_0, 0xFF, 0xFF, 0xFF, 0xFF # elif LONG_DOUBLESIZE == 16 # define NV_NAN_PAYLOAD_MASK \ 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, \ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_7_TO_0, \ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF # else # error "Unexpected x86 80-bit big-endian long double format" # endif # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* For double-double we assume only the first double (in LE or BE terms) * is used for NaN. */ # define NV_NAN_PAYLOAD_MASK \ NV_NAN_PAYLOAD_MASK_SKIP_EIGHT, NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_SKIP_EIGHT, NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE # define NV_NAN_PAYLOAD_MASK \ NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE # define NV_NAN_PAYLOAD_MASK \ NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE # elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE # define NV_NAN_PAYLOAD_MASK \ NV_NAN_PAYLOAD_MASK_SKIP_EIGHT, NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE # define NV_NAN_PAYLOAD_PERM \ NV_NAN_PAYLOAD_PERM_SKIP_EIGHT, NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE # else # error "Unexpected long double format" # endif #else # ifdef USE_QUADMATH /* quadmath is not long double */ # ifdef NV_LITTLE_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE # elif defined(NV_BIG_ENDIAN) # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE # else # error "Unexpected quadmath format" # endif # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN # define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00 # define NV_NAN_PAYLOAD_PERM 0x0, 0x1, 0x2, 0xFF # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN # define NV_NAN_PAYLOAD_MASK 0x00, 0x07, 0xff, 0xff # define NV_NAN_PAYLOAD_PERM 0xFF, 0x2, 0x1, 0x0 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # define NV_NAN_PAYLOAD_MASK NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE # define NV_NAN_PAYLOAD_PERM NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE # define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, 0xff # define NV_NAN_PAYLOAD_PERM 0x4, 0x5, 0x6, 0xFF, 0x0, 0x1, 0x2, 0x3 # elif DOUBLEKIND == DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE # define NV_NAN_PAYLOAD_MASK 0xff, 0xff, 0xff, 0xff, 0x00, 0x07, 0xff, 0xff # define NV_NAN_PAYLOAD_PERM 0x3, 0x2, 0x1, 0x0, 0xFF, 0x6, 0x5, 0x4 # else # error "Unexpected double format" # endif #endif #endif /* DOUBLE_HAS_NAN */ /* (KEEP THIS LAST IN perl.h!) Mention NV_PRESERVES_UV HAS_MKSTEMP HAS_MKSTEMPS HAS_MKDTEMP HAS_GETCWD HAS_MMAP HAS_MPROTECT HAS_MSYNC HAS_MADVISE HAS_MUNMAP I_SYSMMAN Mmap_t NVef NVff NVgf HAS_UALARM HAS_USLEEP HAS_SETITIMER HAS_GETITIMER HAS_SENDMSG HAS_RECVMSG HAS_READV HAS_WRITEV I_SYSUIO HAS_STRUCT_MSGHDR HAS_STRUCT_CMSGHDR HAS_NL_LANGINFO HAS_DIRFD so that Configure picks them up. (KEEP THIS LAST IN perl.h!) */ #endif /* Include guard */ /* * ex: set ts=8 sts=4 sw=4 et: */ ebcdic_tables.h 0000644 00000141143 15140731057 0007467 0 ustar 00 /* -*- buffer-read-only: t -*- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/ebcdic.pl. * Any changes made here will be lost! */ #ifndef PERL_EBCDIC_TABLES_H_ /* Guard against nested #includes */ #define PERL_EBCDIC_TABLES_H_ 1 /* This file contains definitions for various tables used in EBCDIC handling. * More info is in utfebcdic.h * * Some of the tables are adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * which requires this copyright notice: Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern@hoehrmann.de> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Index is ASCII platform code point; value is EBCDIC 1047 equivalent */ # ifndef DOINIT EXTCONST U8 PL_a2e[]; # else EXTCONST U8 PL_a2e[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x37,0x2D,0x2E,0x2F,0x16,0x05,0x15,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x3C,0x3D,0x32,0x26,0x18,0x19,0x3F,0x27,0x1C,0x1D,0x1E,0x1F, /*2_*/0x40,0x5A,0x7F,0x7B,0x5B,0x6C,0x50,0x7D,0x4D,0x5D,0x5C,0x4E,0x6B,0x60,0x4B,0x61, /*3_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0x7A,0x5E,0x4C,0x7E,0x6E,0x6F, /*4_*/0x7C,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6, /*5_*/0xD7,0xD8,0xD9,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAD,0xE0,0xBD,0x5F,0x6D, /*6_*/0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96, /*7_*/0x97,0x98,0x99,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xC0,0x4F,0xD0,0xA1,0x07, /*8_*/0x20,0x21,0x22,0x23,0x24,0x25,0x06,0x17,0x28,0x29,0x2A,0x2B,0x2C,0x09,0x0A,0x1B, /*9_*/0x30,0x31,0x1A,0x33,0x34,0x35,0x36,0x08,0x38,0x39,0x3A,0x3B,0x04,0x14,0x3E,0xFF, /*A_*/0x41,0xAA,0x4A,0xB1,0x9F,0xB2,0x6A,0xB5,0xBB,0xB4,0x9A,0x8A,0xB0,0xCA,0xAF,0xBC, /*B_*/0x90,0x8F,0xEA,0xFA,0xBE,0xA0,0xB6,0xB3,0x9D,0xDA,0x9B,0x8B,0xB7,0xB8,0xB9,0xAB, /*C_*/0x64,0x65,0x62,0x66,0x63,0x67,0x9E,0x68,0x74,0x71,0x72,0x73,0x78,0x75,0x76,0x77, /*D_*/0xAC,0x69,0xED,0xEE,0xEB,0xEF,0xEC,0xBF,0x80,0xFD,0xFE,0xFB,0xFC,0xBA,0xAE,0x59, /*E_*/0x44,0x45,0x42,0x46,0x43,0x47,0x9C,0x48,0x54,0x51,0x52,0x53,0x58,0x55,0x56,0x57, /*F_*/0x8C,0x49,0xCD,0xCE,0xCB,0xCF,0xCC,0xE1,0x70,0xDD,0xDE,0xDB,0xDC,0x8D,0x8E,0xDF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 code point; value is ASCII platform equivalent */ # ifndef DOINIT EXTCONST U8 PL_e2a[]; # else EXTCONST U8 PL_e2a[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x9D,0x0A,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F, /*2_*/0x80,0x81,0x82,0x83,0x84,0x85,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07, /*3_*/0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A, /*4_*/0x20,0xA0,0xE2,0xE4,0xE0,0xE1,0xE3,0xE5,0xE7,0xF1,0xA2,0x2E,0x3C,0x28,0x2B,0x7C, /*5_*/0x26,0xE9,0xEA,0xEB,0xE8,0xED,0xEE,0xEF,0xEC,0xDF,0x21,0x24,0x2A,0x29,0x3B,0x5E, /*6_*/0x2D,0x2F,0xC2,0xC4,0xC0,0xC1,0xC3,0xC5,0xC7,0xD1,0xA6,0x2C,0x25,0x5F,0x3E,0x3F, /*7_*/0xF8,0xC9,0xCA,0xCB,0xC8,0xCD,0xCE,0xCF,0xCC,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22, /*8_*/0xD8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xAB,0xBB,0xF0,0xFD,0xFE,0xB1, /*9_*/0xB0,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xAA,0xBA,0xE6,0xB8,0xC6,0xA4, /*A_*/0xB5,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xA1,0xBF,0xD0,0x5B,0xDE,0xAE, /*B_*/0xAC,0xA3,0xA5,0xB7,0xA9,0xA7,0xB6,0xBC,0xBD,0xBE,0xDD,0xA8,0xAF,0x5D,0xB4,0xD7, /*C_*/0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xAD,0xF4,0xF6,0xF2,0xF3,0xF5, /*D_*/0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xB9,0xFB,0xFC,0xF9,0xFA,0xFF, /*E_*/0x5C,0xF7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xB2,0xD4,0xD6,0xD2,0xD3,0xD5, /*F_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xB3,0xDB,0xDC,0xD9,0xDA,0x9F /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* (Confusingly named) Index is EBCDIC 1047 I8 byte; value is * EBCDIC 1047 UTF-EBCDIC equivalent */ # ifndef DOINIT EXTCONST U8 PL_utf2e[]; # else EXTCONST U8 PL_utf2e[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x37,0x2D,0x2E,0x2F,0x16,0x05,0x15,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x3C,0x3D,0x32,0x26,0x18,0x19,0x3F,0x27,0x1C,0x1D,0x1E,0x1F, /*2_*/0x40,0x5A,0x7F,0x7B,0x5B,0x6C,0x50,0x7D,0x4D,0x5D,0x5C,0x4E,0x6B,0x60,0x4B,0x61, /*3_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0x7A,0x5E,0x4C,0x7E,0x6E,0x6F, /*4_*/0x7C,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6, /*5_*/0xD7,0xD8,0xD9,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAD,0xE0,0xBD,0x5F,0x6D, /*6_*/0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96, /*7_*/0x97,0x98,0x99,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xC0,0x4F,0xD0,0xA1,0x07, /*8_*/0x20,0x21,0x22,0x23,0x24,0x25,0x06,0x17,0x28,0x29,0x2A,0x2B,0x2C,0x09,0x0A,0x1B, /*9_*/0x30,0x31,0x1A,0x33,0x34,0x35,0x36,0x08,0x38,0x39,0x3A,0x3B,0x04,0x14,0x3E,0xFF, /*A_*/0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x51,0x52,0x53,0x54,0x55,0x56, /*B_*/0x57,0x58,0x59,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x70,0x71,0x72,0x73, /*C_*/0x74,0x75,0x76,0x77,0x78,0x80,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x9A,0x9B,0x9C, /*D_*/0x9D,0x9E,0x9F,0xA0,0xAA,0xAB,0xAC,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6, /*E_*/0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBE,0xBF,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xDA,0xDB, /*F_*/0xDC,0xDD,0xDE,0xDF,0xE1,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xFA,0xFB,0xFC,0xFD,0xFE /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* (Confusingly named) Index is EBCDIC 1047 UTF-EBCDIC byte; value is * EBCDIC 1047 I8 equivalent */ # ifndef DOINIT EXTCONST U8 PL_e2utf[]; # else EXTCONST U8 PL_e2utf[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x9D,0x0A,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F, /*2_*/0x80,0x81,0x82,0x83,0x84,0x85,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07, /*3_*/0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A, /*4_*/0x20,0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0x2E,0x3C,0x28,0x2B,0x7C, /*5_*/0x26,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0x21,0x24,0x2A,0x29,0x3B,0x5E, /*6_*/0x2D,0x2F,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0x2C,0x25,0x5F,0x3E,0x3F, /*7_*/0xBC,0xBD,0xBE,0xBF,0xC0,0xC1,0xC2,0xC3,0xC4,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22, /*8_*/0xC5,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB, /*9_*/0xCC,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2, /*A_*/0xD3,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xD4,0xD5,0xD6,0x5B,0xD7,0xD8, /*B_*/0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0x5D,0xE6,0xE7, /*C_*/0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xE8,0xE9,0xEA,0xEB,0xEC,0xED, /*D_*/0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3, /*E_*/0x5C,0xF4,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA, /*F_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xFB,0xFC,0xFD,0xFE,0xFF,0x9F /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 UTF-EBCDIC byte; value is UTF8SKIP for start bytes * (including for overlongs); 1 for continuation. Adapted from the shadow * flags table in tr16. The entries marked 9 in tr16 are continuation bytes * and are marked as length 1 here so that we can recover. */ # ifndef DOINIT EXTCONST U8 PL_utf8skip[]; # else EXTCONST U8 PL_utf8skip[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*1_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*2_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*3_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*4_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*5_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*6_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*7_*/ 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, /*8_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /*9_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /*A_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 2, 2, /*B_*/ 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 1, 3, 3, /*C_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, /*D_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 4, 4, 4, /*E_*/ 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 5, 5, 5, /*F_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 6, 7, 14, 1 /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 code point; value is its lowercase equivalent */ # ifndef DOINIT EXTCONST U8 PL_latin1_lc[]; # else EXTCONST U8 PL_latin1_lc[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x70,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x70,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, /*9_*/0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9C,0x9F, /*A_*/0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0x8C,0xAD,0x8E,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0x8D,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xCB,0xCC,0xCD,0xCE,0xCF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xDB,0xDC,0xDD,0xDE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 code point; value is its uppercase equivalent. * The 'mod' in the name means that codepoints whose uppercase is above 255 or * longer than 1 character map to LATIN SMALL LETTER Y WITH DIARESIS */ # ifndef DOINIT EXTCONST U8 PL_mod_latin1_uc[]; # else EXTCONST U8 PL_mod_latin1_uc[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0xDF,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x80,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x80,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0xAC,0xBA,0xAE,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9E,0x9D,0x9E,0x9F, /*A_*/0xDF,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xEB,0xEC,0xED,0xEE,0xEF, /*D_*/0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xFB,0xFC,0xFD,0xFE,0xDF, /*E_*/0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 code point; For A-Z, value is a-z; for a-z, value * is A-Z; all other code points map to themselves */ # ifndef DOINIT EXTCONST U8 PL_fold[]; # else EXTCONST U8 PL_fold[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x80,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, /*A_*/0xA0,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 1047 code point; value is its other fold-pair equivalent * (A => a; a => A, etc) in the 0-255 range. If no such equivalent, value is * the code point itself */ # ifndef DOINIT EXTCONST U8 PL_fold_latin1[]; # else EXTCONST U8 PL_fold_latin1[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x80,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x70,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0xAC,0xBA,0xAE,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9E,0x9D,0x9C,0x9F, /*A_*/0xA0,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0x8C,0xAD,0x8E,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0x8D,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xEB,0xEC,0xED,0xEE,0xEF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xFB,0xFC,0xFD,0xFE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xCB,0xCC,0xCD,0xCE,0xCF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xDB,0xDC,0xDD,0xDE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U8 PL_extended_utf8_dfa_tab[]; # else EXTCONST U8 PL_extended_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 0, 0, 0, 0, 0, /*5_ */ 0, 10, 10, 10, 10, 10, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, /*6_ */ 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, /*7_ */ 11, 11, 11, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, /*B_ */ 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, 3, 3, 3, 0, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 12, 4, 4, 4, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 13, 5, 5, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 14, 6, 15, 1, 0, /*N0= 0*/ 0, 1, 16, 32, 48, 64, 80, 1, 1, 1, 1, 1, 96,112,128,144, /*N1= 16*/ 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, /*N2= 32*/ 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 1, 1, 1, 1, /*N3= 48*/ 1, 1, 1, 1, 1, 1, 1, 32, 32, 32, 32, 32, 1, 1, 1, 1, /*N4= 64*/ 1, 1, 1, 1, 1, 1, 1, 48, 48, 48, 48, 48, 1, 1, 1, 1, /*N5= 80*/ 1, 1, 1, 1, 1, 1, 1, 64, 64, 64, 64, 64, 1, 1, 1, 1, /*N6= 96*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 32, 1, 1, 1, 1, /*N7=112*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 48, 48, 1, 1, 1, 1, /*N8=128*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 64, 64, 64, 1, 1, 1, 1, /*N9=144*/ 1, 1, 1, 1, 1, 1, 1, 1, 80, 80, 80, 80, 1, 1, 1, 1 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U16 PL_strict_utf8_dfa_tab[]; # else EXTCONST U16 PL_strict_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 10, 11, 12, 12, 12, 12, 12, 12, 13, 14, 0, 0, 0, 0, 0, /*5_ */ 0, 13, 14, 13, 14, 15, 16, 17, 18, 17, 0, 0, 0, 0, 0, 0, /*6_ */ 0, 0, 18, 17, 18, 19, 20, 17, 18, 17, 18, 0, 0, 0, 0, 0, /*7_ */ 17, 18, 21, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, /*B_ */ 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, 3, 3, 3, 0, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 8, 6, 4, 5, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 5, 9, 7, 1, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, /*N0 = 0*/ 0, 1, 23, 46, 69,138,115,184, 92,161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*N1 = 23*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*N2 = 46*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, /*N3 = 69*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, /*N4 = 92*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, /*N5 =115*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 1, 1, 46,207, /*N6 =138*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,276, /*N7 =161*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69,322, 69,322, 69,322, 69,322, 69,322, /*N8 =184*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69,322, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*N9 =207*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23,230,253, 23, 23, 23, 23, 23,299, /*N10=230*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, /*N11=253*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /*N12=276*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299, /*N13=299*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, /*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,345, /*N15=345*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U8 PL_c9_utf8_dfa_tab[]; # else EXTCONST U8 PL_c9_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 0, 0, 0, 0, 0, /*5_ */ 0, 11, 11, 11, 11, 11, 11, 12, 12, 12, 0, 0, 0, 0, 0, 0, /*6_ */ 0, 0, 12, 12, 12, 13, 13, 12, 12, 12, 12, 0, 0, 0, 0, 0, /*7_ */ 12, 12, 12, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, /*B_ */ 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, 3, 3, 3, 0, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 6, 5, 4, 4, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 8, 7, 1, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, /*N0= 0*/ 0, 1, 14, 28, 42, 70, 56, 98, 84, 1, 1, 1, 1, 1, /*N1=14*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, /*N2=28*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 14, 14, 14, 14, /*N3=42*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, 28, 28, 28, /*N4=56*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, /*N5=70*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, 28, 28, 1, /*N6=84*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 42, 42, /*N7=98*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 1, 1, 1, 1 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13*/ }; # endif #endif /* EBCDIC 1047 */ #if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Index is ASCII platform code point; value is EBCDIC 037 equivalent */ # ifndef DOINIT EXTCONST U8 PL_a2e[]; # else EXTCONST U8 PL_a2e[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x37,0x2D,0x2E,0x2F,0x16,0x05,0x25,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x3C,0x3D,0x32,0x26,0x18,0x19,0x3F,0x27,0x1C,0x1D,0x1E,0x1F, /*2_*/0x40,0x5A,0x7F,0x7B,0x5B,0x6C,0x50,0x7D,0x4D,0x5D,0x5C,0x4E,0x6B,0x60,0x4B,0x61, /*3_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0x7A,0x5E,0x4C,0x7E,0x6E,0x6F, /*4_*/0x7C,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6, /*5_*/0xD7,0xD8,0xD9,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xBA,0xE0,0xBB,0xB0,0x6D, /*6_*/0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96, /*7_*/0x97,0x98,0x99,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xC0,0x4F,0xD0,0xA1,0x07, /*8_*/0x20,0x21,0x22,0x23,0x24,0x15,0x06,0x17,0x28,0x29,0x2A,0x2B,0x2C,0x09,0x0A,0x1B, /*9_*/0x30,0x31,0x1A,0x33,0x34,0x35,0x36,0x08,0x38,0x39,0x3A,0x3B,0x04,0x14,0x3E,0xFF, /*A_*/0x41,0xAA,0x4A,0xB1,0x9F,0xB2,0x6A,0xB5,0xBD,0xB4,0x9A,0x8A,0x5F,0xCA,0xAF,0xBC, /*B_*/0x90,0x8F,0xEA,0xFA,0xBE,0xA0,0xB6,0xB3,0x9D,0xDA,0x9B,0x8B,0xB7,0xB8,0xB9,0xAB, /*C_*/0x64,0x65,0x62,0x66,0x63,0x67,0x9E,0x68,0x74,0x71,0x72,0x73,0x78,0x75,0x76,0x77, /*D_*/0xAC,0x69,0xED,0xEE,0xEB,0xEF,0xEC,0xBF,0x80,0xFD,0xFE,0xFB,0xFC,0xAD,0xAE,0x59, /*E_*/0x44,0x45,0x42,0x46,0x43,0x47,0x9C,0x48,0x54,0x51,0x52,0x53,0x58,0x55,0x56,0x57, /*F_*/0x8C,0x49,0xCD,0xCE,0xCB,0xCF,0xCC,0xE1,0x70,0xDD,0xDE,0xDB,0xDC,0x8D,0x8E,0xDF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 code point; value is ASCII platform equivalent */ # ifndef DOINIT EXTCONST U8 PL_e2a[]; # else EXTCONST U8 PL_e2a[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x9D,0x85,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F, /*2_*/0x80,0x81,0x82,0x83,0x84,0x0A,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07, /*3_*/0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A, /*4_*/0x20,0xA0,0xE2,0xE4,0xE0,0xE1,0xE3,0xE5,0xE7,0xF1,0xA2,0x2E,0x3C,0x28,0x2B,0x7C, /*5_*/0x26,0xE9,0xEA,0xEB,0xE8,0xED,0xEE,0xEF,0xEC,0xDF,0x21,0x24,0x2A,0x29,0x3B,0xAC, /*6_*/0x2D,0x2F,0xC2,0xC4,0xC0,0xC1,0xC3,0xC5,0xC7,0xD1,0xA6,0x2C,0x25,0x5F,0x3E,0x3F, /*7_*/0xF8,0xC9,0xCA,0xCB,0xC8,0xCD,0xCE,0xCF,0xCC,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22, /*8_*/0xD8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xAB,0xBB,0xF0,0xFD,0xFE,0xB1, /*9_*/0xB0,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xAA,0xBA,0xE6,0xB8,0xC6,0xA4, /*A_*/0xB5,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xA1,0xBF,0xD0,0xDD,0xDE,0xAE, /*B_*/0x5E,0xA3,0xA5,0xB7,0xA9,0xA7,0xB6,0xBC,0xBD,0xBE,0x5B,0x5D,0xAF,0xA8,0xB4,0xD7, /*C_*/0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xAD,0xF4,0xF6,0xF2,0xF3,0xF5, /*D_*/0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xB9,0xFB,0xFC,0xF9,0xFA,0xFF, /*E_*/0x5C,0xF7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xB2,0xD4,0xD6,0xD2,0xD3,0xD5, /*F_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xB3,0xDB,0xDC,0xD9,0xDA,0x9F /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* (Confusingly named) Index is EBCDIC 037 I8 byte; value is * EBCDIC 037 UTF-EBCDIC equivalent */ # ifndef DOINIT EXTCONST U8 PL_utf2e[]; # else EXTCONST U8 PL_utf2e[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x37,0x2D,0x2E,0x2F,0x16,0x05,0x25,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x3C,0x3D,0x32,0x26,0x18,0x19,0x3F,0x27,0x1C,0x1D,0x1E,0x1F, /*2_*/0x40,0x5A,0x7F,0x7B,0x5B,0x6C,0x50,0x7D,0x4D,0x5D,0x5C,0x4E,0x6B,0x60,0x4B,0x61, /*3_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0x7A,0x5E,0x4C,0x7E,0x6E,0x6F, /*4_*/0x7C,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6, /*5_*/0xD7,0xD8,0xD9,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xBA,0xE0,0xBB,0xB0,0x6D, /*6_*/0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96, /*7_*/0x97,0x98,0x99,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xC0,0x4F,0xD0,0xA1,0x07, /*8_*/0x20,0x21,0x22,0x23,0x24,0x15,0x06,0x17,0x28,0x29,0x2A,0x2B,0x2C,0x09,0x0A,0x1B, /*9_*/0x30,0x31,0x1A,0x33,0x34,0x35,0x36,0x08,0x38,0x39,0x3A,0x3B,0x04,0x14,0x3E,0xFF, /*A_*/0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x51,0x52,0x53,0x54,0x55,0x56, /*B_*/0x57,0x58,0x59,0x5F,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x70,0x71,0x72, /*C_*/0x73,0x74,0x75,0x76,0x77,0x78,0x80,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x9A,0x9B, /*D_*/0x9C,0x9D,0x9E,0x9F,0xA0,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB1,0xB2,0xB3,0xB4,0xB5, /*E_*/0xB6,0xB7,0xB8,0xB9,0xBC,0xBD,0xBE,0xBF,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xDA,0xDB, /*F_*/0xDC,0xDD,0xDE,0xDF,0xE1,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xFA,0xFB,0xFC,0xFD,0xFE /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* (Confusingly named) Index is EBCDIC 037 UTF-EBCDIC byte; value is * EBCDIC 037 I8 equivalent */ # ifndef DOINIT EXTCONST U8 PL_e2utf[]; # else EXTCONST U8 PL_e2utf[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x9C,0x09,0x86,0x7F,0x97,0x8D,0x8E,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x9D,0x85,0x08,0x87,0x18,0x19,0x92,0x8F,0x1C,0x1D,0x1E,0x1F, /*2_*/0x80,0x81,0x82,0x83,0x84,0x0A,0x17,0x1B,0x88,0x89,0x8A,0x8B,0x8C,0x05,0x06,0x07, /*3_*/0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9A,0x9B,0x14,0x15,0x9E,0x1A, /*4_*/0x20,0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0x2E,0x3C,0x28,0x2B,0x7C, /*5_*/0x26,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0x21,0x24,0x2A,0x29,0x3B,0xB3, /*6_*/0x2D,0x2F,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0x2C,0x25,0x5F,0x3E,0x3F, /*7_*/0xBD,0xBE,0xBF,0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0x60,0x3A,0x23,0x40,0x27,0x3D,0x22, /*8_*/0xC6,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC, /*9_*/0xCD,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70,0x71,0x72,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3, /*A_*/0xD4,0x7E,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA, /*B_*/0x5E,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,0x5B,0x5D,0xE4,0xE5,0xE6,0xE7, /*C_*/0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xE8,0xE9,0xEA,0xEB,0xEC,0xED, /*D_*/0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3, /*E_*/0x5C,0xF4,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA, /*F_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xFB,0xFC,0xFD,0xFE,0xFF,0x9F /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 UTF-EBCDIC byte; value is UTF8SKIP for start bytes * (including for overlongs); 1 for continuation. Adapted from the shadow * flags table in tr16. The entries marked 9 in tr16 are continuation bytes * and are marked as length 1 here so that we can recover. */ # ifndef DOINIT EXTCONST U8 PL_utf8skip[]; # else EXTCONST U8 PL_utf8skip[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*1_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*2_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*3_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*4_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*5_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*6_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*7_*/ 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, /*8_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /*9_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /*A_*/ 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, /*B_*/ 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 3, 3, 3, 3, /*C_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, /*D_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 4, 4, 4, /*E_*/ 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 5, 5, 5, /*F_*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 6, 6, 7, 14, 1 /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 code point; value is its lowercase equivalent */ # ifndef DOINIT EXTCONST U8 PL_latin1_lc[]; # else EXTCONST U8 PL_latin1_lc[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x70,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x70,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, /*9_*/0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9C,0x9F, /*A_*/0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0x8C,0x8D,0x8E,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xCB,0xCC,0xCD,0xCE,0xCF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xDB,0xDC,0xDD,0xDE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 code point; value is its uppercase equivalent. * The 'mod' in the name means that codepoints whose uppercase is above 255 or * longer than 1 character map to LATIN SMALL LETTER Y WITH DIARESIS */ # ifndef DOINIT EXTCONST U8 PL_mod_latin1_uc[]; # else EXTCONST U8 PL_mod_latin1_uc[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0xDF,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x80,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x80,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0xAC,0xAD,0xAE,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9E,0x9D,0x9E,0x9F, /*A_*/0xDF,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xEB,0xEC,0xED,0xEE,0xEF, /*D_*/0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xFB,0xFC,0xFD,0xFE,0xDF, /*E_*/0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 code point; For A-Z, value is a-z; for a-z, value * is A-Z; all other code points map to themselves */ # ifndef DOINIT EXTCONST U8 PL_fold[]; # else EXTCONST U8 PL_fold[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x80,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, /*A_*/0xA0,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* Index is EBCDIC 037 code point; value is its other fold-pair equivalent * (A => a; a => A, etc) in the 0-255 range. If no such equivalent, value is * the code point itself */ # ifndef DOINIT EXTCONST U8 PL_fold_latin1[]; # else EXTCONST U8 PL_fold_latin1[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_*/0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F, /*1_*/0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F, /*2_*/0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F, /*3_*/0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F, /*4_*/0x40,0x41,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F, /*5_*/0x50,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F, /*6_*/0x60,0x61,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F, /*7_*/0x80,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F, /*8_*/0x70,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0x8A,0x8B,0xAC,0xAD,0xAE,0x8F, /*9_*/0x90,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0x9A,0x9B,0x9E,0x9D,0x9C,0x9F, /*A_*/0xA0,0xA1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xAA,0xAB,0x8C,0x8D,0x8E,0xAF, /*B_*/0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, /*C_*/0xC0,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0xCA,0xEB,0xEC,0xED,0xEE,0xEF, /*D_*/0xD0,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xDA,0xFB,0xFC,0xFD,0xFE,0xDF, /*E_*/0xE0,0xE1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xEA,0xCB,0xCC,0xCD,0xCE,0xCF, /*F_*/0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xDB,0xDC,0xDD,0xDE,0xFF /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U8 PL_extended_utf8_dfa_tab[]; # else EXTCONST U8 PL_extended_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 0, 0, 0, 0, 0, /*5_ */ 0, 10, 10, 10, 10, 10, 10, 11, 11, 11, 0, 0, 0, 0, 0, 11, /*6_ */ 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, /*7_ */ 11, 11, 11, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*B_ */ 0, 2, 2, 2, 2, 2, 1, 3, 3, 3, 0, 0, 3, 3, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 12, 4, 4, 4, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 13, 5, 5, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 14, 6, 15, 1, 0, /*N0= 0*/ 0, 1, 16, 32, 48, 64, 80, 1, 1, 1, 1, 1, 96,112,128,144, /*N1= 16*/ 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, /*N2= 32*/ 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 1, 1, 1, 1, /*N3= 48*/ 1, 1, 1, 1, 1, 1, 1, 32, 32, 32, 32, 32, 1, 1, 1, 1, /*N4= 64*/ 1, 1, 1, 1, 1, 1, 1, 48, 48, 48, 48, 48, 1, 1, 1, 1, /*N5= 80*/ 1, 1, 1, 1, 1, 1, 1, 64, 64, 64, 64, 64, 1, 1, 1, 1, /*N6= 96*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 32, 1, 1, 1, 1, /*N7=112*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 48, 48, 1, 1, 1, 1, /*N8=128*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 64, 64, 64, 1, 1, 1, 1, /*N9=144*/ 1, 1, 1, 1, 1, 1, 1, 1, 80, 80, 80, 80, 1, 1, 1, 1 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U16 PL_strict_utf8_dfa_tab[]; # else EXTCONST U16 PL_strict_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 10, 11, 12, 12, 12, 12, 12, 12, 13, 14, 0, 0, 0, 0, 0, /*5_ */ 0, 13, 14, 13, 14, 15, 16, 17, 18, 17, 0, 0, 0, 0, 0, 18, /*6_ */ 0, 0, 17, 18, 19, 20, 17, 18, 17, 18, 17, 0, 0, 0, 0, 0, /*7_ */ 18, 21, 22, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*B_ */ 0, 2, 2, 2, 2, 2, 1, 3, 3, 3, 0, 0, 3, 3, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 8, 6, 4, 5, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 5, 9, 7, 1, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, /*N0 = 0*/ 0, 1, 23, 46, 69,138,115,184, 92,161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*N1 = 23*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*N2 = 46*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, /*N3 = 69*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, /*N4 = 92*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, /*N5 =115*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 1, 1, 46,207, /*N6 =138*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,276, /*N7 =161*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69,322, 69,322, 69,322, 69,322, 69,322, /*N8 =184*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 69,322, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /*N9 =207*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23,230,253, 23, 23, 23, 23, 23,299, /*N10=230*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, /*N11=253*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, /*N12=276*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299, /*N13=299*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, /*N14=322*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,345, /*N15=345*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,299 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22*/ }; # endif /* The table below is adapted from * https://bjoern.hoehrmann.de/utf-8/decoder/dfa/ * See copyright notice at the beginning of this file. */ # ifndef DOINIT EXTCONST U8 PL_c9_utf8_dfa_tab[]; # else EXTCONST U8 PL_c9_utf8_dfa_tab[] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F*/ /*0_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*2_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*3_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /*4_ */ 0, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 0, 0, 0, 0, 0, /*5_ */ 0, 11, 11, 11, 11, 11, 11, 12, 12, 12, 0, 0, 0, 0, 0, 12, /*6_ */ 0, 0, 12, 12, 13, 13, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, /*7_ */ 12, 12, 12, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, /*8_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*9_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*A_ */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, /*B_ */ 0, 2, 2, 2, 2, 2, 1, 3, 3, 3, 0, 0, 3, 3, 3, 3, /*C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, /*D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 6, 5, 4, 4, /*E_ */ 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 8, 7, 1, /*F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, /*N0= 0*/ 0, 1, 14, 28, 42, 70, 56, 98, 84, 1, 1, 1, 1, 1, /*N1=14*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, /*N2=28*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 14, 14, 14, 14, 14, /*N3=42*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, 28, 28, 28, /*N4=56*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, /*N5=70*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 28, 28, 28, 1, /*N6=84*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 42, 42, /*N7=98*/ 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 1, 1, 1, 1 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13*/ }; # endif #endif /* EBCDIC 037 */ #endif /* PERL_EBCDIC_TABLES_H_ */ /* ex: set ro: */ uni_keywords.h 0000644 00002073327 15140731057 0007460 0 ustar 00 /* -*- buffer-read-only: t -*- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/mk_invlists.pl from mph.pl. * Any changes made here will be lost! */ #define MPH_VALt I16 /* rows: 7264 seed: 1348825708 full length of keys: 101931 blob length: 10351 ref length: 58112 data size: 68463 (%67.17) */ STATIC const unsigned char mph_blob[] = "unifiedcanadianaboriginalsyllabicsextendedcjkcompatibilityideogra" "phssupplementarabicmathematicalalphabeticsymbolscombiningdiacriti" "calmarksforsymbolscombiningdiacriticalmarkssupplementmiscellaneou" "ssymbolsandpictographscombiningdiacriticalmarksextendedmiscellane" "ousmathematicalsymbolsamiscellaneousmathematicalsymbolsbsupplemen" "talmathematicaloperatorssupplementalsymbolsandpictographsegyptian" "hieroglyphformatcontrolsideographicdescriptioncharactersideograph" "icsymbolsandpunctuationmathematicalalphanumericsymbolscjkunifiedi" "deographsextensionacjkunifiedideographsextensionbcjkunifiedideogr" "aphsextensionccjkunifiedideographsextensiondcjkunifiedideographse" "xtensionecjkunifiedideographsextensionfcjkunifiedideographsextens" "iongcuneiformnumbersandpunctuationenclosedalphanumericsupplements" "ymbolsandpictographsextendedaenclosedideographicsupplementmiscell" "aneoussymbolsandarrowsphoneticextensionssupplementsupplementarypr" "ivateuseareaasupplementaryprivateuseareabvariationselectorssupple" "mentalphabeticpresentationformsancientgreekmusicalnotationenclose" "dcjklettersandmonthsopticalcharacterrecognitionprependedconcatena" "tionmark=changeswhennfkccasefolded=conditionaljapanesestarterdefa" "ultignorablecodepoint=halfwidthandfullwidthformskatakanaphonetice" "xtensionsconsonantinitialpostfixedfullcompositionexclusion=supers" "criptsandsubscriptssymbolsandpictographsextasymbolsforlegacycompu" "tingarabicpresentationformsaarabicpresentationformsbcanonicalcomb" "iningclass=cjksymbolsandpunctuationcombiningmarksforsymbolsconson" "antsucceedingrephahighprivateusesurrogatesindicpositionalcategory" "=supsymbolsandpictographsbyzantinemusicalsymbolsconsonantprecedin" "grephageometricshapesextendedhangulcompatibilityjamolatinextended" "additionalshorthandformatcontrolssupplementalpunctuationbidipaire" "dbrackettype=changeswhencasefolded=changeswhencasemapped=changesw" "henlowercased=changeswhentitlecased=changeswhenuppercased=cjkcomp" "atideographssupcommonindicnumberformsdiacriticalsforsymbolsearlyd" "ynasticcuneiformindicsyllabiccategory=logicalorderexception=misce" "llaneoustechnicalnoncharactercodepoint=spacingmodifierletterstran" "sportandmapsymbolscjkcompatibilityformscjkradicalssupplementcyril" "licsupplementaryextendedpictographic=graphemeclusterbreak=hanifir" "ohingyakinnayainscriptionalparthianmeeteimayekextensionspopdirect" "ionalisolatesinhalaarchaicnumbersyijinghexagramsymbolsanatolianhi" "eroglyphsconnectorpunctuationconsonantplaceholderconsonantwithsta" "ckerglagoliticsupplementinscriptionalpahlavilefttorightembeddingn" "yiakengpuachuehmongpopdirectionalformatrighttoleftembeddingtermin" "alpunctuation=topandbottomandrightverticalorientation=ancientgree" "knumbersbrahmijoiningnumberburushaskiyehbarreeconsonantheadletter" "countingrodnumeralsegyptianhieroglyphsenclosedalphanumsuphangulja" "moextendedahanguljamoextendedbhangulsyllabletype=idstrinaryoperat" "or=lefttorightoverridemeroitichieroglyphsmodifiertonelettersmongo" "liansupplementottomansiyaqnumbersrighttoleftoverridesundanesesupp" "lementsupplementalarrowsasupplementalarrowsbsupplementalarrowscto" "pandbottomandleftattachedaboverightcherokeesupplementcombininghal" "fmarksconsonantsubjoinedcopticepactnumbersdecompositiontype=devan" "agariextendedemojimodifierbase=emojipresentation=ethiopicsuppleme" "nteuropeanterminatorfirststrongisolategeneralpunctuationgeorgians" "upplementidsbinaryoperator=initialpunctuationlatinextadditionalle" "fttorightisolateornamentaldingbatsparagraphseparatorpatternwhites" "pace=regionalindicator=righttoleftisolateruminumeralsymbolssmallk" "anaextensiontaixuanjingsymbolstopandleftandrighttransformedrotate" "dtransformeduprightvariationselector=alchemicalsymbolsattachedbel" "owleftcanadiansyllabicscaucasianalbanianconsonantprefixedcyrillic" "extendedacyrillicextendedbcyrillicextendedcethiopicextendedaeurop" "eanseparatoridentifierstatus=indicsiyaqnumberskhitansmallscriptle" "tterlikesymbolsmanichaeandhamedhmanichaeanhundredmanichaeanthamed" "hscriptextensions=sentenceterminal=smallformvariantssuttonsignwri" "tingunifiedideograph=arabicsupplementbopomofoextendedcantillation" "markcloseparenthesisclosepunctuationcypriotsyllabaryfinalpunctuat" "iongeneralcategory=georgianextendedhalfandfullformshanifirohingya" "pahighpusurrogatesinvisiblestackerlatin1supplementlinearbideogram" "slinearbsyllabarymanichaeandalethmanichaeanlamedhmanichaeansamekh" "manichaeantwentymiscmathsymbolsamiscmathsymbolsbmyanmarextendedam" "yanmarextendedbotherpunctuationsegmentseparatorsupmathoperatorssy" "llablemodifiersyriacsupplementtangutcomponentstangutsupplementvow" "elindependentarabicextendedabamumsupplementboundaryneutralbraille" "patternscommonseparatorconsonantkillerconsonantmedialcontingentbr" "eakcontrolpicturescurrencysymbolsdashpunctuationdiacriticalsextdi" "acriticalssupeastasianwidth=emojicomponent=graphemeextend=hanguls" "yllablesidentifiertype=imperialaramaiclowercaselettermanichaeanal" "ephmanichaeangimelmanichaeansadhemanichaeanzayinmeroiticcursivemi" "scpictographsmodifyingletternfkcquickcheck=nfkdquickcheck=oldnort" "harabianoldsoutharabianopenpunctuationregistershiftertamilsupplem" "enttitlecaseletteruppercaselettervedicextensionsvisualorderleftza" "nabazarsquareancientsymbolsasciihexdigit=carriagereturncaseignora" "ble=cjkcompatformscomplexcontextconsonantfinalemojimodifier=europ" "eannumbergeminationmarkgreekandcoptichamzaonhehgoalhighsurrogates" "kanasupplementkangxiradicalslatinextendedblatinextendedclatinexte" "ndeddlatinextendedelisusupplementmandatorybreakmanichaeanayinmani" "chaeanbethmanichaeanfivemanichaeanhethmanichaeankaphmanichaeanqop" "hmanichaeanreshmanichaeantethmanichaeanyodhmodifiersymbolnfcquick" "check=nfdquickcheck=nojoininggroupnonspacingmarkpatternsyntax=pho" "neticextsuppostfixnumericpsalterpahlaviquotationmark=sentencebrea" "k=spaceseparatorsuppunctuationtehmarbutagoalvoweldependent1000000" "000000aegeannumbersbidimirrored=blockelementsconsonantdeaddecimal" "numberenclosingmarkgraphemebase=greekextendediotasubscriptipaexte" "nsionsjoininggroup=kanaextendedalineseparatorlowsurrogatesmalayal" "amlllamalayalamnnnamanichaeanmemmanichaeannunmanichaeanonemanicha" "eantawmanichaeantenmanichaeanwawmayannumeralsmisctechnicalnotappl" "icablenumericvalue=prefixnumericverticalformsalphabeticpfarabicle" "tterarabicnumberbidicontrol=breaksymbolschesssymbolscyrillicextac" "yrillicextbcyrillicextcethiopicextaextendnumletfinalsemkathglueaf" "terzwjgunjalagondihebrewletterideographic=infixnumericjoincontrol" "=joiningtype=khmersymbolsletternumbermahjongtilesmalayalambhamala" "yalamllamalayalamngamalayalamnnamalayalamnyamalayalamssamalayalam" "ttamanichaeanpemasaramgondimathalphanummendekikakuinoncanonicalno" "tcharacternotreorderednumberjoinernumerictype=oldhungarianotherne" "utralphaistosdiscplayingcardsrightjoiningtrailingjamoxidcontinue=" "africannoonalphabetic=breakbeforecasedletterdeprecated=dominotile" "sdoubleabovedoublebelowdoublequotedualjoiningexclamationinseparab" "leinseperablejoincausingkanavoicingkatakanaextleadingjamoleftjoin" "inglvtsyllablemalayalamjamalayalamramedefaidrinmiscsymbolsmyanmar" "extamyanmarextbnandinagariotherletterothernumberothersymbolpahawh" "hmongrecommendedrohingyayehsinglequotesoftdotted=sorasompengstrai" "ghtwawsuperandsubsylotinagritopandrighttransparentuncommonuseyehw" "ithtailyisyllablesafricanfehafricanqafarabicextabasiclatinbelowri" "ghtbidiclass=boxdrawingbreakafterchorasmiancjkstrokescompatjamoda" "lathrishdiacritic=divesakuruhanreadingkharoshthiknottedhehlimited" "uselinebreak=lowercase=lvsyllablemiscarrowsnonjoiningnonstarterol" "dpersianoldsogdianoverstruckphoenicianpresentin=purekillerrestric" "tedreversedpesaurashtrasmallformssuparrowsasuparrowsbsuparrowscun" "assigneduppercase=warangcitiwordbreak=wordjoineryiradicals-5.00e-" "01aboveleftambiguousarabicpfaarabicpfbbhaiksukibreakbothemoticons" "extender=inclusioninheritedkhudawadilatinextblatinextclatinextdmi" "dlettermidnumletnabataeannewtailuenonjoinerolditalicoldpermicoldt" "urkicpalmyrenepaucinhausamaritanscontinuesyriacwawvoweljamowsegsp" "acexidstart=1.00e-011.11e-011.25e-011.25e-021.43e-011.50e+001.50e" "-011.56e-021.67e-011.88e-012.00e-012.50e+002.50e-012.50e-02200000" "003.12e-023.13e-023.13e-033.33e-013.50e+003.75e-013.75e-024.00e-0" "14.17e-014.50e+004.69e-025.00e-025.50e+005.83e-016.00e-016.25e-01" "6.25e-026.25e-036.50e+006.67e-017.50e+007.50e-018.00e-018.33e-018" ".33e-028.50e+008.75e-019.17e-01armenianavagrahabalinesebassavahbu" "gineseduployanebasegazextpict=farsiyehfractiongujaratigurmukhihir" "aganaisolatedjamoextajamoextbjavanesekanaextalinefeedmahajaninext" "lineobsoleteradical=specialsswashkaftagbanwatifinaghtonemarkugari" "ticaletterallowedavestanbengalicjkextacjkextbcjkextccjkextdcjkext" "ecjkextfcjkextgcompex=deseretelbasanelymaicgranthagrbase=hanunooh" "yphen=kannadakayahlilinearamakasarmandaicmarchenmultaninewlinenfk" "cqc=nfkdqc=noblocknobreaknotnfkcolchikioletterosmanyaoverlaypatsy" "n=phagspascript=sharadashaviansiddhamsoyombosuppuaasuppuabtagalog" "taithamtaiviettibetantirhutaucasextunknownvisargawspace=zwspace21" "6000300000400000432000500000600000700000800000900000alpha=bidic=b" "idim=block=carianccc103ccc107ccc118ccc122ccc129ccc130ccc132ccc133" "chakmacirclecwkcf=ecomp=emoji=epres=gothicgrext=hatranjoinc=kaith" "ikanbunkhojkilamadhlepchalower=lycianlydiannarrownchar=nfcqc=nfdq" "c=notxidpatws=qmark=rejangsterm=teluguthaanauideo=upper=viramawan" "choyezidiyudhhe1/1601/32011/12adlamahex=alaphatermbatakbindubuhid" "ccc14ccc15ccc16ccc17ccc18ccc19ccc20ccc21ccc22ccc23ccc24ccc25ccc26" "ccc27ccc28ccc29ccc30ccc31ccc32ccc33ccc34ccc35ccc36ccc84ccc91cntrl" "cwcf=cwcm=dash=dograemod=falseidsb=idst=inpc=insc=khaphlimbumath=" "maybenuktanushuoghamoriyaosagerunictailetakrivssupxidc=xids=zhain" "-1/21/101/201/401/641/8010.011.011/212.113.013/215/217/23/163/203" "/643/805/127/12adlmage=aghbahomalefarmiarmnataratblavstbatkbhksbl" "k=bpt=buhdcakmcansccc=chrscprtcwl=cwt=cwu=cyrldep=dia=diakdsrtfon" "tgcb=gonggonmgrekgujrguruhanohluwhmnghmnphst=kalikhmrkitskndakthi" "lanalaoolatnlinalinbloe=medfmeemmercmiaomlymmroomteimymrnarbnbatn" "ewankoonshuogamolckorkhoryaosgepcm=phlpphnxplrdprtiqaacqaaiqaphrj" "ngrohgrunrsamrsarbscx=seensgnwshawshinshrdsogosyrctagstaletalutam" "ltavttfngtglgthaitibttruev100v110v120v121v130vaiiwchowidexpeoxsux" "yiiizainzanbzinhzyyyzzzz1/51/71/92/32/520221421822222422622823023" "22332342403.23/43/54/55.15.25/65/86.16.37.07/89.09/2bc=behci=di=d" "t=ea=ebgfsigafgc=jg=jt=lb=lrelrilromimnv=ocrpdfrehri=sd=smlsqrtah" "v20v21v30v31v32v40v41v50v51v52v60v61v62v63v70v80v90vo=vs=wb=yes38" "39444546474849b2bkh2h3jljvkvl&l_vrxxzlzpzs_perl_problematic_local" "e_foldeds_is_in_multi_char_fold_perl_folds_to_perl_charname_begin" "any_foldsquotemetaisxposixisposixblankprintishorizisxperlisperlis" "spaceisvertisuni"; /* mph_blob length: 10351 */ struct mph_struct { U16 seed2; U16 pfx; U16 sfx; U8 pfx_len; U8 sfx_len; MPH_VALt value; }; #define MPH_RSHIFT 8 #define MPH_BUCKETS 7264 STATIC const U32 MPH_SEED1 = 0x5065726c; STATIC const U32 MPH_FNV_CONST = 0x01000193; /* The comments give the input key for the row it is in */ STATIC const struct mph_struct mph_table[MPH_BUCKETS] = { { 2, 9768, 9632, 4, 4, UNI_LINA } /* scx=lina */, { 2, 5791, 6572, 13, 4, UNI_JG__NOON } /* joininggroup=noon */, { 1, 7325, 9384, 3, 4, UNI_IN__10 } /* in=10.0 */, { 2, 9488, 7188, 4, 10, UNI_INKHAROSHTHI } /* blk=kharoshthi */, { 1, 1417, 23, 24, 2, UNI_CCC__AL } /* canonicalcombiningclass=al */, { 0, 184, 2666, 3, 10, UNI_COUNTINGROD } /* iscountingrod */, { 0, 1654, 0, 23, 0, UNI_COMPATJAMO } /* hangulcompatibilityjamo */, { 8, 7158, 9836, 10, 4, UNI_DIA } /* diacritic=true */, { 2, 8780, 8373, 7, 6, UNI_CJKEXTD } /* block=cjkextd */, { 1, 5986, 9973, 13, 3, UNI_NV__5_SLASH_6 } /* numericvalue=5/6 */, { 1, 10027, 6323, 3, 5, UNI_JG__GAMAL } /* jg=gamal */, { 0, 8900, 0, 6, 0, UNI_KTHI } /* kaithi */, { 6, 1537, 2455, 24, 5, UNI_INPC__RIGHT } /* indicpositionalcategory=right */, { 0, 7398, 0, 10, 0, UNI_SUPARROWSC } /* suparrowsc */, { 1, 9002, 0, 6, 0, UNI_TELU } /* telugu */, { 4, 10024, 9503, 3, 2, UNI_MC } /* gc=mc */, { 0, 7218, 18, 10, 2, UNI_RI } /* linebreak=ri */, { 0, 1856, 0, 21, 0, UNI_CWU } /* changeswhenuppercased */, { 1, 2779, 0, 3, 0, UNI_IDS } /* ids */, { 8, 10048, 9061, 3, 4, UNI_NV__1_SLASH_12 } /* nv=1/12 */, { 0, 10006, 10135, 3, 3, UNI_DI } /* di=yes */, { 0, 8780, 5947, 6, 13, UNI_MAYANNUMERALS } /* block=mayannumerals */, { 1, 9444, 10108, 4, 3, UNI_AGE__6_DOT_1 } /* age=v61 */, { 0, 5186, 0, 14, 0, UNI_HIGHSURROGATES } /* highsurrogates */, { 0, 10333, 1528, 3, 8, UNI__PERL_SURROGATE } /* issurrogate */, { 1, 7739, 3, 8, 1, -UNI_IDS } /* idstart=f */, { 0, 184, 6840, 2, 11, UNI_NAND } /* isnandinagari */, { 0, 446, 0, 32, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbolsandpunctuation */, { 4, 9448, 0, 4, 0, UNI_AGHB } /* aghb */, { 3, 3836, 9712, 17, 4, UNI_OSGE } /* scriptextensions=osge */, { 0, 9270, 7685, 3, 8, UNI_INPAUCINHAU } /* inpaucinhau */, { 0, 10048, 9055, 3, 3, UNI_NV__1_SLASH_3 } /* nv=1/3 */, { 7, 1834, 10135, 22, 3, UNI_CWT } /* changeswhentitlecased=yes */, { 1, 9768, 8414, 4, 7, UNI_ELBA } /* scx=elbasan */, { 4, 8780, 1673, 6, 4, UNI_JAMO } /* block=jamo */, { 0, 8688, 5662, 3, 12, UNI_AEGEANNUMBERS } /* isaegeannumbers */, { 0, 1552, 5040, 9, 5, UNI_XPOSIXDIGIT } /* category=digit */, { 4, 10296, 25, 3, 1, UNI_PS } /* isps */, { 0, 1536, 0, 4, 0, UNI_SIND } /* sind */, { 0, 1417, 8807, 24, 3, UNI_CCC__118 } /* canonicalcombiningclass=118 */, { 5, 8774, 9836, 6, 4, UNI_BIDIM } /* bidim=true */, { 2, 9488, 283, 4, 33, UNI_MISCMATHSYMBOLSB } /* blk=miscellaneousmathematicalsymbolsb */, { 0, 1823, 0, 9, 0, UNI_XPOSIXLOWER } /* lowercase */, { 1, 184, 8924, 2, 4, UNI_LEPC } /* islepc */, { 0, 9277, 8243, 3, 8, UNI_SC__MAHJ } /* sc=mahajani */, { 1, 9277, 9315, 3, 5, UNI_SC__ORYA } /* sc=oriya */, { 3, 9768, 8936, 4, 6, UNI_LYCI } /* scx=lycian */, { 1, 5270, 0, 14, 0, UNI_LATINEXTE } /* latinextendede */, { 1, 3836, 4448, 17, 4, UNI_BAMU } /* scriptextensions=bamu */, { 0, 8267, 26, 8, 1, UNI_RADICAL } /* radical=y */, { 0, 32, 0, 2, 0, UNI__PERL_SURROGATE } /* cs */, { 16, 1417, 3564, 24, 13, UNI_CCC__202 } /* canonicalcombiningclass=attachedbelow */, { 0, 10024, 4943, 3, 15, UNI_TITLE } /* gc=titlecaseletter */, { 0, 2182, 406, 21, 7, UNI_GCB__CN } /* graphemeclusterbreak=control */, { 1, 6241, 24, 12, 1, UNI_JT__L } /* joiningtype=l */, { 0, 10048, 9973, 3, 3, UNI_NV__5_SLASH_6 } /* nv=5/6 */, { 1, 21, 7585, 2, 9, UNI_LATINEXTC } /* inlatinextc */, { 0, 3836, 9864, 17, 4, UNI_WCHO } /* scriptextensions=wcho */, { 1, 3367, 26, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=y */, { 0, 8780, 2469, 6, 20, UNI_INNYIAKENGPUACHUEHMONG } /* block=nyiakengpuachuehmong */, { 1, 8780, 749, 6, 21, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanumerics */, { 2, 184, 9576, 2, 4, UNI_GURU } /* isguru */, { 0, 10333, 9793, 3, 3, UNI_SOGO } /* issogo */, { 0, 10048, 7771, 3, 8, UNI_NV__1_SLASH_80 } /* nv=1.25e-02 */, { 1, 9444, 9991, 4, 3, UNI_AGE__9 } /* age=9.0 */, { 0, 9488, 567, 4, 2, UNI_NB } /* blk=nb */, { 0, 9488, 1922, 4, 12, UNI_DIACRITICALS } /* blk=diacriticals */, { 13, 1537, 2555, 24, 6, UNI_INPC__BOTTOM } /* indicpositionalcategory=bottom */, { 1, 10024, 5497, 3, 11, UNI_MC } /* gc=spacingmark */, { 3, 2784, 80, 4, 8, UNI_ARABICMATH } /* inarabicmath */, { 0, 5791, 5620, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=tehmarbutagoal */, { 32, 4791, 1595, 3, 13, UNI_MUSIC } /* inmusicalsymbols */, { 0, 8589, 2329, 7, 20, UNI_HLUW } /* script=anatolianhieroglyphs */, { 0, 7088, 3374, 10, 10, UNI_BC__WS } /* bidiclass=whitespace */, { 0, 184, 7168, 2, 10, UNI_DIAK } /* isdivesakuru */, { 0, 184, 9636, 2, 4, UNI_LINB } /* islinb */, { 0, 9488, 7684, 4, 9, UNI_INPAUCINHAU } /* blk=paucinhau */, { 0, 6939, 0, 11, 0, UNI_SORA } /* sorasompeng */, { 3, 9768, 8131, 4, 8, UNI_DUPL } /* scx=duployan */, { 1, 9488, 629, 4, 30, UNI_CJKEXTE } /* blk=cjkunifiedideographsextensione */, { 8, 9488, 2098, 4, 21, UNI_CJKCOMPATFORMS } /* blk=cjkcompatibilityforms */, { 1, 10290, 96, 6, 5, UNI_XPOSIXALPHA } /* xposixalpha */, { 1, 9732, 0, 4, 0, UNI_PRTI } /* prti */, { 0, 8589, 3241, 7, 8, UNI_SC__GEOR } /* script=georgian */, { 1, 5032, 0, 14, 0, UNI_ahex_values_index } /* asciihexdigit= */, { 1, 3529, 36, 18, 1, UNI_VS } /* variationselector=t */, { 0, 2569, 409, 20, 2, UNI_VO__TR } /* verticalorientation=tr */, { 3, 2182, 6763, 21, 3, UNI_LB__H3 } /* graphemeclusterbreak=lvt */, { 1, 9768, 8299, 4, 8, UNI_TFNG } /* scx=tifinagh */, { 0, 6553, 0, 11, 0, UNI_XIDC } /* xidcontinue */, { 0, 3836, 4793, 17, 15, UNI_MERC } /* scriptextensions=meroiticcursive */, { 10, 341, 0, 2, 0, UNI_PE } /* pe */, { 1, 3097, 8846, 18, 6, UNI_DT__ENC } /* decompositiontype=circle */, { 2, 4688, 6609, 15, 10, UNI_DEP } /* identifiertype=deprecated */, { 0, 184, 9231, 3, 3, UNI_CWCF } /* iscwcf */, { 2, 8780, 6829, 6, 11, UNI_MYANMAREXTB } /* block=myanmarextb */, { 0, 5986, 7781, 13, 1, UNI_NV__4 } /* numericvalue=4 */, { 1, 0, 0, 34, 0, UNI_UCAS } /* unifiedcanadianaboriginalsyllabics */, { 1, 1417, 3007, 24, 18, UNI_CCC__216 } /* canonicalcombiningclass=attachedaboveright */, { 1, 1966, 9090, 22, 5, UNI_INSC__BINDU } /* indicsyllabiccategory=bindu */, { 0, 6229, 1025, 12, 2, -UNI_JOINC } /* joincontrol=no */, { 2, 9997, 2893, 3, 19, UNI_BC__RLO } /* bc=righttoleftoverride */, { 5, 8780, 149, 7, 34, UNI_DIACRITICALSSUP } /* block=combiningdiacriticalmarkssupplement */, { 1, 9528, 0, 4, 0, UNI_cwu_values_index } /* cwu= */, { 0, 9277, 9440, 3, 4, UNI_SC__ADLM } /* sc=adlm */, { 1, 9488, 9032, 4, 6, UNI_INWANCHO } /* blk=wancho */, { 7, 10048, 8756, 3, 2, UNI_NV__90 } /* nv=90 */, { 0, 9277, 9812, 3, 4, UNI_SC__TAML } /* sc=taml */, { 8, 5986, 8720, 13, 6, UNI_NV__400000 } /* numericvalue=400000 */, { 1, 10009, 1253, 3, 4, UNI_DT__INIT } /* dt=init */, { 0, 7218, 866, 10, 2, UNI_LB__SP } /* linebreak=sp */, { 3, 9997, 2449, 3, 11, UNI_BC__L } /* bc=lefttoright */, { 2, 3115, 0, 13, 0, UNI_DEVANAGARIEXT } /* devanagariext */, { 1, 5791, 3785, 13, 17, UNI_JG__MANICHAEANDHAMEDH } /* joininggroup=manichaeandhamedh */, { 1, 9508, 7178, 4, 10, UNI_CCC__6 } /* ccc=hanreading */, { 4, 5986, 8750, 13, 3, UNI_NV__800 } /* numericvalue=800 */, { 5, 5060, 9255, 14, 5, -UNI_CI } /* caseignorable=false */, { 2, 184, 6818, 2, 11, UNI_MYANMAREXTA } /* ismyanmarexta */, { 0, 5037, 1, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=n */, { 0, 21, 5662, 3, 12, UNI_AEGEANNUMBERS } /* inaegeannumbers */, { 1, 4898, 0, 15, 0, UNI_PS } /* openpunctuation */, { 8, 5986, 8714, 13, 4, UNI_NV__3000 } /* numericvalue=3000 */, { 0, 8589, 9736, 7, 4, UNI_SC__COPT } /* script=qaac */, { 0, 7088, 10036, 10, 3, UNI_BC__LRE } /* bidiclass=lre */, { 2, 5564, 9836, 14, 4, UNI_QMARK } /* quotationmark=true */, { 1, 9277, 9864, 3, 4, UNI_WCHO } /* sc=wcho */, { 3, 9508, 7978, 4, 2, UNI_CCC__16 } /* ccc=16 */, { 2, 5564, 26, 14, 1, UNI_QMARK } /* quotationmark=y */, { 0, 6231, 2120, 3, 20, UNI_CJKRADICALSSUP } /* incjkradicalssupplement */, { 7, 10048, 8732, 3, 6, UNI_NV__500000 } /* nv=500000 */, { 1, 3836, 9660, 17, 4, UNI_MLYM } /* scriptextensions=mlym */, { 0, 1552, 1899, 9, 2, UNI_PC } /* category=pc */, { 0, 9768, 78, 4, 4, UNI_ARAB } /* scx=arab */, { 21, 10296, 7676, 3, 8, UNI_PALM } /* ispalmyrene */, { 0, 27, 0, 2, 0, UNI_LOWERCASELETTER } /* ll */, { 1, 1823, 0, 5, 0, UNI_XPOSIXLOWER } /* lower */, { 0, 10027, 6349, 3, 12, UNI_JG__MALAYALAMSSA } /* jg=malayalamssa */, { 3, 8780, 2203, 6, 14, UNI_INHANIFIROHINGYA } /* block=hanifirohingya */, { 2, 184, 8219, 2, 4, UNI_JAVA } /* isjava */, { 0, 9488, 4568, 4, 15, UNI_CURRENCYSYMBOLS } /* blk=currencysymbols */, { 1, 6420, 1061, 3, 26, UNI_OCR } /* inopticalcharacterrecognition */, { 2, 5791, 3802, 13, 17, UNI_JG__MANICHAEANHUNDRED } /* joininggroup=manichaeanhundred */, { 16, 1188, 8646, 3, 6, UNI_INTAITHAM } /* intaitham */, { 9, 1018, 0, 5, 0, UNI_MUSIC } /* music */, { 0, 9488, 7495, 4, 9, UNI_ARABICPFA } /* blk=arabicpfa */, { 1, 9260, 0, 5, 0, UNI_idsb_values_index } /* idsb= */, { 0, 8589, 9700, 7, 4, UNI_OLCK } /* script=olck */, { 0, 1417, 1756, 24, 2, UNI_CCC__BR } /* canonicalcombiningclass=br */, { 4, 9270, 472, 3, 2, UNI_PUA } /* inpua */, { 0, 184, 9652, 2, 4, UNI_MERC } /* ismerc */, { 4, 1189, 0, 3, 0, UNI_nt_values_index } /* nt= */, { 8, 9275, 4353, 5, 16, UNI_INSC__SYLLABLEMODIFIER } /* insc=syllablemodifier */, { 3, 10288, 2779, 3, 3, UNI_XIDS } /* isxids */, { 1, 184, 0, 4, 0, UNI_CE } /* isce */, { 3, 8688, 5019, 3, 13, UNI_ANCIENTSYMBOLS } /* isancientsymbols */, { 1, 9508, 8823, 5, 4, UNI_CCC__13 } /* ccc=ccc13 */, { 1, 9768, 8219, 4, 8, UNI_JAVA } /* scx=javanese */, { 2, 8400, 26, 7, 1, UNI_COMPEX } /* compex=y */, { 1, 10027, 7016, 3, 11, UNI_JG__YEHWITHTAIL } /* jg=yehwithtail */, { 1, 7155, 34, 3, 2, UNI_XPOSIXXDIGIT } /* ishex */, { 0, 5986, 7915, 13, 8, UNI_NV__3_SLASH_80 } /* numericvalue=3.75e-02 */, { 17, 9997, 1, 4, 1, UNI_BC__BN } /* bc=bn */, { 6, 1188, 2077, 3, 21, UNI_TRANSPORTANDMAP } /* intransportandmapsymbols */, { 0, 184, 10176, 2, 2, UNI_ZL } /* iszl */, { 2, 6469, 11, 12, 2, UNI_NT__DI } /* numerictype=di */, { 8, 10033, 7512, 3, 2, UNI_LB__BB } /* lb=bb */, { 0, 7325, 9985, 3, 3, UNI_IN__7 } /* in=7.0 */, { 0, 2224, 0, 21, 0, UNI_PRTI } /* inscriptionalparthian */, { 7, 9768, 9636, 4, 4, UNI_LINB } /* scx=linb */, { 1, 8936, 0, 6, 0, UNI_LYCI } /* lycian */, { 0, 9997, 3313, 3, 18, UNI_BC__LRI } /* bc=lefttorightisolate */, { 2, 8589, 8421, 7, 4, UNI_ELYM } /* script=elym */, { 2, 2182, 4305, 21, 5, UNI_GCB__XX } /* graphemeclusterbreak=other */, { 1, 8780, 8394, 7, 6, UNI_CJKEXTG } /* block=cjkextg */, { 5, 9864, 0, 4, 0, UNI_WCHO } /* wcho */, { 0, 9768, 9335, 4, 4, UNI_TAKR } /* scx=takr */, { 0, 1828, 0, 6, 0, UNI_cased_values_index } /* cased= */, { 2, 184, 4569, 3, 13, UNI_SC } /* iscurrencysymbol */, { 2, 8780, 2061, 6, 4, UNI_INMODI } /* block=modi */, { 2, 184, 3241, 2, 4, UNI_GEOR } /* isgeor */, { 8, 3836, 7651, 17, 4, UNI_ITAL } /* scriptextensions=ital */, { 0, 184, 62, 2, 5, UNI_XPOSIXGRAPH } /* isgraph */, { 0, 8589, 1628, 7, 4, UNI_SC__PHAG } /* script=phag */, { 0, 9014, 1025, 6, 2, -UNI_UIDEO } /* uideo=no */, { 2, 979, 0, 27, 0, UNI_ALPHABETICPF } /* alphabeticpresentationforms */, { 0, 8589, 2288, 8, 3, UNI_SC__SINH } /* script=sinh */, { 2, 8589, 5003, 7, 15, UNI_ZANB } /* script=zanabazarsquare */, { 4, 9277, 9704, 3, 4, UNI_ORKH } /* sc=orkh */, { 0, 5986, 7899, 13, 8, UNI_NV__7_SLASH_2 } /* numericvalue=3.50e+00 */, { 6, 9488, 8673, 4, 7, UNI_UCASEXT } /* blk=ucasext */, { 0, 8477, 0, 4, 0, UNI_MAKA } /* maka */, { 5, 1417, 8793, 25, 4, UNI_CCC__10 } /* canonicalcombiningclass=ccc10 */, { 0, 2245, 0, 14, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekext */, { 0, 9277, 8876, 3, 4, UNI_GOTH } /* sc=goth */, { 0, 112, 0, 2, 0, UNI_SC } /* sc */, { 2, 3836, 9820, 17, 4, UNI_TFNG } /* scriptextensions=tfng */, { 1, 10048, 9361, 3, 3, UNI_NV__1_SLASH_2 } /* nv=1/2 */, { 11, 8509, 751, 4, 19, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanumerics */, { 0, 8780, 3600, 8, 15, UNI_INCAUCASIANALBANIAN } /* block=caucasianalbanian */, { 0, 9488, 8171, 4, 8, UNI_INGUJARATI } /* blk=gujarati */, { 1, 8780, 2855, 6, 9, UNI_INMONGOLIAN } /* block=mongolian */, { 1, 21, 8203, 2, 8, UNI_JAMOEXTA } /* injamoexta */, { 5, 4916, 8653, 3, 6, UNI_TAVT } /* istaiviet */, { 0, 9488, 250, 4, 33, UNI_MISCMATHSYMBOLSA } /* blk=miscellaneousmathematicalsymbolsa */, { 0, 8688, 2469, 3, 2, UNI_ANY } /* isany */, { 0, 6241, 7, 12, 1, UNI_JT__C } /* joiningtype=c */, { 9, 8786, 0, 6, 0, UNI_CARI } /* carian */, { 8, 5256, 0, 14, 0, UNI_LATINEXTD } /* latinextendedd */, { 3, 5791, 5179, 13, 3, UNI_JG__HEH } /* joininggroup=heh */, { 0, 7218, 414, 10, 11, UNI_LB__ID } /* linebreak=ideographic */, { 0, 9277, 8107, 3, 8, UNI_BALI } /* sc=balinese */, { 3, 10048, 7835, 3, 8, UNI_NV__5_SLASH_2 } /* nv=2.50e+00 */, { 1, 8780, 4273, 6, 16, UNI_MYANMAREXTA } /* block=myanmarextendeda */, { 0, 9277, 8888, 3, 4, UNI_HATR } /* sc=hatr */, { 1, 7558, 6195, 4, 4, UNI_INHEBREW } /* inhebrew */, { 7, 8589, 8187, 7, 8, UNI_SC__HIRA } /* script=hiragana */, { 2, 10027, 5410, 3, 14, UNI_JG__MANICHAEANTETH } /* jg=manichaeanteth */, { 0, 1417, 10166, 24, 2, UNI_CCC__8 } /* canonicalcombiningclass=kv */, { 2, 184, 9640, 2, 3, UNI_LOE } /* isloe */, { 0, 8870, 1, 6, 1, -UNI_EPRES } /* epres=n */, { 4, 9524, 0, 4, 0, UNI_cwt_values_index } /* cwt= */, { 0, 1166, 9255, 26, 5, -UNI_DI } /* defaultignorablecodepoint=false */, { 1, 8780, 1922, 6, 12, UNI_DIACRITICALS } /* block=diacriticals */, { 13, 3836, 2684, 17, 19, UNI_EGYP } /* scriptextensions=egyptianhieroglyphs */, { 2, 8780, 8673, 6, 7, UNI_UCASEXT } /* block=ucasext */, { 0, 8780, 8645, 6, 7, UNI_INTAITHAM } /* block=taitham */, { 5, 5986, 7843, 13, 8, UNI_NV__1_SLASH_4 } /* numericvalue=2.50e-01 */, { 2, 217, 0, 33, 0, UNI_DIACRITICALSEXT } /* combiningdiacriticalmarksextended */, { 5, 10024, 6851, 3, 11, UNI_LO } /* gc=otherletter */, { 2, 9997, 23, 3, 2, UNI_BC__AL } /* bc=al */, { 6, 8780, 2912, 6, 12, UNI_SUNDANESESUP } /* block=sundanesesup */, { 1, 3836, 8659, 17, 7, UNI_TIBT } /* scriptextensions=tibetan */, { 0, 8645, 0, 7, 0, UNI_LANA } /* taitham */, { 2, 9277, 8786, 3, 6, UNI_CARI } /* sc=carian */, { 0, 7418, 26, 10, 1, UNI_XPOSIXUPPER } /* uppercase=y */, { 20, 7318, 10114, 10, 3, UNI_IN__6_DOT_3 } /* presentin=v63 */, { 5, 1188, 3458, 3, 10, UNI_TAIXUANJING } /* intaixuanjing */, { 3, 184, 9632, 2, 4, UNI_LINA } /* islina */, { 2, 9997, 2489, 3, 20, UNI_BC__PDF } /* bc=popdirectionalformat */, { 4, 8780, 8547, 6, 7, UNI_OLCK } /* block=olchiki */, { 0, 8942, 0, 4, 0, UNI_LYDI } /* lydi */, { 0, 6035, 0, 2, 0, UNI_PF } /* pf */, { 7, 9265, 10135, 5, 3, UNI_IDST } /* idst=yes */, { 0, 184, 2061, 2, 14, UNI_LM } /* ismodifierletter */, { 1, 184, 2287, 2, 21, UNI_SINHALAARCHAICNUMBERS } /* issinhalaarchaicnumbers */, { 3, 2569, 471, 20, 2, UNI_VO__TU } /* verticalorientation=tu */, { 2, 184, 1631, 2, 18, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesext */, { 4, 10048, 9924, 3, 2, UNI_NV__42 } /* nv=42 */, { 2, 184, 339, 2, 2, UNI_LO } /* islo */, { 1, 9768, 9330, 4, 5, UNI_TALE } /* scx=taile */, { 0, 9277, 6193, 3, 6, UNI_HEBR } /* sc=hebrew */, { 1, 184, 8491, 2, 4, UNI_MARC } /* ismarc */, { 0, 8780, 467, 6, 11, UNI_INPUNCTUATION } /* block=punctuation */, { 16, 9071, 1, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=n */, { 1, 9270, 7309, 3, 9, UNI_INPHOENICIAN } /* inphoenician */, { 16, 3836, 8414, 17, 7, UNI_ELBA } /* scriptextensions=elbasan */, { 0, 3836, 8463, 17, 7, UNI_KALI } /* scriptextensions=kayahli */, { 0, 9768, 7188, 4, 4, UNI_KHAR } /* scx=khar */, { 0, 10296, 1629, 3, 3, UNI_PHAG } /* isphag */, { 2, 5746, 26, 6, 1, UNI_EBASE } /* ebase=y */, { 1, 8780, 8315, 6, 8, UNI_INUGARITIC } /* block=ugaritic */, { 0, 9277, 9632, 3, 4, UNI_SC__LINA } /* sc=lina */, { 5, 8884, 9255, 4, 5, -UNI_EXT } /* ext=false */, { 0, 10129, 3, 3, 1, -UNI_VS } /* vs=f */, { 3, 9528, 26, 4, 1, UNI_CWU } /* cwu=y */, { 1, 6229, 1, 12, 1, -UNI_JOINC } /* joincontrol=n */, { 5, 184, 9544, 2, 4, UNI_DIAK } /* isdiak */, { 5, 9704, 0, 4, 0, UNI_ORKH } /* orkh */, { 0, 9768, 7657, 4, 9, UNI_PERM } /* scx=oldpermic */, { 0, 9277, 8291, 3, 8, UNI_SC__TAGB } /* sc=tagbanwa */, { 1, 8780, 7531, 6, 9, UNI_EMOTICONS } /* block=emoticons */, { 1, 9488, 7504, 4, 9, UNI_ARABICPFB } /* blk=arabicpfb */, { 1, 8870, 9836, 6, 4, UNI_EPRES } /* epres=true */, { 1, 9270, 0, 5, 0, UNI_inpc_values_index } /* inpc= */, { 1, 8694, 9255, 7, 5, -UNI_XPOSIXSPACE } /* wspace=false */, { 16, 4791, 2837, 3, 18, UNI_MODIFIERTONELETTERS } /* inmodifiertoneletters */, { 1, 9277, 8414, 3, 4, UNI_ELBA } /* sc=elba */, { 1, 9768, 9516, 4, 4, UNI_CPRT } /* scx=cprt */, { 6, 7318, 10117, 10, 3, UNI_IN__7 } /* presentin=v70 */, { 1, 9640, 1025, 4, 2, -UNI_LOE } /* loe=no */, { 0, 184, 1587, 2, 1, UNI_Z } /* isz */, { 4, 7218, 9557, 10, 2, UNI_LB__CB } /* linebreak=cb */, { 16, 9275, 8307, 5, 8, UNI_INSC__TONEMARK } /* insc=tonemark */, { 0, 9277, 8936, 3, 6, UNI_LYCI } /* sc=lycian */, { 1, 2722, 0, 19, 0, UNI_JAMOEXTA } /* hanguljamoextendeda */, { 0, 8512, 17, 8, 1, UNI_NFKCQC__N } /* nfkcqc=no */, { 2, 9270, 909, 3, 13, UNI_PUA } /* inprivateusearea */, { 0, 9275, 5700, 5, 13, UNI_INSC__CONSONANTDEAD } /* insc=consonantdead */, { 2, 9484, 0, 4, 0, UNI_BHKS } /* bhks */, { 7, 9768, 4448, 4, 5, UNI_BAMU } /* scx=bamum */, { 1, 8589, 3115, 7, 10, UNI_SC__DEVA } /* script=devanagari */, { 0, 8852, 0, 6, 0, UNI_cwkcf_values_index } /* cwkcf= */, { 2, 6805, 2014, 6, 18, UNI_MISCTECHNICAL } /* inmiscellaneoustechnical */, { 4, 8589, 4001, 7, 7, UNI_SC__CPRT } /* script=cypriot */, { 4, 9488, 1192, 4, 26, UNI_HALFANDFULLFORMS } /* blk=halfwidthandfullwidthforms */, { 2, 8780, 5550, 6, 14, UNI_INPSALTERPAHLAVI } /* block=psalterpahlavi */, { 3, 132, 0, 2, 0, UNI_LM } /* lm */, { 16, 5986, 7851, 13, 8, UNI_NV__1_SLASH_40 } /* numericvalue=2.50e-02 */, { 2, 8780, 8442, 6, 7, UNI_INHANUNOO } /* block=hanunoo */, { 1, 9275, 8687, 5, 7, UNI_INSC__VISARGA } /* insc=visarga */, { 4, 10033, 8449, 3, 2, UNI_LB__HY } /* lb=hy */, { 0, 6805, 861, 6, 6, UNI_MISCARROWS } /* inmiscarrows */, { 0, 9488, 599, 4, 30, UNI_CJKEXTD } /* blk=cjkunifiedideographsextensiond */, { 0, 9277, 4478, 3, 7, UNI_BRAI } /* sc=braille */, { 0, 10033, 25, 3, 2, UNI_LB__SY } /* lb=sy */, { 0, 7325, 0, 3, 0, UNI_in_values_index } /* in= */, { 2, 7249, 533, 4, 2, UNI_CANS } /* iscans */, { 0, 4542, 1633, 4, 16, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesext */, { 3, 9488, 3598, 4, 17, UNI_INCAUCASIANALBANIAN } /* blk=caucasianalbanian */, { 1, 3836, 3241, 17, 4, UNI_GEOR } /* scriptextensions=geor */, { 0, 4033, 7408, 16, 10, UNI_CN } /* generalcategory=unassigned */, { 1, 2224, 3871, 3, 16, UNI_SMALLFORMS } /* insmallformvariants */, { 0, 3836, 4145, 17, 7, UNI_LINB } /* scriptextensions=linearb */, { 2, 9768, 2140, 4, 8, UNI_CYRL } /* scx=cyrillic */, { 0, 9070, 10135, 5, 3, UNI_POSIXXDIGIT } /* ahex=yes */, { 10, 8589, 6409, 7, 4, UNI_MEND } /* script=mend */, { 1, 6609, 0, 11, 0, UNI_dep_values_index } /* deprecated= */, { 0, 9277, 8491, 3, 7, UNI_MARC } /* sc=marchen */, { 2, 9508, 9101, 5, 4, UNI_CCC__14 } /* ccc=ccc14 */, { 5, 184, 3887, 2, 17, UNI_SUTTONSIGNWRITING } /* issuttonsignwriting */, { 1, 21, 9325, 2, 5, UNI_INRUNIC } /* inrunic */, { 2, 10024, 8855, 3, 2, UNI_CF } /* gc=cf */, { 8, 1417, 8823, 25, 4, UNI_CCC__13 } /* canonicalcombiningclass=ccc13 */, { 5, 4113, 25, 3, 1, UNI_INVS } /* invs */, { 2, 5986, 8011, 13, 8, UNI_NV__13_SLASH_2 } /* numericvalue=6.50e+00 */, { 2, 4853, 1, 15, 1, UNI_NFKDQC__N } /* nfkdquickcheck=n */, { 0, 10027, 4209, 3, 16, UNI_JG__MANICHAEANSAMEKH } /* jg=manichaeansamekh */, { 1, 569, 0, 30, 0, UNI_CJKEXTC } /* cjkunifiedideographsextensionc */, { 2, 9345, 9255, 5, 5, -UNI_XIDC } /* xidc=false */, { 1, 9488, 8936, 4, 6, UNI_INLYCIAN } /* blk=lycian */, { 0, 184, 3151, 2, 17, UNI_EPRES } /* isemojipresentation */, { 1, 8978, 1025, 6, 2, -UNI__PERL_PATWS } /* patws=no */, { 1, 10033, 7522, 3, 9, UNI_LB__B2 } /* lb=breakboth */, { 2, 1417, 2809, 24, 2, UNI_CCC__1 } /* canonicalcombiningclass=ov */, { 1, 8780, 8387, 7, 6, UNI_CJKEXTF } /* block=cjkextf */, { 3, 9015, 26, 5, 1, UNI_IDEO } /* ideo=y */, { 0, 1552, 6598, 9, 11, UNI_CASEDLETTER } /* category=casedletter */, { 1, 9540, 1025, 4, 2, -UNI_DIA } /* dia=no */, { 0, 21, 5830, 2, 13, UNI_LOWSURROGATES } /* inlowsurrogates */, { 0, 3259, 26, 18, 1, UNI_IDSB } /* idsbinaryoperator=y */, { 0, 57, 0, 2, 0, UNI_YI } /* yi */, { 1, 184, 2817, 2, 19, UNI_MERO } /* ismeroitichieroglyphs */, { 1, 8589, 9804, 7, 4, UNI_SC__TALE } /* script=tale */, { 2, 6609, 1, 11, 1, -UNI_DEP } /* deprecated=n */, { 2, 5986, 9055, 13, 4, UNI_NV__1_SLASH_32 } /* numericvalue=1/32 */, { 0, 9262, 400, 3, 6, UNI_SB__FO } /* sb=format */, { 8, 8780, 8414, 6, 7, UNI_INELBASAN } /* block=elbasan */, { 0, 7088, 6049, 10, 12, UNI_BC__AN } /* bidiclass=arabicnumber */, { 1, 10048, 9364, 3, 4, UNI_NV__1_SLASH_10 } /* nv=1/10 */, { 0, 8780, 6961, 6, 11, UNI_SUPERANDSUB } /* block=superandsub */, { 3, 184, 5284, 2, 14, UNI_LISUSUP } /* islisusupplement */, { 7, 9492, 7, 4, 1, UNI_BPT__C } /* bpt=c */, { 8, 9768, 8414, 4, 4, UNI_ELBA } /* scx=elba */, { 5, 10024, 467, 3, 5, UNI_P } /* gc=punct */, { 0, 1966, 8099, 22, 8, UNI_INSC__AVAGRAHA } /* indicsyllabiccategory=avagraha */, { 3, 9275, 4523, 5, 15, UNI_INSC__CONSONANTMEDIAL } /* insc=consonantmedial */, { 1, 8589, 9680, 7, 4, UNI_NBAT } /* script=nbat */, { 1, 10048, 7747, 3, 8, UNI_NV__1_SLASH_10 } /* nv=1.00e-01 */, { 1, 9488, 4065, 4, 16, UNI_HALFANDFULLFORMS } /* blk=halfandfullforms */, { 11, 7438, 8139, 10, 8, UNI_WB__EB } /* wordbreak=ebasegaz */, { 0, 2224, 2970, 3, 18, UNI_SUPARROWSC } /* insupplementalarrowsc */, { 0, 9524, 26, 4, 1, UNI_CWT } /* cwt=y */, { 1, 9277, 9572, 3, 4, UNI_SC__GUJR } /* sc=gujr */, { 4, 1552, 107, 10, 5, UNI_S } /* category=symbol */, { 0, 10048, 5648, 3, 4, UNI_NV__1000 } /* nv=1000 */, { 0, 10009, 8163, 3, 3, UNI_DT__FRA } /* dt=fra */, { 0, 7558, 0, 9, 0, UNI_QAAI } /* inherited */, { 3, 1768, 26, 22, 1, UNI_CWCF } /* changeswhencasefolded=y */, { 0, 3836, 2913, 18, 8, UNI_SUND } /* scriptextensions=sundanese */, { 10, 9277, 8547, 3, 7, UNI_OLCK } /* sc=olchiki */, { 0, 9488, 42, 4, 16, UNI_CJKCOMPAT } /* blk=cjkcompatibility */, { 2, 3836, 8315, 17, 4, UNI_UGAR } /* scriptextensions=ugar */, { 0, 8996, 0, 7, 0, UNI_STERM } /* sterm=t */, { 0, 9488, 4928, 4, 15, UNI_TAMILSUP } /* blk=tamilsupplement */, { 0, 3836, 7558, 17, 9, UNI_QAAI } /* scriptextensions=inherited */, { 0, 1552, 17, 10, 1, UNI_SO } /* category=so */, { 0, 9277, 7675, 3, 4, UNI_PALM } /* sc=palm */, { 0, 8780, 7513, 6, 9, UNI_INBHAIKSUKI } /* block=bhaiksuki */, { 1, 9250, 0, 5, 0, UNI_emod_values_index } /* emod= */, { 4, 8589, 719, 7, 9, UNI_XSUX } /* script=cuneiform */, { 0, 9240, 1025, 5, 2, -UNI_DASH } /* dash=no */, { 3, 8780, 6807, 6, 11, UNI_MISCSYMBOLS } /* block=miscsymbols */, { 1, 10048, 9055, 3, 5, UNI_NV__1_SLASH_320 } /* nv=1/320 */, { 1, 4628, 9, 15, 2, UNI_EA__NA } /* eastasianwidth=na */, { 0, 184, 1673, 2, 4, UNI_JAMO } /* isjamo */, { 3, 7155, 4098, 3, 15, UNI_HIGHPUSURROGATES } /* ishighpusurrogates */, { 3, 2779, 36, 19, 1, UNI_IDST } /* idstrinaryoperator=t */, { 2, 10027, 7348, 3, 10, UNI_JG__REVERSEDPE } /* jg=reversedpe */, { 6, 9488, 2224, 4, 21, UNI_ININSCRIPTIONALPARTHIAN } /* blk=inscriptionalparthian */, { 1, 7088, 0, 10, 0, UNI_bc_values_index } /* bidiclass= */, { 0, 8589, 8291, 7, 8, UNI_SC__TAGB } /* script=tagbanwa */, { 0, 4033, 10180, 16, 2, UNI_ZS } /* generalcategory=zs */, { 0, 8780, 1631, 6, 18, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesext */, { 0, 7318, 10111, 10, 3, UNI_IN__6_DOT_2 } /* presentin=v62 */, { 0, 8894, 1025, 6, 2, -UNI_JOINC } /* joinc=no */, { 2, 3836, 1115, 17, 4, UNI_HANG } /* scriptextensions=hang */, { 2, 9596, 9, 4, 2, UNI_HST__NA } /* hst=na */, { 1, 8780, 250, 6, 33, UNI_MISCMATHSYMBOLSA } /* block=miscellaneousmathematicalsymbolsa */, { 3, 10009, 2280, 3, 3, UNI_DT__ISO } /* dt=iso */, { 4, 9488, 5752, 4, 13, UNI_GREEKEXT } /* blk=greekextended */, { 17, 7378, 0, 10, 0, UNI_SUPARROWSA } /* suparrowsa */, { 2, 9520, 0, 3, 0, UNI_CWL } /* cwl */, { 2, 9556, 10174, 4, 2, UNI_GCB__XX } /* gcb=xx */, { 1, 10048, 7781, 3, 2, UNI_NV__43 } /* nv=43 */, { 1, 8780, 3115, 6, 13, UNI_DEVANAGARIEXT } /* block=devanagariext */, { 4, 3836, 6253, 17, 5, UNI_KHMR } /* scriptextensions=khmer */, { 8, 3836, 2288, 18, 6, UNI_SINH } /* scriptextensions=sinhala */, { 0, 10048, 10144, 3, 2, UNI_NV__45 } /* nv=45 */, { 42, 9488, 569, 4, 30, UNI_CJKEXTC } /* blk=cjkunifiedideographsextensionc */, { 9, 9536, 26, 4, 1, UNI_DEP } /* dep=y */, { 0, 1790, 26, 22, 1, UNI_CWCM } /* changeswhencasemapped=y */, { 2, 10048, 8710, 3, 4, UNI_NV__6000 } /* nv=6000 */, { 10, 9262, 1159, 3, 2, UNI_SB__ST } /* sb=st */, { 0, 21, 4129, 2, 16, UNI_LATIN1 } /* inlatin1supplement */, { 1, 3836, 7288, 17, 10, UNI_SOGO } /* scriptextensions=oldsogdian */, { 0, 21, 3295, 2, 9, UNI_LATINEXTA } /* inlatinexta */, { 1, 184, 9600, 2, 4, UNI_KALI } /* iskali */, { 3, 1552, 3359, 10, 8, UNI_Z } /* category=separator */, { 12, 5986, 5648, 13, 13, UNI_NV__1000000000000 } /* numericvalue=1000000000000 */, { 2, 3382, 26, 3, 1, UNI_CE } /* ce=y */, { 1, 5214, 0, 14, 0, UNI_KANGXI } /* kangxiradicals */, { 4, 9716, 9836, 4, 4, UNI_PCM } /* pcm=true */, { 0, 10132, 10174, 3, 2, UNI_WB__XX } /* wb=xx */, { 3, 8780, 6840, 6, 11, UNI_INNANDINAGARI } /* block=nandinagari */, { 0, 8589, 2608, 7, 6, UNI_BRAH } /* script=brahmi */, { 2, 9277, 9636, 3, 4, UNI_SC__LINB } /* sc=linb */, { 0, 3169, 0, 18, 0, UNI_ETHIOPICSUP } /* ethiopicsupplement */, { 2, 2224, 2913, 3, 11, UNI_SUNDANESESUP } /* insundanesesup */, { 2, 9275, 5102, 5, 14, UNI_INSC__CONSONANTFINAL } /* insc=consonantfinal */, { 0, 8780, 1906, 6, 16, UNI_INDICNUMBERFORMS } /* block=indicnumberforms */, { 5, 8780, 3547, 6, 10, UNI_ALCHEMICAL } /* block=alchemical */, { 0, 8780, 316, 6, 33, UNI_SUPMATHOPERATORS } /* block=supplementalmathematicaloperators */, { 3, 21, 8942, 2, 6, UNI_INLYDIAN } /* inlydian */, { 2, 9277, 2140, 3, 8, UNI_SC__CYRL } /* sc=cyrillic */, { 0, 1867, 0, 9, 0, UNI_XPOSIXUPPER } /* uppercase */, { 6, 7088, 865, 10, 2, UNI_BC__WS } /* bidiclass=ws */, { 1, 4033, 1287, 16, 2, UNI_UPPERCASELETTER } /* generalcategory=lu */, { 6, 7218, 6675, 10, 11, UNI_LB__EX } /* linebreak=exclamation */, { 0, 8589, 1900, 7, 6, UNI_SC__ZYYY } /* script=common */, { 1, 9768, 8428, 4, 4, UNI_GRAN } /* scx=gran */, { 0, 8596, 0, 7, 0, UNI_SHRD } /* sharada */, { 3, 1537, 3475, 24, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* indicpositionalcategory=topandleftandright */, { 1, 9488, 8942, 4, 6, UNI_INLYDIAN } /* blk=lydian */, { 0, 1552, 4305, 9, 5, UNI_C } /* category=other */, { 0, 9277, 8876, 3, 6, UNI_GOTH } /* sc=gothic */, { 0, 184, 7531, 2, 9, UNI_EMOTICONS } /* isemoticons */, { 0, 1966, 4508, 22, 15, UNI_INSC__CONSONANTKILLER } /* indicsyllabiccategory=consonantkiller */, { 1, 9556, 5746, 4, 5, UNI_WB__EB } /* gcb=ebase */, { 3, 9277, 6481, 3, 12, UNI_HUNG } /* sc=oldhungarian */, { 0, 4643, 0, 14, 0, UNI_ECOMP } /* emojicomponent */, { 3, 2224, 8618, 3, 6, UNI_INSOYOMBO } /* insoyombo */, { 5, 8780, 2817, 6, 19, UNI_MERO } /* block=meroitichieroglyphs */, { 3, 8435, 1, 7, 1, -UNI_GRBASE } /* grbase=n */, { 7, 8512, 0, 8, 0, UNI_NFKCQC__N } /* nfkcqc=n */, { 0, 48, 0, 1, 0, UNI_P } /* p */, { 1, 1812, 1025, 22, 2, -UNI_CWL } /* changeswhenlowercased=no */, { 0, 7155, 2204, 3, 3, UNI_HAN } /* ishani */, { 1, 9270, 2994, 5, 13, UNI_INPC__BOTTOMANDLEFT } /* inpc=bottomandleft */, { 0, 184, 8456, 2, 7, UNI_KNDA } /* iskannada */, { 0, 8762, 36, 6, 1, UNI_XPOSIXALPHA } /* alpha=t */, { 2, 3937, 0, 11, 0, UNI_BOPOMOFOEXT } /* bopomofoext */, { 7, 10024, 1066, 3, 2, UNI_CASEDLETTER } /* gc=lc */, { 2, 8477, 0, 7, 0, UNI_MAKA } /* makasar */, { 0, 9488, 2140, 4, 21, UNI_CYRILLICSUP } /* blk=cyrillicsupplementary */, { 0, 8780, 446, 6, 18, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbols */, { 0, 9488, 9285, 4, 5, UNI_INLIMBU } /* blk=limbu */, { 1, 5986, 7795, 13, 8, UNI_NV__3_SLASH_20 } /* numericvalue=1.50e-01 */, { 0, 1417, 7477, 24, 9, UNI_CCC__AL } /* canonicalcombiningclass=aboveleft */, { 0, 9997, 3700, 3, 17, UNI_BC__ES } /* bc=europeanseparator */, { 2, 184, 6972, 2, 11, UNI_SYLO } /* issylotinagri */, { 0, 5032, 9255, 14, 5, -UNI_POSIXXDIGIT } /* asciihexdigit=false */, { 3, 8688, 3923, 4, 7, UNI_ARABICSUP } /* isarabicsup */, { 0, 8780, 2931, 6, 19, UNI_SUPARROWSA } /* block=supplementalarrowsa */, { 2, 9488, 2308, 4, 21, UNI_YIJING } /* blk=yijinghexagramsymbols */, { 0, 5661, 0, 13, 0, UNI_AEGEANNUMBERS } /* aegeannumbers */, { 5, 7076, 4479, 3, 6, UNI_BRAI } /* inbraille */, { 0, 184, 4245, 2, 10, UNI_SM } /* ismathsymbol */, { 13, 8780, 1585, 6, 14, UNI_BYZANTINEMUSIC } /* block=byzantinemusic */, { 0, 9508, 9106, 5, 4, UNI_CCC__15 } /* ccc=ccc15 */, { 2, 9768, 4385, 4, 6, UNI_TANG } /* scx=tangut */, { 3, 1537, 3343, 4, 6, UNI_DINGBATS } /* indingbats */, { 8, 9488, 2054, 4, 22, UNI_MODIFIERLETTERS } /* blk=spacingmodifierletters */, { 4, 539, 0, 30, 0, UNI_CJKEXTB } /* cjkunifiedideographsextensionb */, { 1, 184, 3439, 2, 12, UNI_SMALLKANAEXT } /* issmallkanaext */, { 0, 1269, 3, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=f */, { 26, 9275, 2646, 5, 19, UNI_INSC__CONSONANTHEADLETTER } /* insc=consonantheadletter */, { 1, 5986, 9428, 13, 4, UNI_NV__3_SLASH_80 } /* numericvalue=3/80 */, { 0, 8780, 8352, 7, 6, UNI_CJKEXTA } /* block=cjkexta */, { 1, 8884, 26, 4, 1, UNI_EXT } /* ext=y */, { 0, 9997, 8, 3, 2, UNI_BC__AN } /* bc=an */, { 6, 9736, 0, 4, 0, UNI_COPT } /* qaac */, { 0, 3097, 5012, 18, 6, UNI_DT__SQR } /* decompositiontype=square */, { 1, 2119, 0, 21, 0, UNI_CJKRADICALSSUP } /* cjkradicalssupplement */, { 0, 10048, 5648, 3, 6, UNI_NV__100000 } /* nv=100000 */, { 9, 9270, 3481, 5, 12, UNI_INPC__LEFTANDRIGHT } /* inpc=leftandright */, { 0, 8589, 2469, 7, 20, UNI_HMNP } /* script=nyiakengpuachuehmong */, { 4, 9488, 6277, 4, 7, UNI_MAHJONG } /* blk=mahjong */, { 6, 1552, 341, 9, 2, UNI_PE } /* category=pe */, { 0, 3097, 8533, 18, 7, UNI_DT__NB } /* decompositiontype=nobreak */, { 0, 3836, 6940, 18, 10, UNI_SORA } /* scriptextensions=sorasompeng */, { 0, 4033, 467, 16, 5, UNI_P } /* generalcategory=punct */, { 0, 8780, 3870, 6, 17, UNI_SMALLFORMS } /* block=smallformvariants */, { 3, 10333, 2913, 3, 3, UNI_SUND } /* issund */, { 2, 10024, 727, 3, 2, UNI_MN } /* gc=mn */, { 2, 6231, 43, 3, 8, UNI_CJKCOMPAT } /* incjkcompat */, { 17, 8589, 9797, 8, 3, UNI_SC__SYRC } /* script=syrc */, { 1, 1417, 8811, 25, 4, UNI_CCC__12 } /* canonicalcombiningclass=ccc12 */, { 1, 3379, 36, 6, 1, UNI_XPOSIXSPACE } /* space=t */, { 1, 10296, 1867, 7, 5, UNI_POSIXUPPER } /* isposixupper */, { 1, 3259, 3, 18, 1, -UNI_IDSB } /* idsbinaryoperator=f */, { 3, 1417, 3007, 24, 13, UNI_CCC__214 } /* canonicalcombiningclass=attachedabove */, { 1, 7028, 9039, 3, 5, UNI_YEZI } /* isyezidi */, { 4, 7218, 4360, 10, 9, UNI_EMOD } /* linebreak=emodifier */, { 1, 1417, 2455, 24, 5, UNI_CCC__R } /* canonicalcombiningclass=right */, { 0, 1273, 10135, 21, 3, UNI_CE } /* compositionexclusion=yes */, { 1, 8780, 8603, 6, 7, UNI_SHAW } /* block=shavian */, { 3, 9768, 8876, 4, 4, UNI_GOTH } /* scx=goth */, { 4, 2182, 0, 21, 0, UNI_gcb_values_index } /* graphemeclusterbreak= */, { 0, 8780, 8652, 6, 7, UNI_INTAIVIET } /* block=taiviet */, { 8, 9886, 5006, 5, 12, UNI_INZANABAZARSQUARE } /* inzanabazarsquare */, { 0, 8589, 8638, 7, 7, UNI_SC__TGLG } /* script=tagalog */, { 16, 1768, 1025, 22, 2, -UNI_CWCF } /* changeswhencasefolded=no */, { 1, 2224, 2951, 3, 18, UNI_SUPARROWSB } /* insupplementalarrowsb */, { 0, 6553, 36, 12, 1, UNI_XIDC } /* xidcontinue=t */, { 1, 9564, 0, 4, 0, UNI_GONM } /* gonm */, { 7, 8780, 8131, 6, 8, UNI_INDUPLOYAN } /* block=duployan */, { 1, 9768, 8786, 4, 4, UNI_CARI } /* scx=cari */, { 3, 9277, 1654, 3, 6, UNI_SC__HANG } /* sc=hangul */, { 0, 184, 3421, 2, 4, UNI_RUMI } /* isrumi */, { 3, 9768, 2817, 4, 4, UNI_MERO } /* scx=mero */, { 0, 184, 3785, 2, 4, UNI_MANI } /* ismani */, { 11, 9488, 5606, 4, 14, UNI_SUPPUNCTUATION } /* blk=suppunctuation */, { 1, 10250, 6556, 15, 8, UNI__PERL_CHARNAME_CONTINUE } /* _perl_charname_continue */, { 0, 8780, 8561, 6, 7, UNI_INOSMANYA } /* block=osmanya */, { 1, 10027, 9044, 3, 6, UNI_JG__YUDHHE } /* jg=yudhhe */, { 0, 9768, 8652, 4, 7, UNI_TAVT } /* scx=taiviet */, { 0, 10012, 1192, 3, 9, UNI_EA__H } /* ea=halfwidth */, { 3, 3836, 9704, 17, 4, UNI_ORKH } /* scriptextensions=orkh */, { 1, 7318, 10108, 10, 3, UNI_IN__6_DOT_1 } /* presentin=v61 */, { 12, 5791, 6349, 13, 12, UNI_JG__MALAYALAMSSA } /* joininggroup=malayalamssa */, { 0, 10048, 8744, 3, 4, UNI_NV__7000 } /* nv=7000 */, { 0, 3367, 36, 18, 1, UNI__PERL_PATWS } /* patternwhitespace=t */, { 0, 4853, 0, 15, 0, UNI_nfkdqc_values_index } /* nfkdquickcheck= */, { 2, 9488, 809, 4, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsupplement */, { 4, 184, 749, 2, 30, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumericsupplement */, { 1, 9020, 10135, 6, 3, UNI_XPOSIXUPPER } /* upper=yes */, { 1, 5986, 8750, 13, 5, UNI_NV__80000 } /* numericvalue=80000 */, { 0, 9768, 8171, 4, 8, UNI_GUJR } /* scx=gujarati */, { 0, 3379, 10135, 6, 3, UNI_XPOSIXSPACE } /* space=yes */, { 1, 9768, 8582, 4, 7, UNI_PHAG } /* scx=phagspa */, { 0, 3836, 3785, 17, 10, UNI_MANI } /* scriptextensions=manichaean */, { 5, 9488, 4793, 4, 15, UNI_INMEROITICCURSIVE } /* blk=meroiticcursive */, { 0, 184, 6277, 2, 12, UNI_MAHJONG } /* ismahjongtiles */, { 0, 9997, 1353, 3, 3, UNI_BC__RLE } /* bc=rle */, { 2, 184, 9245, 2, 4, UNI_DOGR } /* isdogr */, { 32, 9768, 9644, 4, 4, UNI_MEDF } /* scx=medf */, { 0, 9768, 6409, 4, 12, UNI_MEND } /* scx=mendekikakui */, { 8, 10132, 5746, 3, 5, UNI_WB__EB } /* wb=ebase */, { 0, 10048, 7826, 3, 2, UNI_NV__12 } /* nv=12 */, { 6, 10132, 4856, 3, 2, UNI_WB__DQ } /* wb=dq */, { 9, 10132, 34, 3, 6, UNI_WB__EXTEND } /* wb=extend */, { 6, 10027, 4778, 3, 15, UNI_JG__MANICHAEANZAYIN } /* jg=manichaeanzayin */, { 0, 8484, 0, 7, 0, UNI_MAND } /* mandaic */, { 2, 184, 9888, 2, 4, UNI_ZANB } /* iszanb */, { 1, 3367, 9255, 18, 5, -UNI__PERL_PATWS } /* patternwhitespace=false */, { 1, 8589, 1222, 7, 4, UNI_SC__KANA } /* script=kana */, { 11, 10024, 2061, 3, 14, UNI_LM } /* gc=modifierletter */, { 2, 9488, 8786, 4, 6, UNI_INCARIAN } /* blk=carian */, { 3, 9488, 78, 4, 6, UNI_INARABIC } /* blk=arabic */, { 2, 5791, 7348, 13, 10, UNI_JG__REVERSEDPE } /* joininggroup=reversedpe */, { 4, 10296, 5718, 7, 5, UNI_POSIXALNUM } /* isposixalnum */, { 1, 8589, 6193, 7, 4, UNI_HEBR } /* script=hebr */, { 2, 10048, 10142, 3, 2, UNI_NV__44 } /* nv=44 */, { 1, 9070, 9255, 5, 5, -UNI_POSIXXDIGIT } /* ahex=false */, { 5, 9768, 9452, 4, 4, UNI_AHOM } /* scx=ahom */, { 6, 1966, 8307, 22, 8, UNI_INSC__TONEMARK } /* indicsyllabiccategory=tonemark */, { 8, 2032, 0, 22, 0, UNI_nchar_values_index } /* noncharactercodepoint= */, { 0, 184, 4049, 2, 16, UNI_GEORGIANEXT } /* isgeorgianextended */, { 0, 9488, 539, 4, 30, UNI_CJKEXTB } /* blk=cjkunifiedideographsextensionb */, { 0, 106, 0, 6, 0, UNI_S } /* symbol */, { 1, 8780, 6481, 6, 12, UNI_INOLDHUNGARIAN } /* block=oldhungarian */, { 2, 9997, 0, 4, 0, UNI_BC__B } /* bc=b */, { 1, 8780, 6818, 6, 11, UNI_MYANMAREXTA } /* block=myanmarexta */, { 12, 2760, 6763, 19, 3, UNI_LB__H3 } /* hangulsyllabletype=lvt */, { 1, 8780, 4129, 6, 6, UNI_LATIN1 } /* block=latin1 */, { 2, 5986, 7859, 13, 5, UNI_NV__20000 } /* numericvalue=20000 */, { 6, 7218, 10158, 10, 2, UNI_LB__H2 } /* linebreak=h2 */, { 0, 10048, 7931, 3, 8, UNI_NV__5_SLASH_12 } /* nv=4.17e-01 */, { 10, 4916, 9817, 3, 3, UNI_TAVT } /* istavt */, { 0, 4033, 25, 16, 1, UNI_S } /* generalcategory=s */, { 1, 8131, 0, 8, 0, UNI_DUPL } /* duployan */, { 1, 9716, 26, 4, 1, UNI_PCM } /* pcm=y */, { 8, 10180, 0, 2, 0, UNI_ZS } /* zs */, { 1, 9488, 3921, 4, 16, UNI_ARABICSUP } /* blk=arabicsupplement */, { 2, 10322, 3379, 5, 5, UNI_XPOSIXSPACE } /* xperlspace */, { 1, 184, 183, 2, 20, UNI_MISCSYMBOLS } /* ismiscellaneoussymbols */, { 0, 7318, 7931, 10, 3, UNI_IN__4_DOT_1 } /* presentin=4.1 */, { 3, 8978, 0, 5, 0, UNI__PERL_PATWS } /* patws */, { 0, 9556, 34, 4, 2, UNI_GCB__EX } /* gcb=ex */, { 4, 9020, 1, 6, 1, -UNI_XPOSIXUPPER } /* upper=n */, { 0, 5986, 8710, 13, 2, UNI_NV__60 } /* numericvalue=60 */, { 0, 9544, 0, 4, 0, UNI_DIAK } /* diak */, { 0, 10308, 0, 5, 0, UNI_XPOSIXPRINT } /* print */, { 2, 1966, 5634, 22, 14, UNI_INSC__VOWELDEPENDENT } /* indicsyllabiccategory=voweldependent */, { 1, 4033, 1171, 16, 2, UNI_TITLE } /* generalcategory=lt */, { 4, 6231, 6098, 3, 11, UNI_CYRILLICEXTA } /* incyrillicexta */, { 0, 7325, 9852, 3, 4, UNI_IN__12_DOT_1 } /* in=v121 */, { 1, 5564, 36, 14, 1, UNI_QMARK } /* quotationmark=t */, { 0, 9091, 8133, 4, 6, UNI_INDUPLOYAN } /* induployan */, { 0, 8780, 2308, 6, 21, UNI_YIJING } /* block=yijinghexagramsymbols */, { 8, 8930, 10135, 6, 3, UNI_XPOSIXLOWER } /* lower=yes */, { 0, 8954, 10135, 6, 3, UNI__PERL_NCHAR } /* nchar=yes */, { 2, 184, 3, 3, 1, UNI_CF } /* iscf */, { 1, 8589, 3169, 7, 4, UNI_ETHI } /* script=ethi */, { 7, 9637, 5690, 5, 10, UNI_BLOCKELEMENTS } /* inblockelements */, { 0, 9508, 9111, 5, 4, UNI_CCC__16 } /* ccc=ccc16 */, { 5, 8589, 9644, 7, 4, UNI_MEDF } /* script=medf */, { 8, 5466, 0, 15, 0, UNI_DT__CAN } /* nfdquickcheck=n */, { 1, 8589, 3079, 7, 6, UNI_SC__COPT } /* script=coptic */, { 10, 8688, 183, 4, 2, UNI_ARMI } /* isarmi */, { 4, 8589, 4703, 7, 15, UNI_ARMI } /* script=imperialaramaic */, { 0, 3836, 9285, 17, 4, UNI_LIMB } /* scriptextensions=limb */, { 0, 8589, 6884, 7, 11, UNI_HMNG } /* script=pahawhhmong */, { 17, 184, 1033, 2, 27, UNI_ENCLOSEDCJK } /* isenclosedcjklettersandmonths */, { 1, 8589, 9720, 7, 4, UNI_SC__PHLP } /* script=phlp */, { 1, 339, 0, 2, 0, UNI_LO } /* lo */, { 3, 9488, 838, 4, 29, UNI_MISCARROWS } /* blk=miscellaneoussymbolsandarrows */, { 4, 8966, 26, 6, 1, UNI_NFDQC__Y } /* nfdqc=y */, { 1, 8780, 4369, 6, 16, UNI_SYRIACSUP } /* block=syriacsupplement */, { 1, 1417, 9151, 25, 4, UNI_CCC__24 } /* canonicalcombiningclass=ccc24 */, { 0, 21, 5200, 2, 7, UNI_KANASUP } /* inkanasup */, { 5, 1273, 0, 20, 0, UNI_CE } /* compositionexclusion */, { 1, 8780, 2950, 6, 19, UNI_SUPARROWSB } /* block=supplementalarrowsb */, { 1, 3457, 0, 11, 0, UNI_TAIXUANJING } /* taixuanjing */, { 0, 5578, 36, 15, 1, UNI_SB__ST } /* sentencebreak=st */, { 2, 184, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatibilityideographssupplement */, { 0, 184, 4478, 2, 7, UNI_BRAI } /* isbraille */, { 1, 8589, 4385, 7, 6, UNI_TANG } /* script=tangut */, { 0, 10033, 9713, 3, 2, UNI_LB__SG } /* lb=sg */, { 0, 1192, 0, 26, 0, UNI_HALFANDFULLFORMS } /* halfwidthandfullwidthforms */, { 2, 38, 0, 2, 0, UNI_XPOSIXDIGIT } /* nd */, { 1, 8589, 9305, 7, 5, UNI_NSHU } /* script=nushu */, { 1, 9270, 9, 5, 2, UNI_INPC__NA } /* inpc=na */, { 4, 1552, 2268, 9, 2, UNI_PD } /* category=pd */, { 0, 629, 0, 30, 0, UNI_CJKEXTE } /* cjkunifiedideographsextensione */, { 12, 7249, 5062, 4, 11, UNI_CI } /* iscaseignorable */, { 3, 5986, 9412, 13, 4, UNI_NV__17_SLASH_2 } /* numericvalue=17/2 */, { 0, 8589, 9588, 7, 4, UNI_HMNG } /* script=hmng */, { 1, 7325, 9848, 3, 4, UNI_IN__12 } /* in=v120 */, { 0, 8780, 8275, 6, 8, UNI_SPECIALS } /* block=specials */, { 6, 9488, 7428, 4, 10, UNI_INWARANGCITI } /* blk=warangciti */, { 6, 7228, 1, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=n */, { 6, 5986, 8726, 13, 6, UNI_NV__432000 } /* numericvalue=432000 */, { 1, 1537, 6621, 3, 10, UNI_DOMINO } /* indominotiles */, { 0, 9540, 3, 4, 1, -UNI_DIA } /* dia=f */, { 0, 7155, 1514, 3, 23, UNI_HIGHPUSURROGATES } /* ishighprivateusesurrogates */, { 0, 5032, 9836, 14, 4, UNI_POSIXXDIGIT } /* asciihexdigit=true */, { 0, 10033, 10154, 3, 2, UNI_LB__B2 } /* lb=b2 */, { 6, 3904, 0, 17, 0, UNI_uideo_values_index } /* unifiedideograph= */, { 1, 3385, 9255, 18, 5, -UNI_RI } /* regionalindicator=false */, { 0, 9488, 3734, 4, 17, UNI_INDICSIYAQNUMBERS } /* blk=indicsiyaqnumbers */, { 2, 9860, 0, 4, 0, UNI_VAI } /* vaii */, { 4, 5791, 4209, 13, 16, UNI_JG__MANICHAEANSAMEKH } /* joininggroup=manichaeansamekh */, { 0, 5791, 87, 13, 2, UNI_JG__HE } /* joininggroup=he */, { 0, 8589, 9335, 7, 5, UNI_SC__TAKR } /* script=takri */, { 13, 9277, 9708, 3, 4, UNI_SC__ORYA } /* sc=orya */, { 1, 9277, 2061, 3, 4, UNI_SC__MODI } /* sc=modi */, { 2, 10027, 6785, 3, 11, UNI_JG__MALAYALAMRA } /* jg=malayalamra */, { 1, 7567, 0, 9, 0, UNI_SIND } /* khudawadi */, { 0, 184, 728, 2, 6, UNI_N } /* isnumber */, { 0, 9708, 0, 4, 0, UNI_ORYA } /* orya */, { 1, 1906, 0, 16, 0, UNI_INDICNUMBERFORMS } /* indicnumberforms */, { 0, 8780, 8924, 6, 6, UNI_INLEPCHA } /* block=lepcha */, { 0, 10048, 9050, 3, 4, UNI_NV__1_SLASH_16 } /* nv=1/16 */, { 0, 10288, 5718, 8, 5, UNI_XPOSIXALNUM } /* isxposixalnum */, { 6, 9488, 5661, 4, 13, UNI_AEGEANNUMBERS } /* blk=aegeannumbers */, { 8, 3983, 0, 18, 0, UNI_PE } /* isclosepunctuation */, { 11, 3097, 4532, 18, 6, UNI_DT__MED } /* decompositiontype=medial */, { 0, 10132, 6169, 3, 12, UNI_WB__EB } /* wb=glueafterzwj */, { 0, 5791, 5895, 13, 13, UNI_JG__MANICHAEANONE } /* joininggroup=manichaeanone */, { 0, 8954, 3, 6, 1, -UNI__PERL_NCHAR } /* nchar=f */, { 3, 4658, 36, 15, 1, UNI_GREXT } /* graphemeextend=t */, { 2, 7418, 10135, 10, 3, UNI_XPOSIXUPPER } /* uppercase=yes */, { 1, 10296, 0, 4, 0, UNI_PO } /* ispo */, { 0, 8589, 3785, 7, 4, UNI_SC__MANI } /* script=mani */, { 1, 3836, 4703, 17, 15, UNI_ARMI } /* scriptextensions=imperialaramaic */, { 1, 2224, 2932, 3, 18, UNI_SUPARROWSA } /* insupplementalarrowsa */, { 13, 8780, 4401, 6, 9, UNI_TANGUTSUP } /* block=tangutsup */, { 8, 8780, 7129, 7, 9, UNI_CJKSTROKES } /* block=cjkstrokes */, { 0, 21, 8211, 2, 8, UNI_JAMOEXTB } /* injamoextb */, { 0, 45, 0, 2, 0, UNI_CO } /* co */, { 4, 3097, 6421, 18, 8, UNI_DT__NONCANON } /* decompositiontype=noncanon */, { 16, 184, 1166, 2, 25, UNI_DI } /* isdefaultignorablecodepoint */, { 2, 9277, 9860, 3, 3, UNI_VAI } /* sc=vai */, { 1, 8491, 0, 7, 0, UNI_MARC } /* marchen */, { 4, 184, 5564, 2, 13, UNI_QMARK } /* isquotationmark */, { 2, 10024, 5713, 3, 13, UNI_XPOSIXDIGIT } /* gc=decimalnumber */, { 1, 10033, 184, 3, 2, UNI_LB__IS } /* lb=is */, { 1, 9315, 0, 5, 0, UNI_ORYA } /* oriya */, { 0, 9812, 0, 4, 0, UNI_TAML } /* taml */, { 0, 4989, 1868, 3, 4, UNI_XPOSIXUPPER } /* isupper */, { 0, 5986, 5648, 13, 5, UNI_NV__10000 } /* numericvalue=10000 */, { 16, 8780, 3026, 7, 10, UNI_CHEROKEESUP } /* block=cherokeesup */, { 1, 8780, 8610, 6, 7, UNI_INSIDDHAM } /* block=siddham */, { 1, 2161, 3, 21, 1, -UNI_EXTPICT } /* extendedpictographic=f */, { 1, 9488, 8091, 4, 8, UNI_INARMENIAN } /* blk=armenian */, { 1, 9277, 9065, 3, 5, UNI_SC__ADLM } /* sc=adlam */, { 12, 3836, 8344, 17, 7, UNI_BENG } /* scriptextensions=bengali */, { 0, 2032, 0, 21, 0, UNI__PERL_NCHAR } /* noncharactercodepoint */, { 8, 3421, 0, 18, 0, UNI_RUMI } /* ruminumeralsymbols */, { 1, 9277, 8115, 3, 4, UNI_BASS } /* sc=bass */, { 1, 184, 3169, 2, 8, UNI_ETHI } /* isethiopic */, { 0, 3836, 9824, 17, 4, UNI_TGLG } /* scriptextensions=tglg */, { 0, 184, 8942, 2, 4, UNI_LYDI } /* islydi */, { 0, 1812, 0, 22, 0, UNI_cwl_values_index } /* changeswhenlowercased= */, { 3, 7318, 10105, 10, 3, UNI_IN__6 } /* presentin=v60 */, { 5, 10296, 9721, 3, 3, UNI_PHLP } /* isphlp */, { 3, 10132, 7603, 3, 9, UNI_WB__ML } /* wb=midletter */, { 4, 2224, 7694, 3, 8, UNI_INSAMARITAN } /* insamaritan */, { 4, 10048, 10148, 3, 2, UNI_NV__47 } /* nv=47 */, { 1, 5986, 9409, 13, 3, UNI_NV__5_SLASH_2 } /* numericvalue=5/2 */, { 5, 184, 4448, 2, 8, UNI_BAMUMSUP } /* isbamumsup */, { 2, 9488, 509, 4, 30, UNI_CJKEXTA } /* blk=cjkunifiedideographsextensiona */, { 0, 10027, 4733, 3, 15, UNI_JG__MANICHAEANALEPH } /* jg=manichaeanaleph */, { 13, 10033, 10030, 3, 2, UNI_GCB__T } /* lb=jt */, { 1, 9277, 6840, 3, 4, UNI_SC__NAND } /* sc=nand */, { 2, 9997, 2798, 3, 19, UNI_BC__LRO } /* bc=lefttorightoverride */, { 4, 1269, 10135, 25, 3, UNI_COMPEX } /* fullcompositionexclusion=yes */, { 1, 8780, 2684, 6, 19, UNI_INEGYPTIANHIEROGLYPHS } /* block=egyptianhieroglyphs */, { 0, 8589, 8611, 8, 3, UNI_SIDD } /* script=sidd */, { 15, 1591, 2685, 3, 18, UNI_INEGYPTIANHIEROGLYPHS } /* inegyptianhieroglyphs */, { 0, 10027, 7198, 3, 10, UNI_JG__KNOTTEDHEH } /* jg=knottedheh */, { 1, 8589, 8611, 8, 6, UNI_SIDD } /* script=siddham */, { 0, 9065, 0, 5, 0, UNI_ADLM } /* adlam */, { 1, 8589, 6973, 8, 3, UNI_SC__SYLO } /* script=sylo */, { 0, 1114, 26, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=y */, { 1, 9768, 2288, 5, 3, UNI_SINH } /* scx=sinh */, { 7, 10009, 6421, 3, 8, UNI_DT__NONCANON } /* dt=noncanon */, { 0, 9768, 8115, 4, 4, UNI_BASS } /* scx=bass */, { 16, 6231, 720, 3, 8, UNI_INCUNEIFORM } /* incuneiform */, { 19, 1417, 9211, 25, 4, UNI_CCC__36 } /* canonicalcombiningclass=ccc36 */, { 9, 2569, 3511, 20, 18, UNI_VO__TU } /* verticalorientation=transformedupright */, { 2, 2529, 1, 20, 1, -UNI_TERM } /* terminalpunctuation=n */, { 0, 184, 1911, 2, 11, UNI_NUMBERFORMS } /* isnumberforms */, { 0, 3836, 5843, 17, 9, UNI_MLYM } /* scriptextensions=malayalam */, { 1, 9508, 9300, 4, 5, UNI_CCC__7 } /* ccc=nukta */, { 0, 5674, 1, 13, 1, -UNI_BIDIM } /* bidimirrored=n */, { 0, 10132, 1218, 3, 2, UNI_WB__KA } /* wb=ka */, { 6, 10182, 25, 29, 1, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS } /* _perl_problematic_locale_folds */, { 0, 6554, 36, 11, 1, UNI_IDC } /* idcontinue=t */, { 0, 1417, 8813, 24, 3, UNI_CCC__122 } /* canonicalcombiningclass=122 */, { 1, 7218, 10160, 10, 2, UNI_LB__H3 } /* linebreak=h3 */, { 14, 184, 9496, 2, 4, UNI_BUHD } /* isbuhd */, { 21, 6231, 720, 3, 15, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbers */, { 1, 9277, 9712, 3, 4, UNI_OSGE } /* sc=osge */, { 1, 10178, 0, 2, 0, UNI_ZP } /* zp */, { 5, 9488, 8840, 4, 6, UNI_INCHAKMA } /* blk=chakma */, { 2, 8589, 2429, 7, 20, UNI_PHLI } /* script=inscriptionalpahlavi */, { 1, 5791, 4081, 13, 16, UNI_JG__HANIFIROHINGYAPA } /* joininggroup=hanifirohingyapa */, { 2, 6928, 10135, 11, 3, UNI_SD } /* softdotted=yes */, { 1, 7088, 3403, 10, 18, UNI_BC__RLI } /* bidiclass=righttoleftisolate */, { 1, 8589, 1537, 8, 3, UNI_SC__SIND } /* script=sind */, { 0, 5986, 9428, 13, 3, UNI_NV__3_SLASH_8 } /* numericvalue=3/8 */, { 4, 3836, 4478, 17, 4, UNI_BRAI } /* scriptextensions=brai */, { 0, 8984, 36, 6, 1, UNI_QMARK } /* qmark=t */, { 0, 4791, 8499, 3, 6, UNI_INMULTANI } /* inmultani */, { 9, 10024, 1899, 3, 2, UNI_PC } /* gc=pc */, { 2, 3836, 9624, 17, 4, UNI_LAO } /* scriptextensions=laoo */, { 4, 9488, 8526, 4, 7, UNI_NB } /* blk=noblock */, { 1, 9277, 9038, 3, 6, UNI_SC__YEZI } /* sc=yezidi */, { 2, 9768, 8611, 5, 6, UNI_SIDD } /* scx=siddham */, { 0, 2741, 0, 19, 0, UNI_JAMOEXTB } /* hanguljamoextendedb */, { 8, 8589, 1013, 7, 5, UNI_SC__GREK } /* script=greek */, { 1, 9488, 7378, 4, 10, UNI_SUPARROWSA } /* blk=suparrowsa */, { 0, 10290, 10308, 6, 5, UNI_XPOSIXPRINT } /* xposixprint */, { 1, 5060, 26, 14, 1, UNI_CI } /* caseignorable=y */, { 3, 184, 2245, 2, 11, UNI_MTEI } /* ismeeteimayek */, { 1, 10063, 3, 3, 1, -UNI_SD } /* sd=f */, { 6, 7318, 7923, 10, 3, UNI_IN__4 } /* presentin=4.0 */, { 1, 8589, 4448, 7, 5, UNI_BAMU } /* script=bamum */, { 1, 5986, 8750, 13, 2, UNI_NV__80 } /* numericvalue=80 */, { 0, 9768, 9544, 4, 4, UNI_DIAK } /* scx=diak */, { 0, 7155, 1418, 3, 3, UNI_HANO } /* ishano */, { 3, 8780, 1442, 7, 9, UNI_CJKSYMBOLS } /* block=cjksymbols */, { 0, 10009, 4017, 3, 3, UNI_DT__FIN } /* dt=fin */, { 6, 8589, 7675, 7, 9, UNI_PALM } /* script=palmyrene */, { 0, 9488, 7657, 4, 9, UNI_INOLDPERMIC } /* blk=oldpermic */, { 4, 1417, 7178, 24, 4, UNI_CCC__6 } /* canonicalcombiningclass=hanr */, { 0, 6862, 0, 11, 0, UNI_NO } /* othernumber */, { 0, 867, 0, 18, 0, UNI_PHONETICEXT } /* phoneticextensions */, { 0, 10009, 3501, 3, 3, UNI_DT__MED } /* dt=med */, { 5, 1417, 9156, 25, 4, UNI_CCC__25 } /* canonicalcombiningclass=ccc25 */, { 3, 5986, 9055, 13, 5, UNI_NV__1_SLASH_320 } /* numericvalue=1/320 */, { 0, 8589, 6792, 8, 3, UNI_SAMR } /* script=samr */, { 0, 9488, 8463, 4, 7, UNI_KALI } /* blk=kayahli */, { 24, 7076, 3938, 3, 10, UNI_BOPOMOFOEXT } /* inbopomofoext */, { 1, 9508, 0, 4, 0, UNI_ccc_values_index } /* ccc= */, { 1, 8780, 2969, 6, 19, UNI_SUPARROWSC } /* block=supplementalarrowsc */, { 21, 4628, 4471, 15, 7, UNI_EA__N } /* eastasianwidth=neutral */, { 2, 9277, 9038, 3, 4, UNI_SC__YEZI } /* sc=yezi */, { 1, 8780, 5158, 6, 14, UNI_INGREEK } /* block=greekandcoptic */, { 4, 9508, 9116, 5, 4, UNI_CCC__17 } /* ccc=ccc17 */, { 5, 8780, 8366, 7, 6, UNI_CJKEXTC } /* block=cjkextc */, { 0, 599, 0, 30, 0, UNI_CJKEXTD } /* cjkunifiedideographsextensiond */, { 0, 21, 8219, 2, 8, UNI_INJAVANESE } /* injavanese */, { 0, 9262, 34, 3, 6, UNI_SB__EX } /* sb=extend */, { 1, 7438, 10174, 10, 2, UNI_WB__XX } /* wordbreak=xx */, { 0, 8589, 7684, 7, 9, UNI_PAUC } /* script=paucinhau */, { 0, 6469, 39, 12, 2, UNI_XPOSIXDIGIT } /* numerictype=de */, { 0, 10003, 0, 3, 0, UNI_ci_values_index } /* ci= */, { 0, 9488, 6253, 4, 5, UNI_INKHMER } /* blk=khmer */, { 0, 9015, 36, 5, 1, UNI_IDEO } /* ideo=t */, { 0, 1189, 39, 3, 2, UNI_XPOSIXDIGIT } /* nt=de */, { 1, 4916, 8646, 3, 6, UNI_LANA } /* istaitham */, { 4, 6193, 0, 6, 0, UNI_HEBR } /* hebrew */, { 2, 7318, 9396, 10, 4, UNI_IN__12_DOT_1 } /* presentin=12.1 */, { 7, 9488, 2703, 4, 19, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumsup */, { 8, 9277, 7558, 3, 9, UNI_SC__QAAI } /* sc=inherited */, { 0, 8780, 3734, 6, 17, UNI_INDICSIYAQNUMBERS } /* block=indicsiyaqnumbers */, { 1, 1269, 1025, 25, 2, -UNI_COMPEX } /* fullcompositionexclusion=no */, { 1, 8966, 0, 8, 0, UNI_DT__CAN } /* nfdqc=no */, { 0, 10033, 1186, 3, 2, UNI_LB__PO } /* lb=po */, { 1, 8780, 114, 7, 34, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningdiacriticalmarksforsymbols */, { 0, 1184, 0, 3, 0, UNI_DEP } /* dep */, { 1, 3836, 9560, 17, 4, UNI_GONG } /* scriptextensions=gong */, { 35, 9070, 36, 5, 1, UNI_POSIXXDIGIT } /* ahex=t */, { 0, 9768, 9572, 4, 4, UNI_GUJR } /* scx=gujr */, { 0, 184, 9736, 2, 4, UNI_COPT } /* isqaac */, { 0, 7249, 12, 5, 3, UNI_CARI } /* iscarian */, { 3, 10027, 341, 3, 2, UNI_JG__PE } /* jg=pe */, { 1, 10027, 5480, 3, 14, UNI_JG__NOJOININGGROUP } /* jg=nojoininggroup */, { 0, 7325, 10120, 3, 3, UNI_IN__8 } /* in=v80 */, { 2, 8780, 4340, 6, 13, UNI_MATHOPERATORS } /* block=mathoperators */, { 3, 9492, 5904, 4, 4, UNI_BPT__N } /* bpt=none */, { 4, 184, 8179, 2, 8, UNI_GURU } /* isgurmukhi */, { 0, 9346, 10135, 4, 3, UNI_IDC } /* idc=yes */, { 4, 7076, 1219, 3, 4, UNI_INBATAK } /* inbatak */, { 5, 6928, 3, 11, 1, -UNI_SD } /* softdotted=f */, { 0, 184, 9680, 2, 4, UNI_NBAT } /* isnbat */, { 0, 9488, 4369, 4, 16, UNI_SYRIACSUP } /* blk=syriacsupplement */, { 1, 8780, 5214, 6, 6, UNI_KANGXI } /* block=kangxi */, { 1, 10132, 34, 3, 2, UNI_WB__EX } /* wb=ex */, { 3, 9768, 8219, 4, 4, UNI_JAVA } /* scx=java */, { 9, 9768, 3751, 4, 17, UNI_KITS } /* scx=khitansmallscript */, { 5, 9556, 5633, 4, 2, UNI_LB__H2 } /* gcb=lv */, { 3, 10132, 8144, 3, 3, UNI_WB__EB } /* wb=gaz */, { 1, 4385, 0, 4, 0, UNI_TANG } /* tang */, { 1, 3734, 0, 17, 0, UNI_INDICSIYAQNUMBERS } /* indicsiyaqnumbers */, { 0, 9488, 4385, 4, 16, UNI_TANGUTCOMPONENTS } /* blk=tangutcomponents */, { 8, 10048, 8756, 3, 4, UNI_NV__9000 } /* nv=9000 */, { 6, 8780, 3457, 6, 18, UNI_TAIXUANJING } /* block=taixuanjingsymbols */, { 2, 184, 3026, 3, 17, UNI_CHEROKEESUP } /* ischerokeesupplement */, { 0, 9488, 8624, 4, 7, UNI_SUPPUAA } /* blk=suppuaa */, { 1, 8774, 1025, 6, 2, -UNI_BIDIM } /* bidim=no */, { 2, 7438, 108, 10, 2, UNI_WB__MB } /* wordbreak=mb */, { 2, 1910, 0, 2, 0, UNI_CN } /* cn */, { 4, 5564, 10135, 14, 3, UNI_QMARK } /* quotationmark=yes */, { 1, 7218, 3, 11, 1, UNI_LB__LF } /* linebreak=lf */, { 5, 4116, 5779, 3, 12, UNI_IPAEXT } /* isipaextensions */, { 8, 9262, 138, 3, 2, UNI_SB__FO } /* sb=fo */, { 0, 3097, 3439, 18, 5, UNI_DT__SML } /* decompositiontype=small */, { 10, 8589, 6385, 7, 12, UNI_SC__GONM } /* script=masaramgondi */, { 5, 4791, 2856, 3, 11, UNI_MONGOLIANSUP } /* inmongoliansup */, { 2, 8780, 6397, 6, 12, UNI_MATHALPHANUM } /* block=mathalphanum */, { 10, 8589, 2409, 7, 10, UNI_SC__GLAG } /* script=glagolitic */, { 0, 8589, 9692, 7, 4, UNI_NSHU } /* script=nshu */, { 0, 8780, 8491, 6, 7, UNI_INMARCHEN } /* block=marchen */, { 4, 9488, 2329, 4, 20, UNI_INANATOLIANHIEROGLYPHS } /* blk=anatolianhieroglyphs */, { 18, 3836, 9616, 17, 4, UNI_KTHI } /* scriptextensions=kthi */, { 1, 6420, 6482, 3, 11, UNI_INOLDHUNGARIAN } /* inoldhungarian */, { 0, 1505, 2254, 5, 5, UNI_GREEKEXT } /* ingreekext */, { 2, 184, 8526, 2, 7, UNI_NB } /* isnoblock */, { 0, 719, 0, 16, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbers */, { 20, 9488, 2741, 4, 19, UNI_JAMOEXTB } /* blk=hanguljamoextendedb */, { 0, 4688, 8259, 15, 8, UNI_IDENTIFIERTYPE__OBSOLETE } /* identifiertype=obsolete */, { 8, 9488, 3921, 4, 9, UNI_ARABICSUP } /* blk=arabicsup */, { 2, 5060, 10135, 14, 3, UNI_CI } /* caseignorable=yes */, { 3, 9488, 7388, 4, 10, UNI_SUPARROWSB } /* blk=suparrowsb */, { 9, 4033, 10178, 16, 2, UNI_ZP } /* generalcategory=zp */, { 4, 8589, 8477, 7, 7, UNI_MAKA } /* script=makasar */, { 0, 6469, 495, 12, 2, UNI_NT__NU } /* numerictype=nu */, { 18, 10027, 5843, 3, 13, UNI_JG__MALAYALAMLLLA } /* jg=malayalamllla */, { 0, 8780, 3052, 6, 9, UNI_HALFMARKS } /* block=halfmarks */, { 2, 8780, 283, 6, 33, UNI_MISCMATHSYMBOLSB } /* block=miscellaneousmathematicalsymbolsb */, { 3, 8978, 36, 6, 1, UNI__PERL_PATWS } /* patws=t */, { 8, 3836, 8652, 17, 7, UNI_TAVT } /* scriptextensions=taiviet */, { 5, 9444, 7408, 4, 10, UNI_AGE__NA } /* age=unassigned */, { 10, 9260, 3, 5, 1, -UNI_IDSB } /* idsb=f */, { 8, 4628, 865, 15, 1, UNI_EA__W } /* eastasianwidth=w */, { 1, 9768, 6840, 4, 11, UNI_NAND } /* scx=nandinagari */, { 2, 10048, 10146, 3, 2, UNI_NV__46 } /* nv=46 */, { 2, 9230, 9836, 5, 4, UNI_CWCF } /* cwcf=true */, { 4, 8894, 10135, 6, 3, UNI_JOINC } /* joinc=yes */, { 3, 2032, 26, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=y */, { 0, 184, 1066, 2, 2, UNI_CASEDLETTER } /* islc */, { 4, 10048, 7877, 3, 2, UNI_NV__13 } /* nv=13 */, { 0, 8780, 5214, 6, 14, UNI_KANGXI } /* block=kangxiradicals */, { 0, 3836, 9320, 17, 5, UNI_OSGE } /* scriptextensions=osage */, { 1, 10024, 0, 3, 0, UNI_gc_values_index } /* gc= */, { 1, 21, 7594, 2, 9, UNI_LATINEXTD } /* inlatinextd */, { 6, 9488, 5214, 4, 6, UNI_KANGXI } /* blk=kangxi */, { 8, 9508, 3564, 4, 17, UNI_WB__EB } /* ccc=attachedbelowleft */, { 26, 6193, 0, 4, 0, UNI_HEBR } /* hebr */, { 2, 4289, 0, 16, 0, UNI_MYANMAREXTB } /* myanmarextendedb */, { 4, 9277, 9804, 3, 4, UNI_SC__TALE } /* sc=tale */, { 0, 9230, 3, 5, 1, -UNI_CWCF } /* cwcf=f */, { 16, 6231, 7119, 3, 9, UNI_INCHORASMIAN } /* inchorasmian */, { 2, 10048, 5648, 3, 2, UNI_NV__10 } /* nv=10 */, { 0, 4916, 4402, 3, 8, UNI_TANGUTSUP } /* istangutsup */, { 0, 8449, 10135, 7, 3, UNI_HYPHEN } /* hyphen=yes */, { 16, 10182, 10270, 6, 9, UNI__PERL_ANY_FOLDS } /* _perl_any_folds */, { 0, 10027, 9884, 3, 4, UNI_JG__ZAIN } /* jg=zain */, { 12, 10250, 10265, 15, 5, UNI__PERL_CHARNAME_BEGIN } /* _perl_charname_begin */, { 0, 3836, 719, 17, 9, UNI_XSUX } /* scriptextensions=cuneiform */, { 0, 4033, 727, 16, 2, UNI_MN } /* generalcategory=mn */, { 0, 184, 3044, 3, 17, UNI_HALFMARKS } /* iscombininghalfmarks */, { 11, 7249, 1017, 4, 2, UNI_CAKM } /* iscakm */, { 0, 7358, 0, 10, 0, UNI_SAUR } /* saurashtra */, { 0, 10027, 5921, 3, 13, UNI_JG__MANICHAEANTEN } /* jg=manichaeanten */, { 1, 9277, 2608, 3, 6, UNI_BRAH } /* sc=brahmi */, { 0, 21, 4129, 2, 9, UNI_LATIN1 } /* inlatin1sup */, { 0, 7531, 0, 9, 0, UNI_EMOTICONS } /* emoticons */, { 13, 3836, 2608, 17, 4, UNI_BRAH } /* scriptextensions=brah */, { 4, 9640, 9255, 4, 5, -UNI_LOE } /* loe=false */, { 0, 8780, 3583, 8, 15, UNI_UCAS } /* block=canadiansyllabics */, { 0, 9592, 0, 4, 0, UNI_HMNP } /* hmnp */, { 9, 10027, 2637, 3, 3, UNI_JG__YEH } /* jg=yeh */, { 3, 8780, 6939, 6, 11, UNI_INSORASOMPENG } /* block=sorasompeng */, { 2, 6231, 6122, 3, 11, UNI_CYRILLICEXTC } /* incyrillicextc */, { 4, 4033, 5817, 16, 13, UNI_ZL } /* generalcategory=lineseparator */, { 1, 5791, 4733, 13, 15, UNI_JG__MANICHAEANALEPH } /* joininggroup=manichaeanaleph */, { 1, 3836, 57, 17, 2, UNI_YI } /* scriptextensions=yi */, { 5, 9444, 9396, 4, 4, UNI_AGE__12_DOT_1 } /* age=12.1 */, { 1, 7318, 8043, 10, 3, UNI_IN__8 } /* presentin=8.0 */, { 1, 5791, 6785, 13, 11, UNI_JG__MALAYALAMRA } /* joininggroup=malayalamra */, { 0, 8870, 0, 5, 0, UNI_EPRES } /* epres */, { 0, 8519, 26, 7, 1, UNI_DT__NONE } /* nfkdqc=y */, { 2, 5578, 1823, 14, 5, UNI_SB__LO } /* sentencebreak=lower */, { 1, 9277, 9728, 3, 4, UNI_MIAO } /* sc=plrd */, { 0, 9008, 0, 6, 0, UNI_THAA } /* thaana */, { 8, 25, 0, 1, 0, UNI_S } /* s */, { 2, 4989, 8316, 3, 7, UNI_UGAR } /* isugaritic */, { 0, 8984, 10135, 6, 3, UNI_QMARK } /* qmark=yes */, { 0, 4718, 0, 15, 0, UNI_LOWERCASELETTER } /* lowercaseletter */, { 0, 184, 4129, 2, 9, UNI_LATIN1 } /* islatin1sup */, { 0, 8780, 2287, 6, 21, UNI_SINHALAARCHAICNUMBERS } /* block=sinhalaarchaicnumbers */, { 0, 4033, 4718, 16, 15, UNI_LOWERCASELETTER } /* generalcategory=lowercaseletter */, { 32, 8780, 867, 6, 11, UNI_PHONETICEXT } /* block=phoneticext */, { 0, 7218, 6193, 10, 12, UNI_LB__HL } /* linebreak=hebrewletter */, { 1, 3133, 1, 18, 1, -UNI_EBASE } /* emojimodifierbase=n */, { 0, 8780, 5606, 6, 14, UNI_SUPPUNCTUATION } /* block=suppunctuation */, { 1, 1166, 0, 26, 0, UNI_di_values_index } /* defaultignorablecodepoint= */, { 0, 10012, 9868, 3, 4, UNI_EA__W } /* ea=wide */, { 1, 9488, 4479, 5, 6, UNI_BRAI } /* blk=braille */, { 0, 9508, 3007, 4, 13, UNI_CCC__214 } /* ccc=attachedabove */, { 1, 1417, 9161, 25, 4, UNI_CCC__26 } /* canonicalcombiningclass=ccc26 */, { 0, 21, 8912, 2, 6, UNI_INKHOJKI } /* inkhojki */, { 0, 8858, 26, 6, 1, UNI_ECOMP } /* ecomp=y */, { 16, 9768, 9724, 4, 4, UNI_PHNX } /* scx=phnx */, { 6, 9768, 8091, 4, 8, UNI_ARMN } /* scx=armenian */, { 4, 9277, 8107, 3, 4, UNI_BALI } /* sc=bali */, { 6, 10132, 10015, 3, 3, UNI_WB__EB } /* wb=ebg */, { 0, 689, 0, 30, 0, UNI_CJKEXTG } /* cjkunifiedideographsextensiong */, { 3, 6231, 3026, 3, 10, UNI_CHEROKEESUP } /* incherokeesup */, { 1, 4703, 0, 15, 0, UNI_ARMI } /* imperialaramaic */, { 0, 8589, 8924, 7, 6, UNI_LEPC } /* script=lepcha */, { 0, 1552, 6035, 9, 2, UNI_PF } /* category=pf */, { 18, 567, 0, 2, 0, UNI_NB } /* nb */, { 4, 7218, 908, 10, 2, UNI_LB__PR } /* linebreak=pr */, { 0, 4916, 9331, 3, 4, UNI_TALE } /* istaile */, { 0, 21, 9038, 2, 6, UNI_INYEZIDI } /* inyezidi */, { 6, 5986, 7789, 13, 2, UNI_NV__50 } /* numericvalue=50 */, { 5, 10315, 3379, 5, 5, UNI_XPOSIXBLANK } /* horizspace */, { 1, 184, 8841, 3, 5, UNI_CAKM } /* ischakma */, { 1, 8884, 36, 4, 1, UNI_EXT } /* ext=t */, { 0, 9768, 9812, 4, 4, UNI_TAML } /* scx=taml */, { 0, 8780, 6620, 6, 6, UNI_DOMINO } /* block=domino */, { 1, 8589, 8618, 8, 6, UNI_SOYO } /* script=soyombo */, { 3, 3836, 2224, 17, 21, UNI_PRTI } /* scriptextensions=inscriptionalparthian */, { 0, 8780, 43, 7, 2, UNI_CJK } /* block=cjk */, { 0, 7318, 10078, 10, 3, UNI_IN__2_DOT_1 } /* presentin=v21 */, { 5, 8780, 8359, 7, 6, UNI_CJKEXTB } /* block=cjkextb */, { 6, 184, 3133, 2, 17, UNI_EBASE } /* isemojimodifierbase */, { 0, 8780, 8912, 6, 6, UNI_INKHOJKI } /* block=khojki */, { 0, 9277, 3785, 3, 10, UNI_SC__MANI } /* sc=manichaean */, { 2, 10003, 36, 3, 1, UNI_CI } /* ci=t */, { 1, 9277, 9512, 3, 4, UNI_CHRS } /* sc=chrs */, { 3, 3367, 1, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=n */, { 3, 8123, 0, 8, 0, UNI_BUGI } /* buginese */, { 1, 10132, 4360, 3, 9, UNI_WB__EB } /* wb=emodifier */, { 8, 8780, 2703, 6, 19, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumsup */, { 1, 8780, 749, 6, 16, UNI_ENCLOSEDALPHANUM } /* block=enclosedalphanum */, { 3, 8666, 0, 7, 0, UNI_TIRH } /* tirhuta */, { 7, 9997, 10054, 3, 3, UNI_BC__PDF } /* bc=pdf */, { 2, 8589, 9085, 7, 5, UNI_BATK } /* script=batak */, { 1, 9488, 42, 4, 3, UNI_CJK } /* blk=cjk */, { 1, 10033, 18, 3, 2, UNI_RI } /* lb=ri */, { 1, 1188, 9003, 3, 5, UNI_INTELUGU } /* intelugu */, { 17, 184, 1018, 2, 5, UNI_MUSIC } /* ismusic */, { 3, 10024, 1587, 3, 1, UNI_Z } /* gc=z */, { 1, 8491, 0, 4, 0, UNI_MARC } /* marc */, { 14, 6231, 43, 3, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatibilityideographssupplement */, { 0, 5037, 9836, 9, 4, UNI_XPOSIXXDIGIT } /* hexdigit=true */, { 0, 6420, 7279, 3, 9, UNI_INOLDPERSIAN } /* inoldpersian */, { 0, 9488, 8116, 5, 7, UNI_INBASSAVAH } /* blk=bassavah */, { 6, 9235, 0, 4, 0, UNI_CWCM } /* cwcm */, { 6, 9488, 7693, 4, 9, UNI_INSAMARITAN } /* blk=samaritan */, { 8, 1417, 9206, 25, 4, UNI_CCC__35 } /* canonicalcombiningclass=ccc35 */, { 0, 10296, 2, 3, 1, UNI_PI } /* ispi */, { 2, 9768, 9464, 4, 4, UNI_ARMN } /* scx=armn */, { 0, 5508, 3, 14, 1, -UNI_PATSYN } /* patternsyntax=f */, { 0, 1008, 0, 2, 0, UNI_CI } /* ci */, { 0, 9277, 7291, 3, 4, UNI_SC__SOGD } /* sc=sogd */, { 11, 184, 6840, 2, 4, UNI_NAND } /* isnand */, { 11, 8147, 1025, 8, 2, -UNI_EXTPICT } /* extpict=no */, { 0, 184, 720, 3, 29, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbersandpunctuation */, { 1, 5986, 7819, 13, 8, UNI_NV__3_SLASH_16 } /* numericvalue=1.88e-01 */, { 0, 9488, 183, 4, 20, UNI_MISCSYMBOLS } /* blk=miscellaneoussymbols */, { 0, 9488, 8407, 4, 7, UNI_DSRT } /* blk=deseret */, { 0, 10129, 9255, 3, 5, -UNI_VS } /* vs=false */, { 0, 5032, 3, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=f */, { 1, 184, 5284, 2, 7, UNI_LISUSUP } /* islisusup */, { 2, 9488, 8631, 4, 7, UNI_SUPPUAB } /* blk=suppuab */, { 10, 1552, 7, 10, 1, UNI_SC } /* category=sc */, { 4, 184, 720, 3, 15, UNI_CUNEIFORMNUMBERS } /* iscuneiformnumbers */, { 10, 3151, 0, 18, 0, UNI_epres_values_index } /* emojipresentation= */, { 6, 5791, 5382, 13, 14, UNI_JG__MANICHAEANQOPH } /* joininggroup=manichaeanqoph */, { 1, 8267, 0, 8, 0, UNI_radical_values_index } /* radical= */, { 3, 3374, 26, 11, 1, UNI_XPOSIXSPACE } /* whitespace=y */, { 10, 9464, 0, 4, 0, UNI_ARMN } /* armn */, { 3, 7028, 9039, 3, 3, UNI_YEZI } /* isyezi */, { 1, 8780, 3026, 7, 7, UNI_INCHEROKEE } /* block=cherokee */, { 0, 10063, 0, 3, 0, UNI_sd_values_index } /* sd= */, { 2, 3836, 1537, 18, 3, UNI_SIND } /* scriptextensions=sind */, { 0, 8894, 1, 6, 1, -UNI_JOINC } /* joinc=n */, { 10, 10296, 9729, 3, 3, UNI_MIAO } /* isplrd */, { 0, 9488, 2722, 4, 19, UNI_JAMOEXTA } /* blk=hanguljamoextendeda */, { 1, 10009, 8948, 3, 6, UNI_DT__NAR } /* dt=narrow */, { 1, 8780, 6884, 6, 11, UNI_INPAHAWHHMONG } /* block=pahawhhmong */, { 2, 3836, 7308, 17, 10, UNI_PHNX } /* scriptextensions=phoenician */, { 0, 9235, 36, 5, 1, UNI_CWCM } /* cwcm=t */, { 8, 8589, 9688, 7, 4, UNI_NKO } /* script=nkoo */, { 1, 9508, 7078, 4, 10, UNI_CCC__BR } /* ccc=belowright */, { 4, 6133, 0, 12, 0, UNI_ETHIOPICEXTA } /* ethiopicexta */, { 1, 10033, 10164, 3, 2, UNI_GCB__V } /* lb=jv */, { 3, 9768, 1222, 4, 4, UNI_KANA } /* scx=kana */, { 0, 10048, 9060, 3, 5, UNI_NV__11_SLASH_12 } /* nv=11/12 */, { 2, 4033, 48, 16, 1, UNI_P } /* generalcategory=p */, { 7, 9997, 4321, 3, 16, UNI_BC__S } /* bc=segmentseparator */, { 1, 9768, 9828, 4, 4, UNI_THAI } /* scx=thai */, { 0, 184, 5508, 2, 13, UNI_PATSYN } /* ispatternsyntax */, { 0, 9277, 2912, 3, 4, UNI_SUND } /* sc=sund */, { 0, 3836, 9532, 17, 4, UNI_CYRL } /* scriptextensions=cyrl */, { 1, 184, 43, 3, 15, UNI_CJKCOMPAT } /* iscjkcompatibility */, { 2, 3529, 1, 18, 1, -UNI_VS } /* variationselector=n */, { 0, 9768, 9668, 4, 4, UNI_MTEI } /* scx=mtei */, { 0, 8589, 9752, 7, 4, UNI_SC__ROHG } /* script=rohg */, { 14, 4583, 0, 4, 0, UNI_DASH } /* dash */, { 6, 5986, 10152, 13, 2, UNI_NV__49 } /* numericvalue=49 */, { 0, 184, 1060, 3, 3, UNI_COPT } /* iscopt */, { 7, 117, 1908, 4, 14, UNI_INDICNUMBERFORMS } /* inindicnumberforms */, { 3, 1899, 0, 2, 0, UNI_PC } /* pc */, { 0, 7155, 5187, 3, 13, UNI_HIGHSURROGATES } /* ishighsurrogates */, { 1, 2182, 34, 21, 2, UNI_GCB__EX } /* graphemeclusterbreak=ex */, { 0, 10048, 7754, 3, 2, UNI_NV__11 } /* nv=11 */, { 2, 3259, 0, 18, 0, UNI_idsb_values_index } /* idsbinaryoperator= */, { 0, 21, 1677, 2, 9, UNI_LATINEXTE } /* inlatinexte */, { 0, 8589, 2061, 7, 4, UNI_SC__MODI } /* script=modi */, { 6, 7158, 1025, 10, 2, -UNI_DIA } /* diacritic=no */, { 0, 10296, 909, 3, 9, UNI_CO } /* isprivateuse */, { 0, 1417, 9201, 25, 4, UNI_CCC__34 } /* canonicalcombiningclass=ccc34 */, { 0, 7739, 26, 8, 1, UNI_IDS } /* idstart=y */, { 0, 809, 0, 22, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsup */, { 3, 9277, 2203, 3, 14, UNI_SC__ROHG } /* sc=hanifirohingya */, { 8, 1537, 4600, 4, 13, UNI_DIACRITICALSEXT } /* indiacriticalsext */, { 10, 3836, 9038, 17, 4, UNI_YEZI } /* scriptextensions=yezi */, { 15, 9997, 3403, 3, 18, UNI_BC__RLI } /* bc=righttoleftisolate */, { 0, 184, 6928, 2, 10, UNI_SD } /* issoftdotted */, { 12, 9444, 9, 4, 2, UNI_AGE__NA } /* age=na */, { 0, 21, 5256, 2, 14, UNI_LATINEXTD } /* inlatinextendedd */, { 1, 7739, 9255, 8, 5, -UNI_IDS } /* idstart=false */, { 3, 184, 3937, 2, 4, UNI_BOPO } /* isbopo */, { 22, 10290, 10303, 6, 5, UNI_XPOSIXBLANK } /* xposixblank */, { 1, 3151, 3, 18, 1, -UNI_EPRES } /* emojipresentation=f */, { 1, 5037, 36, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=t */, { 1, 3025, 0, 18, 0, UNI_CHEROKEESUP } /* cherokeesupplement */, { 0, 7155, 4066, 3, 15, UNI_HALFANDFULLFORMS } /* ishalfandfullforms */, { 0, 10340, 3379, 6, 5, UNI_VERTSPACE } /* isvertspace */, { 4, 10012, 9, 3, 2, UNI_EA__NA } /* ea=na */, { 6, 8780, 8990, 6, 6, UNI_INREJANG } /* block=rejang */, { 0, 7228, 36, 10, 1, UNI_XPOSIXLOWER } /* lowercase=t */, { 8, 3836, 9860, 17, 4, UNI_VAI } /* scriptextensions=vaii */, { 0, 1417, 8799, 25, 5, UNI_CCC__107 } /* canonicalcombiningclass=ccc107 */, { 1, 6231, 6110, 3, 11, UNI_CYRILLICEXTB } /* incyrillicextb */, { 0, 9444, 7826, 4, 4, UNI_AGE__12 } /* age=12.0 */, { 4, 1812, 10135, 22, 3, UNI_CWL } /* changeswhenlowercased=yes */, { 0, 406, 0, 7, 0, UNI_XPOSIXCNTRL } /* control */, { 1, 9488, 6884, 4, 11, UNI_INPAHAWHHMONG } /* blk=pahawhhmong */, { 11, 8589, 9480, 7, 4, UNI_BATK } /* script=batk */, { 3, 5739, 9255, 13, 5, -UNI_GRBASE } /* graphemebase=false */, { 7, 8589, 8840, 7, 6, UNI_SC__CAKM } /* script=chakma */, { 0, 9488, 7398, 4, 10, UNI_SUPARROWSC } /* blk=suparrowsc */, { 0, 9768, 2409, 4, 4, UNI_GLAG } /* scx=glag */, { 1, 9277, 2287, 3, 7, UNI_SC__SINH } /* sc=sinhala */, { 12, 10024, 339, 3, 2, UNI_LO } /* gc=lo */, { 0, 7438, 125, 10, 2, UNI_LB__CR } /* wordbreak=cr */, { 0, 9277, 2855, 3, 9, UNI_SC__MONG } /* sc=mongolian */, { 1, 8414, 0, 7, 0, UNI_ELBA } /* elbasan */, { 0, 10296, 2571, 3, 3, UNI_PRTI } /* isprti */, { 1, 3836, 3025, 17, 8, UNI_CHER } /* scriptextensions=cherokee */, { 1, 1591, 3170, 3, 7, UNI_INETHIOPIC } /* inethiopic */, { 0, 8780, 6620, 6, 11, UNI_DOMINO } /* block=dominotiles */, { 0, 1417, 9166, 25, 4, UNI_CCC__27 } /* canonicalcombiningclass=ccc27 */, { 2, 4116, 3278, 3, 17, UNI_PI } /* isinitialpunctuation */, { 18, 8888, 0, 4, 0, UNI_HATR } /* hatr */, { 0, 8589, 7292, 8, 6, UNI_SC__SOGD } /* script=sogdian */, { 3, 4791, 2062, 3, 3, UNI_INMODI } /* inmodi */, { 1, 2218, 9689, 3, 2, UNI_INNKO } /* innko */, { 4, 8930, 9255, 6, 5, -UNI_XPOSIXLOWER } /* lower=false */, { 1, 3836, 1654, 17, 6, UNI_HANG } /* scriptextensions=hangul */, { 2, 8780, 1466, 7, 23, UNI_DIACRITICALSFORSYMBOLS } /* block=combiningmarksforsymbols */, { 2, 8589, 8936, 7, 4, UNI_LYCI } /* script=lyci */, { 6, 184, 7, 3, 1, UNI_XPOSIXCNTRL } /* iscc */, { 1, 9277, 8786, 3, 4, UNI_CARI } /* sc=cari */, { 2, 184, 114, 3, 24, UNI_DIACRITICALS } /* iscombiningdiacriticalmarks */, { 5, 9488, 7278, 4, 10, UNI_INOLDPERSIAN } /* blk=oldpersian */, { 20, 1552, 206, 9, 2, UNI_PI } /* category=pi */, { 1, 9508, 10172, 4, 2, UNI_CCC__9 } /* ccc=vr */, { 0, 184, 1442, 3, 23, UNI_CJKSYMBOLS } /* iscjksymbolsandpunctuation */, { 2, 10024, 598, 3, 2, UNI_XPOSIXCNTRL } /* gc=cc */, { 14, 7325, 10096, 3, 3, UNI_IN__5 } /* in=v50 */, { 0, 9277, 8680, 3, 7, UNI_ZZZZ } /* sc=unknown */, { 0, 9270, 2555, 5, 6, UNI_INPC__BOTTOM } /* inpc=bottom */, { 4, 8589, 1176, 8, 3, UNI_SORA } /* script=sora */, { 2, 659, 0, 30, 0, UNI_CJKEXTF } /* cjkunifiedideographsextensionf */, { 0, 8960, 17, 7, 1, UNI_COMPEX } /* nfcqc=no */, { 1, 1417, 9468, 24, 4, UNI_CCC__216 } /* canonicalcombiningclass=atar */, { 4, 8694, 1025, 7, 2, -UNI_XPOSIXSPACE } /* wspace=no */, { 0, 9888, 0, 4, 0, UNI_ZANB } /* zanb */, { 14, 8780, 3341, 6, 8, UNI_DINGBATS } /* block=dingbats */, { 1, 7218, 5746, 10, 5, UNI_EBASE } /* linebreak=ebase */, { 1, 8575, 1, 7, 1, -UNI_PATSYN } /* patsyn=n */, { 0, 10048, 9380, 3, 4, UNI_NV__1_SLASH_80 } /* nv=1/80 */, { 3, 9800, 0, 4, 0, UNI_TAGS } /* tags */, { 1, 10290, 5039, 6, 6, UNI_XPOSIXXDIGIT } /* xposixxdigit */, { 0, 9488, 2874, 4, 19, UNI_OTTOMANSIYAQNUMBERS } /* blk=ottomansiyaqnumbers */, { 1, 9997, 6049, 3, 12, UNI_BC__AN } /* bc=arabicnumber */, { 0, 4916, 8292, 3, 7, UNI_TAGB } /* istagbanwa */, { 1, 4628, 0, 15, 0, UNI_ea_values_index } /* eastasianwidth= */, { 0, 184, 8924, 2, 6, UNI_LEPC } /* islepcha */, { 0, 7693, 0, 9, 0, UNI_SAMR } /* samaritan */, { 0, 7318, 10075, 10, 3, UNI_IN__2 } /* presentin=v20 */, { 5, 9488, 1294, 4, 25, UNI_SUPERANDSUB } /* blk=superscriptsandsubscripts */, { 0, 10048, 7859, 3, 4, UNI_NV__2000 } /* nv=2000 */, { 12, 21, 7188, 2, 10, UNI_INKHAROSHTHI } /* inkharoshthi */, { 7, 3836, 3937, 17, 8, UNI_BOPO } /* scriptextensions=bopomofo */, { 0, 9556, 6178, 4, 3, UNI_LB__ZWJ } /* gcb=zwj */, { 2, 184, 149, 3, 34, UNI_DIACRITICALSSUP } /* iscombiningdiacriticalmarkssupplement */, { 14, 6420, 4869, 3, 14, UNI_NARB } /* inoldnortharabian */, { 0, 10030, 0, 4, 0, UNI_JT__L } /* jt=l */, { 1, 2203, 0, 14, 0, UNI_ROHG } /* hanifirohingya */, { 1, 5791, 6346, 13, 3, UNI_JG__NYA } /* joininggroup=nya */, { 0, 8780, 6505, 6, 8, UNI_PHAISTOS } /* block=phaistos */, { 4, 184, 9684, 2, 4, UNI_NEWA } /* isnewa */, { 32, 4033, 908, 16, 10, UNI_CO } /* generalcategory=privateuse */, { 12, 9277, 9484, 3, 4, UNI_BHKS } /* sc=bhks */, { 5, 509, 0, 20, 0, UNI_CJK } /* cjkunifiedideographs */, { 1, 10027, 7048, 3, 10, UNI_JG__AFRICANQAF } /* jg=africanqaf */, { 0, 7438, 5851, 10, 2, UNI_WB__ML } /* wordbreak=ml */, { 3, 9612, 0, 4, 0, UNI_KNDA } /* knda */, { 1, 9488, 148, 4, 35, UNI_DIACRITICALSSUP } /* blk=combiningdiacriticalmarkssupplement */, { 3, 7325, 7755, 3, 3, UNI_IN__1_DOT_1 } /* in=1.1 */, { 0, 1552, 32, 9, 2, UNI__PERL_SURROGATE } /* category=cs */, { 2, 9508, 6445, 4, 12, UNI_CCC__0 } /* ccc=notreordered */, { 0, 2218, 7631, 3, 8, UNI_INNEWTAILUE } /* innewtailue */, { 4, 9488, 8227, 4, 8, UNI_KANAEXTA } /* blk=kanaexta */, { 0, 1988, 1025, 22, 2, -UNI_LOE } /* logicalorderexception=no */, { 26, 8960, 47, 6, 1, UNI_NFCQC__M } /* nfcqc=m */, { 0, 5986, 7859, 13, 3, UNI_NV__200 } /* numericvalue=200 */, { 4, 3937, 0, 4, 0, UNI_BOPO } /* bopo */, { 0, 8894, 9255, 6, 5, -UNI_JOINC } /* joinc=false */, { 0, 21, 8924, 2, 6, UNI_INLEPCHA } /* inlepcha */, { 0, 6553, 0, 12, 0, UNI_xidc_values_index } /* xidcontinue= */, { 7, 7076, 4449, 3, 4, UNI_INBAMUM } /* inbamum */, { 1, 10027, 4773, 3, 3, UNI_JG__SAD } /* jg=sad */, { 0, 7218, 10174, 10, 2, UNI_LB__XX } /* linebreak=xx */, { 0, 8780, 5284, 6, 7, UNI_LISUSUP } /* block=lisusup */, { 0, 5578, 9080, 14, 5, UNI_SB__AT } /* sentencebreak=aterm */, { 0, 10033, 4360, 3, 9, UNI_EMOD } /* lb=emodifier */, { 1, 9277, 1536, 3, 4, UNI_SC__SIND } /* sc=sind */, { 1, 8589, 8484, 7, 7, UNI_SC__MAND } /* script=mandaic */, { 0, 3385, 0, 18, 0, UNI_ri_values_index } /* regionalindicator= */, { 6, 3836, 9888, 17, 4, UNI_ZANB } /* scriptextensions=zanb */, { 4, 9768, 2560, 4, 4, UNI_MAND } /* scx=mand */, { 0, 6517, 0, 12, 0, UNI_PLAYINGCARDS } /* playingcards */, { 1, 8780, 43, 7, 25, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatibilityideographs */, { 3, 8147, 0, 9, 0, -UNI_EXTPICT } /* extpict=f */, { 0, 8780, 6517, 6, 12, UNI_PLAYINGCARDS } /* block=playingcards */, { 1, 10027, 5856, 3, 13, UNI_JG__MALAYALAMNNNA } /* jg=malayalamnnna */, { 1, 6420, 3332, 3, 17, UNI_ORNAMENTALDINGBATS } /* inornamentaldingbats */, { 0, 9277, 497, 5, 3, UNI_KHMR } /* sc=khmer */, { 0, 8780, 8942, 6, 6, UNI_INLYDIAN } /* block=lydian */, { 1, 9488, 749, 4, 21, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanumerics */, { 0, 4033, 132, 16, 2, UNI_LM } /* generalcategory=lm */, { 0, 8780, 3457, 6, 11, UNI_TAIXUANJING } /* block=taixuanjing */, { 2, 2224, 896, 3, 27, UNI_SUPPUAA } /* insupplementaryprivateuseareaa */, { 0, 3379, 1025, 6, 2, -UNI_XPOSIXSPACE } /* space=no */, { 0, 1812, 26, 22, 1, UNI_CWL } /* changeswhenlowercased=y */, { 0, 9768, 9680, 4, 4, UNI_NBAT } /* scx=nbat */, { 0, 4791, 393, 3, 2, UNI_INMRO } /* inmro */, { 1, 184, 9664, 2, 3, UNI_MRO } /* ismro */, { 2, 9488, 5804, 4, 13, UNI_KANAEXTA } /* blk=kanaextendeda */, { 0, 10132, 0, 3, 0, UNI_wb_values_index } /* wb= */, { 0, 8924, 0, 4, 0, UNI_LEPC } /* lepc */, { 6, 8659, 0, 7, 0, UNI_TIBT } /* tibetan */, { 2, 184, 1060, 3, 5, UNI_COPT } /* iscoptic */, { 22, 9508, 9026, 4, 6, UNI_CCC__9 } /* ccc=virama */, { 1, 9270, 868, 3, 10, UNI_PHONETICEXT } /* inphoneticext */, { 0, 1677, 0, 5, 0, UNI_LATN } /* latin */, { 1, 3385, 9836, 18, 4, UNI_RI } /* regionalindicator=true */, { 0, 1790, 36, 22, 1, UNI_CWCM } /* changeswhencasemapped=t */, { 3, 8589, 9660, 7, 4, UNI_SC__MLYM } /* script=mlym */, { 0, 10033, 6169, 3, 4, UNI_LB__GL } /* lb=glue */, { 4, 1537, 2988, 24, 19, UNI_INPC__TOPANDBOTTOMANDLEFT } /* indicpositionalcategory=topandbottomandleft */, { 3, 5791, 3819, 13, 17, UNI_JG__MANICHAEANTHAMEDH } /* joininggroup=manichaeanthamedh */, { 4, 5986, 10150, 13, 2, UNI_NV__48 } /* numericvalue=48 */, { 4, 184, 6796, 2, 11, UNI_MEDF } /* ismedefaidrin */, { 18, 3382, 36, 3, 1, UNI_CE } /* ce=t */, { 8, 10048, 7978, 3, 2, UNI_NV__16 } /* nv=16 */, { 1, 7438, 73, 10, 2, UNI_WB__EB } /* wordbreak=em */, { 2, 1417, 9196, 25, 4, UNI_CCC__33 } /* canonicalcombiningclass=ccc33 */, { 19, 9768, 9620, 4, 4, UNI_LANA } /* scx=lana */, { 2, 3382, 10135, 3, 3, UNI_CE } /* ce=yes */, { 17, 8780, 4883, 6, 15, UNI_SARB } /* block=oldsoutharabian */, { 17, 8243, 0, 8, 0, UNI_MAHJ } /* mahajani */, { 1, 5674, 0, 13, 0, UNI_bidim_values_index } /* bidimirrored= */, { 2, 9488, 867, 4, 18, UNI_PHONETICEXT } /* blk=phoneticextensions */, { 0, 6229, 36, 12, 1, UNI_JOINC } /* joincontrol=t */, { 16, 3836, 9576, 17, 4, UNI_GURU } /* scriptextensions=guru */, { 4, 5791, 5620, 13, 10, UNI_JG__TEHMARBUTA } /* joininggroup=tehmarbuta */, { 2, 10048, 9055, 3, 4, UNI_NV__1_SLASH_32 } /* nv=1/32 */, { 0, 21, 5270, 2, 14, UNI_LATINEXTE } /* inlatinextendede */, { 1, 10030, 0, 3, 1, UNI_JT__U } /* jt=u */, { 0, 184, 9226, 3, 4, UNI_XPOSIXCNTRL } /* iscntrl */, { 0, 7218, 25, 10, 2, UNI_LB__SY } /* linebreak=sy */, { 7, 3097, 10066, 18, 3, UNI_DT__SML } /* decompositiontype=sml */, { 12, 184, 9533, 3, 3, UNI_CYRL } /* iscyrl */, { 1, 4791, 2856, 3, 18, UNI_MONGOLIANSUP } /* inmongoliansupplement */, { 10, 4658, 9836, 15, 4, UNI_GREXT } /* graphemeextend=true */, { 9, 7218, 10156, 10, 2, UNI_LB__BK } /* linebreak=bk */, { 1, 9488, 4673, 4, 15, UNI_INHANGUL } /* blk=hangulsyllables */, { 3, 184, 2010, 2, 22, UNI_MISCTECHNICAL } /* ismiscellaneoustechnical */, { 3, 4033, 5592, 16, 14, UNI_ZS } /* generalcategory=spaceseparator */, { 1, 10048, 9413, 3, 3, UNI_NV__7_SLASH_2 } /* nv=7/2 */, { 0, 7088, 3773, 10, 3, UNI_BC__RLI } /* bidiclass=rli */, { 4, 9488, 3683, 4, 17, UNI_ETHIOPICEXTA } /* blk=ethiopicextendeda */, { 2, 9230, 26, 5, 1, UNI_CWCF } /* cwcf=y */, { 0, 8589, 9002, 7, 6, UNI_SC__TELU } /* script=telugu */, { 0, 10009, 45, 3, 6, UNI_DT__COM } /* dt=compat */, { 0, 9240, 9255, 5, 5, -UNI_DASH } /* dash=false */, { 0, 10024, 4718, 3, 15, UNI_LOWERCASELETTER } /* gc=lowercaseletter */, { 1, 5986, 8720, 13, 3, UNI_NV__400 } /* numericvalue=400 */, { 0, 2280, 9316, 3, 4, UNI_ORYA } /* isoriya */, { 0, 3374, 1025, 11, 2, -UNI_XPOSIXSPACE } /* whitespace=no */, { 1, 8688, 2314, 3, 3, UNI_POSIXXDIGIT } /* isahex */, { 6, 9768, 9664, 4, 4, UNI_MRO } /* scx=mroo */, { 0, 9768, 2855, 4, 9, UNI_MONG } /* scx=mongolian */, { 0, 8780, 6086, 7, 11, UNI_CHESSSYMBOLS } /* block=chesssymbols */, { 3, 184, 895, 2, 28, UNI_SUPPUAA } /* issupplementaryprivateuseareaa */, { 8, 8882, 10135, 6, 3, UNI_GREXT } /* grext=yes */, { 0, 9768, 9748, 4, 4, UNI_RJNG } /* scx=rjng */, { 2, 8780, 690, 7, 29, UNI_CJKEXTG } /* block=cjkunifiedideographsextensiong */, { 8, 2218, 8527, 3, 6, UNI_NB } /* innoblock */, { 2, 8589, 9664, 7, 3, UNI_MRO } /* script=mro */, { 0, 10063, 9255, 3, 5, -UNI_SD } /* sd=false */, { 20, 4033, 106, 16, 6, UNI_S } /* generalcategory=symbol */, { 2, 10027, 9456, 3, 4, UNI_JG__ALEF } /* jg=alef */, { 0, 4916, 9009, 3, 5, UNI_THAA } /* isthaana */, { 7, 7325, 7827, 3, 3, UNI_IN__2 } /* in=2.0 */, { 0, 1417, 9131, 25, 4, UNI_CCC__20 } /* canonicalcombiningclass=ccc20 */, { 1, 3374, 0, 10, 0, UNI_XPOSIXSPACE } /* whitespace */, { 2, 184, 1700, 2, 23, UNI_SHORTHANDFORMATCONTROLS } /* isshorthandformatcontrols */, { 0, 8638, 0, 7, 0, UNI_TGLG } /* tagalog */, { 9, 8780, 9002, 6, 6, UNI_INTELUGU } /* block=telugu */, { 10, 9488, 1654, 4, 6, UNI_INHANGUL } /* blk=hangul */, { 4, 9488, 8610, 4, 7, UNI_INSIDDHAM } /* blk=siddham */, { 1, 10012, 4471, 3, 7, UNI_EA__N } /* ea=neutral */, { 1, 3836, 9732, 17, 4, UNI_PRTI } /* scriptextensions=prti */, { 1, 184, 1218, 2, 26, UNI_KATAKANAEXT } /* iskatakanaphoneticextensions */, { 7, 9277, 7569, 5, 7, UNI_SC__SIND } /* sc=khudawadi */, { 0, 10291, 62, 5, 5, UNI_POSIXGRAPH } /* posixgraph */, { 23, 184, 6620, 2, 11, UNI_DOMINO } /* isdominotiles */, { 0, 9896, 0, 4, 0, UNI_ZYYY } /* zyyy */, { 0, 10027, 5354, 3, 14, UNI_JG__MANICHAEANHETH } /* jg=manichaeanheth */, { 4, 5986, 7468, 13, 9, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-5.00e-01 */, { 0, 10048, 8043, 3, 8, UNI_NV__4_SLASH_5 } /* nv=8.00e-01 */, { 0, 3836, 7657, 17, 9, UNI_PERM } /* scriptextensions=oldpermic */, { 1, 184, 1835, 3, 20, UNI_CWT } /* ischangeswhentitlecased */, { 4, 9488, 1677, 4, 23, UNI_LATINEXTADDITIONAL } /* blk=latinextendedadditional */, { 1, 2280, 9709, 3, 3, UNI_ORYA } /* isorya */, { 2, 3836, 8924, 17, 6, UNI_LEPC } /* scriptextensions=lepcha */, { 1, 9768, 6193, 4, 4, UNI_HEBR } /* scx=hebr */, { 2, 9488, 5816, 5, 7, UNI_INBALINESE } /* blk=balinese */, { 1, 9508, 2455, 4, 5, UNI_CCC__R } /* ccc=right */, { 0, 1677, 0, 9, 0, UNI_LATINEXTE } /* latinexte */, { 0, 9277, 2409, 3, 4, UNI_SC__GLAG } /* sc=glag */, { 2, 9488, 5522, 4, 14, UNI_PHONETICEXTSUP } /* blk=phoneticextsup */, { 0, 7438, 6917, 10, 11, UNI_WB__SQ } /* wordbreak=singlequote */, { 1, 2182, 5633, 21, 2, UNI_LB__H2 } /* graphemeclusterbreak=lv */, { 40, 6231, 3026, 3, 17, UNI_CHEROKEESUP } /* incherokeesupplement */, { 6, 467, 0, 5, 0, UNI_P } /* punct */, { 1, 10024, 5817, 3, 13, UNI_ZL } /* gc=lineseparator */, { 0, 9768, 8337, 4, 7, UNI_AVST } /* scx=avestan */, { 1, 184, 114, 3, 34, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningdiacriticalmarksforsymbols */, { 4, 9488, 1513, 4, 24, UNI_HIGHPUSURROGATES } /* blk=highprivateusesurrogates */, { 0, 9277, 4001, 3, 7, UNI_SC__CPRT } /* sc=cypriot */, { 0, 5986, 9380, 13, 4, UNI_NV__1_SLASH_80 } /* numericvalue=1/80 */, { 0, 10291, 5040, 5, 5, UNI_POSIXDIGIT } /* posixdigit */, { 6, 8589, 9310, 7, 5, UNI_OGAM } /* script=ogham */, { 0, 184, 2245, 2, 21, UNI_MEETEIMAYEKEXT } /* ismeeteimayekextensions */, { 1, 3836, 8442, 17, 7, UNI_HANO } /* scriptextensions=hanunoo */, { 1, 6241, 7258, 12, 10, UNI_JT__U } /* joiningtype=nonjoining */, { 2, 10009, 4017, 3, 5, UNI_DT__FIN } /* dt=final */, { 9, 3836, 6277, 17, 4, UNI_MAHJ } /* scriptextensions=mahj */, { 3, 4989, 1129, 3, 3, UNI_UCAS } /* isucas */, { 2, 8509, 2705, 4, 17, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumsup */, { 5, 10051, 0, 3, 0, UNI_OCR } /* ocr */, { 1, 3717, 8330, 17, 7, UNI_IDENTIFIERSTATUS__ALLOWED } /* identifierstatus=allowed */, { 0, 9768, 1628, 4, 4, UNI_PHAG } /* scx=phag */, { 1, 10024, 6265, 3, 12, UNI_NL } /* gc=letternumber */, { 0, 8996, 9837, 7, 3, UNI_STERM } /* sterm=true */, { 0, 9488, 3683, 4, 11, UNI_ETHIOPICEXT } /* blk=ethiopicext */, { 1, 9768, 6484, 4, 4, UNI_HUNG } /* scx=hung */, { 9, 9038, 0, 6, 0, UNI_YEZI } /* yezidi */, { 0, 6231, 7129, 3, 9, UNI_CJKSTROKES } /* incjkstrokes */, { 2, 10033, 0, 3, 0, UNI_lb_values_index } /* lb= */, { 0, 8960, 0, 7, 0, UNI_COMPEX } /* nfcqc=n */, { 0, 1189, 5713, 3, 7, UNI_XPOSIXDIGIT } /* nt=decimal */, { 4, 6241, 6, 12, 1, UNI_JT__D } /* joiningtype=d */, { 0, 9277, 4883, 3, 15, UNI_SARB } /* sc=oldsoutharabian */, { 0, 6805, 206, 6, 11, UNI_MISCPICTOGRAPHS } /* inmiscpictographs */, { 8, 10024, 467, 3, 11, UNI_P } /* gc=punctuation */, { 9, 9768, 8187, 4, 4, UNI_HIRA } /* scx=hira */, { 4, 184, 7513, 2, 9, UNI_BHKS } /* isbhaiksuki */, { 2, 5986, 9376, 13, 4, UNI_NV__1_SLASH_64 } /* numericvalue=1/64 */, { 21, 9488, 7531, 4, 9, UNI_EMOTICONS } /* blk=emoticons */, { 6, 7684, 0, 4, 0, UNI_PAUC } /* pauc */, { 12, 4273, 0, 7, 0, UNI_MYMR } /* myanmar */, { 12, 7657, 0, 9, 0, UNI_PERM } /* oldpermic */, { 0, 6231, 510, 3, 19, UNI_CJK } /* incjkunifiedideographs */, { 8, 184, 9644, 2, 4, UNI_MEDF } /* ismedf */, { 3, 951, 0, 18, 0, UNI_INVS } /* variationselectors */, { 0, 8780, 5018, 6, 14, UNI_ANCIENTSYMBOLS } /* block=ancientsymbols */, { 5, 1417, 3015, 24, 10, UNI_CCC__AR } /* canonicalcombiningclass=aboveright */, { 1, 4116, 3260, 3, 3, UNI_IDSB } /* isidsb */, { 68, 1966, 2389, 22, 20, UNI_INSC__CONSONANTWITHSTACKER } /* indicsyllabiccategory=consonantwithstacker */, { 3, 10126, 18, 3, 1, UNI_VO__R } /* vo=r */, { 8, 8688, 9441, 3, 3, UNI_ADLM } /* isadlm */, { 6, 9277, 2608, 3, 4, UNI_BRAH } /* sc=brah */, { 10, 10333, 6, 3, 1, UNI_SD } /* issd */, { 0, 4033, 27, 16, 2, UNI_LOWERCASELETTER } /* generalcategory=ll */, { 9, 5791, 4778, 13, 15, UNI_JG__MANICHAEANZAYIN } /* joininggroup=manichaeanzayin */, { 0, 8780, 1631, 6, 15, UNI_GEOMETRICSHAPES } /* block=geometricshapes */, { 0, 8870, 0, 6, 0, UNI_epres_values_index } /* epres= */, { 1, 9716, 36, 4, 1, UNI_PCM } /* pcm=t */, { 0, 3836, 8498, 17, 7, UNI_MULT } /* scriptextensions=multani */, { 0, 184, 4360, 2, 4, UNI_EMOD } /* isemod */, { 0, 10033, 42, 3, 2, UNI_LB__CJ } /* lb=cj */, { 1, 5986, 8744, 13, 4, UNI_NV__7000 } /* numericvalue=7000 */, { 0, 1591, 7533, 4, 7, UNI_EMOTICONS } /* inemoticons */, { 2, 9488, 10051, 4, 3, UNI_OCR } /* blk=ocr */, { 9, 9768, 7292, 5, 3, UNI_SOGD } /* scx=sogd */, { 0, 9768, 9564, 4, 4, UNI_GONM } /* scx=gonm */, { 2, 3836, 8477, 17, 7, UNI_MAKA } /* scriptextensions=makasar */, { 34, 3836, 6973, 18, 10, UNI_SYLO } /* scriptextensions=sylotinagri */, { 2, 1417, 4134, 24, 1, UNI_CCC__1 } /* canonicalcombiningclass=1 */, { 9, 9556, 6763, 4, 3, UNI_LB__H3 } /* gcb=lvt */, { 0, 184, 1585, 2, 23, UNI_BYZANTINEMUSIC } /* isbyzantinemusicalsymbols */, { 0, 1537, 0, 24, 0, UNI_inpc_values_index } /* indicpositionalcategory= */, { 0, 1979, 4720, 11, 13, UNI_LOWERCASELETTER } /* category=lowercaseletter */, { 0, 5986, 9404, 13, 4, UNI_NV__13_SLASH_2 } /* numericvalue=13/2 */, { 0, 8780, 779, 6, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsextendeda */, { 17, 9277, 8428, 3, 4, UNI_SC__GRAN } /* sc=gran */, { 0, 9768, 9692, 4, 4, UNI_NSHU } /* scx=nshu */, { 0, 4273, 0, 16, 0, UNI_MYANMAREXTA } /* myanmarextendeda */, { 0, 7218, 6178, 10, 3, UNI_LB__ZWJ } /* linebreak=zwj */, { 1, 8768, 3, 6, 1, -UNI_BIDIC } /* bidic=f */, { 3, 8930, 1025, 6, 2, -UNI_XPOSIXLOWER } /* lower=no */, { 8, 10048, 7933, 3, 2, UNI_NV__17 } /* nv=17 */, { 1, 1417, 9191, 25, 4, UNI_CCC__32 } /* canonicalcombiningclass=ccc32 */, { 5, 9444, 10084, 4, 3, UNI_AGE__3_DOT_1 } /* age=v31 */, { 0, 9488, 8582, 4, 7, UNI_INPHAGSPA } /* blk=phagspa */, { 4, 8589, 2817, 7, 4, UNI_MERO } /* script=mero */, { 8, 8449, 3, 7, 1, -UNI_HYPHEN } /* hyphen=f */, { 13, 8997, 3, 5, 1, -UNI_TERM } /* term=f */, { 0, 10048, 8708, 3, 6, UNI_NV__216000 } /* nv=216000 */, { 0, 7438, 1194, 10, 2, UNI_LB__LF } /* wordbreak=lf */, { 1, 3836, 6884, 17, 11, UNI_HMNG } /* scriptextensions=pahawhhmong */, { 1, 10027, 9772, 3, 4, UNI_JG__SEEN } /* jg=seen */, { 9, 3836, 9448, 17, 4, UNI_AGHB } /* scriptextensions=aghb */, { 0, 3836, 3895, 18, 3, UNI_SGNW } /* scriptextensions=sgnw */, { 32, 10030, 36, 3, 1, UNI_JT__T } /* jt=t */, { 10, 3836, 8171, 17, 8, UNI_GUJR } /* scriptextensions=gujarati */, { 15, 21, 5228, 2, 14, UNI_LATINEXTB } /* inlatinextendedb */, { 1, 9444, 9985, 4, 3, UNI_AGE__7 } /* age=7.0 */, { 9, 4422, 3117, 4, 16, UNI_DEVANAGARIEXT } /* indevanagariextended */, { 0, 184, 9480, 2, 4, UNI_BATK } /* isbatk */, { 1, 10333, 7292, 3, 3, UNI_SOGD } /* issogd */, { 0, 1812, 36, 22, 1, UNI_CWL } /* changeswhenlowercased=t */, { 0, 8864, 1025, 6, 2, -UNI_EMOJI } /* emoji=no */, { 2, 9508, 8795, 4, 3, UNI_CCC__103 } /* ccc=103 */, { 6, 8603, 0, 7, 0, UNI_SHAW } /* shavian */, { 0, 4145, 0, 7, 0, UNI_LINB } /* linearb */, { 1, 1979, 1045, 10, 5, UNI_L } /* category=letter */, { 4, 8456, 0, 7, 0, UNI_KNDA } /* kannada */, { 0, 1552, 3349, 9, 18, UNI_ZP } /* category=paragraphseparator */, { 2, 9277, 8421, 3, 4, UNI_ELYM } /* sc=elym */, { 2, 4688, 7005, 15, 11, UNI_IDENTIFIERTYPE__UNCOMMONUSE } /* identifiertype=uncommonuse */, { 1, 4688, 6895, 15, 11, UNI_IDENTIFIERTYPE__RECOMMENDED } /* identifiertype=recommended */, { 0, 1417, 9136, 25, 4, UNI_CCC__21 } /* canonicalcombiningclass=ccc21 */, { 0, 8688, 1395, 4, 22, UNI_ARABICPFB } /* isarabicpresentationformsb */, { 1, 2224, 7292, 3, 6, UNI_INSOGDIAN } /* insogdian */, { 9, 8589, 7630, 7, 9, UNI_TALU } /* script=newtailue */, { 1, 8780, 4385, 6, 16, UNI_TANGUTCOMPONENTS } /* block=tangutcomponents */, { 3, 4033, 3349, 16, 18, UNI_ZP } /* generalcategory=paragraphseparator */, { 4, 10048, 7963, 3, 8, UNI_NV__11_SLASH_2 } /* nv=5.50e+00 */, { 2, 8768, 0, 6, 0, UNI_bidic_values_index } /* bidic= */, { 6, 184, 923, 2, 28, UNI_SUPPUAB } /* issupplementaryprivateuseareab */, { 3, 9262, 10174, 3, 2, UNI_SB__XX } /* sb=xx */, { 2, 2224, 7369, 3, 9, UNI_SMALLFORMS } /* insmallforms */, { 0, 8864, 10135, 6, 3, UNI_EMOJI } /* emoji=yes */, { 10, 10024, 132, 3, 2, UNI_LM } /* gc=lm */, { 0, 8780, 4433, 6, 15, UNI_ARABICEXTA } /* block=arabicextendeda */, { 5, 1171, 0, 2, 0, UNI_TITLE } /* lt */, { 0, 9444, 10117, 4, 3, UNI_AGE__7 } /* age=v70 */, { 0, 8589, 78, 7, 6, UNI_SC__ARAB } /* script=arabic */, { 1, 8780, 9330, 6, 5, UNI_INTAILE } /* block=taile */, { 6, 9277, 3785, 3, 4, UNI_SC__MANI } /* sc=mani */, { 0, 9997, 6037, 3, 12, UNI_BC__AL } /* bc=arabicletter */, { 5, 6241, 0, 12, 0, UNI_jt_values_index } /* joiningtype= */, { 0, 4791, 6819, 3, 10, UNI_MYANMAREXTA } /* inmyanmarexta */, { 3, 9277, 8617, 3, 7, UNI_SOYO } /* sc=soyombo */, { 0, 2288, 1195, 5, 23, UNI_HALFANDFULLFORMS } /* inhalfwidthandfullwidthforms */, { 2, 8470, 0, 7, 0, UNI_LINA } /* lineara */, { 5, 3374, 9836, 11, 4, UNI_XPOSIXSPACE } /* whitespace=true */, { 5, 9014, 26, 6, 1, UNI_UIDEO } /* uideo=y */, { 0, 9768, 9824, 4, 4, UNI_TGLG } /* scx=tglg */, { 12, 5578, 10174, 14, 2, UNI_SB__XX } /* sentencebreak=xx */, { 2, 1537, 2449, 24, 4, UNI_INPC__LEFT } /* indicpositionalcategory=left */, { 2, 9488, 867, 4, 28, UNI_PHONETICEXTSUP } /* blk=phoneticextensionssupplement */, { 1, 184, 3115, 2, 10, UNI_DEVA } /* isdevanagari */, { 3, 9262, 49, 3, 2, UNI_SB__AT } /* sb=at */, { 9, 8589, 8498, 7, 7, UNI_SC__MULT } /* script=multani */, { 0, 9277, 9824, 3, 4, UNI_SC__TGLG } /* sc=tglg */, { 2, 1087, 36, 27, 1, UNI_PCM } /* prependedconcatenationmark=t */, { 0, 3311, 0, 3, 0, UNI_ALL } /* all */, { 1, 8930, 1, 6, 1, -UNI_XPOSIXLOWER } /* lower=n */, { 4, 3901, 6184, 5, 9, UNI_INGUNJALAGONDI } /* ingunjalagondi */, { 0, 6420, 7667, 3, 8, UNI_INOLDTURKIC } /* inoldturkic */, { 1, 8589, 9892, 7, 4, UNI_SC__QAAI } /* script=zinh */, { 0, 184, 8876, 2, 4, UNI_GOTH } /* isgoth */, { 5, 10003, 26, 3, 1, UNI_CI } /* ci=y */, { 1, 10182, 8979, 7, 4, UNI__PERL_PATWS } /* _perl_patws */, { 14, 7158, 1, 10, 1, -UNI_DIA } /* diacritic=n */, { 1, 9488, 6253, 4, 12, UNI_KHMERSYMBOLS } /* blk=khmersymbols */, { 5, 9290, 36, 5, 1, UNI_MATH } /* math=t */, { 0, 184, 435, 2, 5, UNI__PERL_NCHAR } /* isnchar */, { 3, 9596, 5633, 4, 2, UNI_LB__H2 } /* hst=lv */, { 2, 9277, 9452, 3, 4, UNI_AHOM } /* sc=ahom */, { 0, 184, 8477, 2, 4, UNI_MAKA } /* ismaka */, { 3, 7594, 0, 9, 0, UNI_LATINEXTD } /* latinextd */, { 1, 9277, 7358, 3, 4, UNI_SAUR } /* sc=saur */, { 3, 9488, 5284, 4, 7, UNI_LISUSUP } /* blk=lisusup */, { 0, 9020, 0, 6, 0, UNI_upper_values_index } /* upper= */, { 6, 8864, 0, 6, 0, UNI_emoji_values_index } /* emoji= */, { 0, 4422, 3117, 4, 11, UNI_DEVANAGARIEXT } /* indevanagariext */, { 0, 8688, 80, 4, 33, UNI_ARABICMATH } /* isarabicmathematicalalphabeticsymbols */, { 1, 3836, 0, 17, 0, UNI_scx_values_index } /* scriptextensions= */, { 4, 9488, 7308, 4, 10, UNI_INPHOENICIAN } /* blk=phoenician */, { 3, 5791, 6313, 13, 12, UNI_JG__MALAYALAMNGA } /* joininggroup=malayalamnga */, { 9, 3836, 7168, 17, 10, UNI_DIAK } /* scriptextensions=divesakuru */, { 1, 9277, 1219, 4, 7, UNI_SC__KANA } /* sc=katakana */, { 0, 4033, 133, 16, 4, UNI_M } /* generalcategory=mark */, { 1, 10048, 7939, 3, 8, UNI_NV__9_SLASH_2 } /* nv=4.50e+00 */, { 1, 2288, 4098, 3, 15, UNI_HIGHPUSURROGATES } /* inhighpusurrogates */, { 4, 9277, 9664, 3, 3, UNI_MRO } /* sc=mro */, { 2, 7291, 0, 7, 0, UNI_SOGD } /* sogdian */, { 1, 1417, 8837, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=133 */, { 0, 4033, 339, 16, 2, UNI_LO } /* generalcategory=lo */, { 0, 7540, 36, 9, 1, UNI_EXT } /* extender=t */, { 3, 10296, 6, 3, 1, UNI_PD } /* ispd */, { 9, 9508, 24, 4, 1, UNI_CCC__L } /* ccc=l */, { 0, 1417, 9952, 24, 3, UNI_CCC__IS } /* canonicalcombiningclass=240 */, { 0, 7438, 727, 10, 2, UNI_WB__MN } /* wordbreak=mn */, { 32, 9488, 1878, 4, 22, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatideographssup */, { 48, 184, 4145, 2, 16, UNI_LINEARBIDEOGRAMS } /* islinearbideograms */, { 0, 3836, 9245, 17, 4, UNI_DOGR } /* scriptextensions=dogr */, { 0, 1552, 6862, 9, 11, UNI_NO } /* category=othernumber */, { 14, 184, 9656, 2, 4, UNI_MIAO } /* ismiao */, { 0, 6576, 36, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=t */, { 0, 5791, 6162, 13, 7, UNI_JG__SEMKATH } /* joininggroup=semkath */, { 5, 184, 8219, 2, 8, UNI_JAVA } /* isjavanese */, { 3, 3836, 8491, 17, 7, UNI_MARC } /* scriptextensions=marchen */, { 4, 4033, 400, 16, 6, UNI_CF } /* generalcategory=format */, { 9, 8780, 4369, 6, 9, UNI_SYRIACSUP } /* block=syriacsup */, { 0, 9488, 3581, 4, 17, UNI_UCAS } /* blk=canadiansyllabics */, { 0, 10027, 2627, 3, 19, UNI_JG__BURUSHASKIYEHBARREE } /* jg=burushaskiyehbarree */, { 1, 8780, 3080, 7, 17, UNI_COPTICEPACTNUMBERS } /* block=copticepactnumbers */, { 1, 9277, 2287, 3, 4, UNI_SC__SINH } /* sc=sinh */, { 6, 9716, 1025, 4, 2, -UNI_PCM } /* pcm=no */, { 0, 184, 3937, 2, 16, UNI_BOPOMOFOEXT } /* isbopomofoextended */, { 0, 8870, 3, 6, 1, -UNI_EPRES } /* epres=f */, { 0, 3223, 0, 18, 0, UNI_INPUNCTUATION } /* generalpunctuation */, { 3, 8589, 6277, 7, 4, UNI_SC__MAHJ } /* script=mahj */, { 3, 9997, 32, 3, 2, UNI_BC__CS } /* bc=cs */, { 0, 3151, 1025, 18, 2, -UNI_EPRES } /* emojipresentation=no */, { 0, 184, 1677, 2, 9, UNI_LATINEXTE } /* islatinexte */, { 0, 7438, 0, 4, 0, UNI_XPOSIXWORD } /* word */, { 0, 4033, 112, 16, 2, UNI_SC } /* generalcategory=sc */, { 1, 9488, 7621, 4, 9, UNI_INNABATAEAN } /* blk=nabataean */, { 0, 9277, 9672, 3, 4, UNI_SC__MYMR } /* sc=mymr */, { 3, 7218, 533, 10, 2, UNI_LB__NS } /* linebreak=ns */, { 2, 8780, 8115, 6, 8, UNI_INBASSAVAH } /* block=bassavah */, { 3, 951, 0, 17, 0, UNI_VS } /* variationselector */, { 1, 8589, 9038, 7, 4, UNI_SC__YEZI } /* script=yezi */, { 6, 9277, 9736, 3, 4, UNI_SC__COPT } /* sc=qaac */, { 0, 8688, 97, 3, 4, UNI_XPOSIXALPHA } /* isalpha */, { 2, 4033, 4305, 16, 16, UNI_PO } /* generalcategory=otherpunctuation */, { 1, 10132, 6193, 3, 12, UNI_LB__HL } /* wb=hebrewletter */, { 17, 1417, 6719, 24, 11, UNI_CCC__8 } /* canonicalcombiningclass=kanavoicing */, { 2, 1188, 4386, 3, 5, UNI_INTANGUT } /* intangut */, { 1, 9277, 4273, 3, 7, UNI_SC__MYMR } /* sc=myanmar */, { 46, 8924, 0, 6, 0, UNI_LEPC } /* lepcha */, { 1, 1417, 5649, 24, 1, UNI_CCC__0 } /* canonicalcombiningclass=0 */, { 1, 8589, 9896, 7, 4, UNI_SC__ZYYY } /* script=zyyy */, { 16, 10009, 0, 3, 0, UNI_dt_values_index } /* dt= */, { 6, 2784, 863, 4, 4, UNI_ARROWS } /* inarrows */, { 16, 9277, 4478, 3, 4, UNI_BRAI } /* sc=brai */, { 11, 9444, 10081, 4, 3, UNI_AGE__3 } /* age=v30 */, { 10, 9516, 0, 4, 0, UNI_CPRT } /* cprt */, { 2, 184, 9668, 2, 4, UNI_MTEI } /* ismtei */, { 0, 184, 6961, 2, 11, UNI_SUPERANDSUB } /* issuperandsub */, { 0, 10048, 7930, 3, 2, UNI_NV__14 } /* nv=14 */, { 1, 9270, 868, 3, 27, UNI_PHONETICEXTSUP } /* inphoneticextensionssupplement */, { 0, 184, 5214, 2, 6, UNI_KANGXI } /* iskangxi */, { 0, 9277, 8187, 3, 4, UNI_SC__HIRA } /* sc=hira */, { 0, 184, 133, 2, 4, UNI_M } /* ismark */, { 3, 7188, 0, 10, 0, UNI_KHAR } /* kharoshthi */, { 0, 2280, 8549, 4, 5, UNI_OLCK } /* isolchiki */, { 1, 184, 8131, 2, 4, UNI_DUPL } /* isdupl */, { 0, 9444, 7806, 4, 1, UNI_AGE__6 } /* age=6 */, { 0, 1417, 9186, 25, 4, UNI_CCC__31 } /* canonicalcombiningclass=ccc31 */, { 0, 1878, 0, 19, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatideographs */, { 2, 1417, 6642, 24, 11, UNI_CCC__DB } /* canonicalcombiningclass=doublebelow */, { 0, 4916, 8292, 3, 3, UNI_TAGB } /* istagb */, { 5, 10027, 6162, 3, 7, UNI_JG__SEMKATH } /* jg=semkath */, { 6, 184, 2061, 2, 4, UNI_MODI } /* ismodi */, { 4, 2784, 7497, 4, 7, UNI_ARABICPFA } /* inarabicpfa */, { 0, 8780, 5778, 6, 6, UNI_IPAEXT } /* block=ipaext */, { 1, 3836, 4149, 18, 3, UNI_SARB } /* scriptextensions=sarb */, { 1, 10027, 4225, 3, 16, UNI_JG__MANICHAEANTWENTY } /* jg=manichaeantwenty */, { 1, 21, 5242, 2, 14, UNI_LATINEXTC } /* inlatinextendedc */, { 1, 5986, 7787, 13, 8, UNI_NV__3_SLASH_2 } /* numericvalue=1.50e+00 */, { 2, 184, 7567, 2, 9, UNI_SIND } /* iskhudawadi */, { 21, 184, 3169, 2, 11, UNI_ETHIOPICSUP } /* isethiopicsup */, { 1, 2533, 982, 5, 24, UNI_ALPHABETICPF } /* inalphabeticpresentationforms */, { 2, 9310, 0, 5, 0, UNI_OGAM } /* ogham */, { 10, 5986, 9368, 13, 4, UNI_NV__1_SLASH_20 } /* numericvalue=1/20 */, { 1, 7088, 3349, 10, 18, UNI_BC__B } /* bidiclass=paragraphseparator */, { 5, 10048, 9392, 3, 4, UNI_NV__11_SLASH_2 } /* nv=11/2 */, { 5, 10024, 27, 3, 2, UNI_LOWERCASELETTER } /* gc=ll */, { 8, 9488, 749, 4, 16, UNI_ENCLOSEDALPHANUM } /* blk=enclosedalphanum */, { 0, 9071, 3, 4, 1, -UNI_XPOSIXXDIGIT } /* hex=f */, { 0, 9997, 0, 3, 0, UNI_bc_values_index } /* bc= */, { 0, 5564, 1, 14, 1, -UNI_QMARK } /* quotationmark=n */, { 0, 4113, 952, 3, 27, UNI_VSSUP } /* invariationselectorssupplement */, { 7, 382, 0, 4, 0, UNI_EGYP } /* egyp */, { 2, 7088, 5829, 10, 3, UNI_BC__RLO } /* bidiclass=rlo */, { 1, 9488, 183, 4, 34, UNI_MISCPICTOGRAPHS } /* blk=miscellaneoussymbolsandpictographs */, { 0, 8912, 0, 6, 0, UNI_KHOJ } /* khojki */, { 1, 9804, 0, 4, 0, UNI_TALE } /* tale */, { 0, 8688, 1007, 3, 16, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusic */, { 6, 8575, 0, 7, 0, UNI_patsyn_values_index } /* patsyn= */, { 2, 9768, 6385, 4, 12, UNI_GONM } /* scx=masaramgondi */, { 20, 3385, 36, 18, 1, UNI_RI } /* regionalindicator=t */, { 14, 21, 4129, 2, 6, UNI_LATIN1 } /* inlatin1 */, { 7, 8780, 446, 6, 32, UNI_IDEOGRAPHICSYMBOLS } /* block=ideographicsymbolsandpunctuation */, { 1, 8589, 7648, 7, 9, UNI_ITAL } /* script=olditalic */, { 4, 5791, 10072, 13, 3, UNI_JG__TAH } /* joininggroup=tah */, { 9, 1188, 4929, 3, 14, UNI_TAMILSUP } /* intamilsupplement */, { 0, 9488, 8337, 4, 7, UNI_INAVESTAN } /* blk=avestan */, { 0, 10033, 8449, 3, 6, UNI_LB__HY } /* lb=hyphen */, { 0, 10333, 2529, 3, 4, UNI_STERM } /* issterm */, { 11, 9508, 6719, 4, 11, UNI_CCC__8 } /* ccc=kanavoicing */, { 1, 3836, 9315, 17, 5, UNI_ORYA } /* scriptextensions=oriya */, { 4, 1287, 0, 2, 0, UNI_UPPERCASELETTER } /* lu */, { 4, 1417, 7859, 24, 3, UNI_WB__EB } /* canonicalcombiningclass=200 */, { 10, 184, 478, 2, 31, UNI_MATHALPHANUM } /* ismathematicalalphanumericsymbols */, { 18, 10033, 202, 3, 2, UNI_LB__SA } /* lb=sa */, { 0, 1417, 9472, 24, 4, UNI_WB__EB } /* canonicalcombiningclass=atbl */, { 0, 10296, 1823, 7, 5, UNI_POSIXLOWER } /* isposixlower */, { 1, 1417, 9141, 25, 4, UNI_CCC__22 } /* canonicalcombiningclass=ccc22 */, { 1, 10288, 10308, 8, 5, UNI_XPOSIXPRINT } /* isxposixprint */, { 0, 113, 0, 25, 0, UNI_DIACRITICALS } /* combiningdiacriticalmarks */, { 2, 7218, 42, 10, 2, UNI_LB__CJ } /* linebreak=cj */, { 20, 2287, 0, 7, 0, UNI_SINH } /* sinhala */, { 6, 9768, 9588, 4, 4, UNI_HMNG } /* scx=hmng */, { 4, 2280, 6852, 3, 10, UNI_LO } /* isotherletter */, { 0, 6205, 0, 12, 0, UNI_ideo_values_index } /* ideographic= */, { 8, 8780, 7139, 7, 9, UNI_COMPATJAMO } /* block=compatjamo */, { 0, 9488, 779, 4, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsextendeda */, { 0, 10027, 4177, 3, 16, UNI_JG__MANICHAEANDALETH } /* jg=manichaeandaleth */, { 3, 10024, 1910, 3, 2, UNI_CN } /* gc=cn */, { 0, 1188, 3458, 3, 17, UNI_TAIXUANJING } /* intaixuanjingsymbols */, { 0, 9640, 26, 4, 1, UNI_LOE } /* loe=y */, { 2, 8688, 1371, 4, 22, UNI_ARABICPFA } /* isarabicpresentationformsa */, { 0, 8589, 7660, 7, 4, UNI_SC__PERM } /* script=perm */, { 3, 8852, 9836, 6, 4, UNI_CWKCF } /* cwkcf=true */, { 0, 1845, 0, 5, 0, UNI_TITLE } /* title */, { 70, 5986, 7875, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.13e-02 */, { 1, 1812, 0, 21, 0, UNI_CWL } /* changeswhenlowercased */, { 13, 9548, 0, 4, 0, UNI_DSRT } /* dsrt */, { 0, 1269, 26, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=y */, { 1, 8780, 8227, 6, 8, UNI_KANAEXTA } /* block=kanaexta */, { 0, 3836, 9245, 17, 5, UNI_DOGR } /* scriptextensions=dogra */, { 0, 5804, 0, 13, 0, UNI_KANAEXTA } /* kanaextendeda */, { 4, 1966, 1244, 22, 9, UNI_INSC__CONSONANT } /* indicsyllabiccategory=consonant */, { 1, 3836, 1218, 17, 8, UNI_KANA } /* scriptextensions=katakana */, { 0, 9277, 9684, 3, 4, UNI_NEWA } /* sc=newa */, { 5, 7155, 6194, 3, 5, UNI_HEBR } /* ishebrew */, { 0, 3836, 9896, 17, 4, UNI_ZYYY } /* scriptextensions=zyyy */, { 28, 4791, 2338, 10, 11, UNI_MERO } /* inmeroitichieroglyphs */, { 1, 6609, 3, 11, 1, -UNI_DEP } /* deprecated=f */, { 0, 184, 3223, 2, 18, UNI_INPUNCTUATION } /* isgeneralpunctuation */, { 0, 8780, 4973, 6, 15, UNI_VEDICEXT } /* block=vedicextensions */, { 8, 9488, 7069, 5, 9, UNI_ASCII } /* blk=basiclatin */, { 1, 6505, 0, 8, 0, UNI_PHAISTOS } /* phaistos */, { 0, 8780, 7458, 6, 10, UNI_YIRADICALS } /* block=yiradicals */, { 4, 7621, 0, 9, 0, UNI_NBAT } /* nabataean */, { 1, 5986, 8732, 13, 4, UNI_NV__5000 } /* numericvalue=5000 */, { 1, 8589, 9476, 7, 4, UNI_AVST } /* script=avst */, { 0, 8966, 10135, 6, 3, UNI_NFDQC__Y } /* nfdqc=yes */, { 2, 8780, 3937, 6, 11, UNI_BOPOMOFOEXT } /* block=bopomofoext */, { 2, 21, 1007, 3, 16, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusic */, { 2, 10048, 9910, 3, 3, UNI_NV__1_SLASH_9 } /* nv=1/9 */, { 0, 1417, 8831, 24, 3, UNI_CCC__132 } /* canonicalcombiningclass=132 */, { 1, 10033, 395, 3, 2, UNI_LB__GL } /* lb=gl */, { 3, 184, 8906, 2, 6, UNI_KANBUN } /* iskanbun */, { 0, 8589, 865, 10, 1, UNI_SHAW } /* script=shaw */, { 5, 9277, 9008, 3, 6, UNI_SC__THAA } /* sc=thaana */, { 2, 10048, 8750, 3, 2, UNI_NV__80 } /* nv=80 */, { 0, 1631, 0, 18, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesext */, { 33, 10327, 0, 4, 0, UNI_PE } /* ispe */, { 1, 8780, 5960, 6, 13, UNI_MISCTECHNICAL } /* block=misctechnical */, { 2, 184, 867, 2, 28, UNI_PHONETICEXTSUP } /* isphoneticextensionssupplement */, { 0, 9488, 7630, 4, 9, UNI_INNEWTAILUE } /* blk=newtailue */, { 0, 9277, 8315, 3, 8, UNI_UGAR } /* sc=ugaritic */, { 1, 8884, 0, 4, 0, UNI_ext_values_index } /* ext= */, { 0, 184, 720, 3, 8, UNI_XSUX } /* iscuneiform */, { 0, 9275, 2844, 5, 10, UNI_INSC__TONELETTER } /* insc=toneletter */, { 0, 5791, 5420, 13, 4, UNI_JG__TETH } /* joininggroup=teth */, { 1, 21, 5200, 2, 14, UNI_KANASUP } /* inkanasupplement */, { 3, 186, 0, 2, 0, UNI_CE } /* ce */, { 4, 9250, 26, 5, 1, UNI_EMOD } /* emod=y */, { 1, 9235, 10135, 5, 3, UNI_CWCM } /* cwcm=yes */, { 1, 2061, 0, 14, 0, UNI_LM } /* modifierletter */, { 4, 9768, 9700, 4, 4, UNI_OLCK } /* scx=olck */, { 0, 3382, 1, 3, 1, -UNI_CE } /* ce=n */, { 20, 9270, 8583, 3, 6, UNI_INPHAGSPA } /* inphagspa */, { 1, 7218, 6587, 10, 11, UNI_LB__BB } /* linebreak=breakbefore */, { 0, 9768, 8491, 4, 7, UNI_MARC } /* scx=marchen */, { 0, 9444, 9856, 4, 4, UNI_AGE__13 } /* age=v130 */, { 0, 7418, 3, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=f */, { 1, 7651, 0, 4, 0, UNI_ITAL } /* ital */, { 3, 184, 43, 3, 8, UNI_CJKCOMPAT } /* iscjkcompat */, { 1, 3836, 9756, 17, 4, UNI_RUNR } /* scriptextensions=runr */, { 2, 9277, 8924, 3, 6, UNI_LEPC } /* sc=lepcha */, { 0, 9768, 3785, 4, 4, UNI_MANI } /* scx=mani */, { 0, 184, 510, 3, 19, UNI_CJK } /* iscjkunifiedideographs */, { 1, 10027, 5172, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=hamzaonhehgoal */, { 4, 9492, 0, 4, 0, UNI_bpt_values_index } /* bpt= */, { 13, 4791, 6411, 4, 10, UNI_INMENDEKIKAKUI } /* inmendekikakui */, { 3, 9768, 6792, 5, 3, UNI_SAMR } /* scx=samr */, { 2, 5791, 9648, 13, 4, UNI_JG__MEEM } /* joininggroup=meem */, { 0, 9768, 9804, 4, 4, UNI_TALE } /* scx=tale */, { 1, 9488, 1465, 4, 24, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningmarksforsymbols */, { 8, 10048, 10138, 3, 2, UNI_NV__38 } /* nv=38 */, { 0, 3379, 10183, 5, 4, UNI_XPOSIXSPACE } /* spaceperl */, { 5, 2224, 924, 3, 27, UNI_SUPPUAB } /* insupplementaryprivateuseareab */, { 1, 8589, 8618, 8, 3, UNI_SOYO } /* script=soyo */, { 8, 4838, 26, 15, 1, UNI_NFKCQC__Y } /* nfkcquickcheck=y */, { 10, 3836, 2913, 18, 3, UNI_SUND } /* scriptextensions=sund */, { 1, 1417, 7814, 24, 1, UNI_CCC__7 } /* canonicalcombiningclass=7 */, { 34, 1417, 78, 24, 2, UNI_CCC__AR } /* canonicalcombiningclass=ar */, { 0, 10333, 3895, 3, 3, UNI_SGNW } /* issgnw */, { 1, 184, 7139, 3, 9, UNI_COMPATJAMO } /* iscompatjamo */, { 6, 1186, 0, 2, 0, UNI_PO } /* po */, { 40, 10048, 9108, 3, 2, UNI_NV__15 } /* nv=15 */, { 0, 9488, 1906, 4, 16, UNI_INDICNUMBERFORMS } /* blk=indicnumberforms */, { 1, 9351, 9255, 4, 5, -UNI_IDS } /* ids=false */, { 32, 3421, 0, 4, 0, UNI_RUMI } /* rumi */, { 21, 9576, 0, 4, 0, UNI_GURU } /* guru */, { 10, 10048, 7899, 3, 8, UNI_NV__7_SLASH_2 } /* nv=3.50e+00 */, { 4, 184, 7594, 2, 9, UNI_LATINEXTD } /* islatinextd */, { 1, 5986, 10144, 13, 2, UNI_NV__45 } /* numericvalue=45 */, { 58, 9768, 8912, 4, 4, UNI_KHOJ } /* scx=khoj */, { 0, 3836, 9310, 17, 5, UNI_OGAM } /* scriptextensions=ogham */, { 0, 9351, 36, 4, 1, UNI_IDS } /* ids=t */, { 16, 8864, 3, 6, 1, -UNI_EMOJI } /* emoji=f */, { 1, 1417, 9181, 25, 4, UNI_CCC__30 } /* canonicalcombiningclass=ccc30 */, { 0, 184, 8407, 2, 7, UNI_DSRT } /* isdeseret */, { 0, 9444, 7814, 4, 1, UNI_AGE__7 } /* age=7 */, { 14, 7088, 37, 10, 2, UNI_BC__EN } /* bidiclass=en */, { 16, 184, 3115, 2, 4, UNI_DEVA } /* isdeva */, { 0, 8589, 3785, 7, 10, UNI_SC__MANI } /* script=manichaean */, { 8, 10296, 5039, 7, 6, UNI_POSIXXDIGIT } /* isposixxdigit */, { 2, 9250, 0, 10, 0, -UNI_EMOD } /* emod=false */, { 2, 9277, 2429, 3, 20, UNI_PHLI } /* sc=inscriptionalpahlavi */, { 6, 1417, 7874, 24, 2, UNI_CCC__23 } /* canonicalcombiningclass=23 */, { 0, 9488, 1700, 4, 23, UNI_SHORTHANDFORMATCONTROLS } /* blk=shorthandformatcontrols */, { 32, 9277, 8123, 3, 4, UNI_SC__BUGI } /* sc=bugi */, { 10, 4033, 9503, 16, 2, UNI_MC } /* generalcategory=mc */, { 0, 9872, 0, 4, 0, UNI_XPEO } /* xpeo */, { 20, 9540, 9836, 4, 4, UNI_DIA } /* dia=true */, { 0, 2912, 0, 12, 0, UNI_SUNDANESESUP } /* sundanesesup */, { 0, 7218, 5564, 10, 9, UNI_LB__QU } /* linebreak=quotation */, { 6, 9768, 7168, 4, 10, UNI_DIAK } /* scx=divesakuru */, { 0, 1465, 0, 24, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningmarksforsymbols */, { 16, 3836, 8936, 17, 6, UNI_LYCI } /* scriptextensions=lycian */, { 8, 8589, 2409, 7, 4, UNI_SC__GLAG } /* script=glag */, { 32, 9768, 9604, 4, 4, UNI_KHMR } /* scx=khmr */, { 17, 8780, 3768, 6, 17, UNI_LETTERLIKESYMBOLS } /* block=letterlikesymbols */, { 2, 8694, 0, 7, 0, UNI_wspace_values_index } /* wspace= */, { 7, 8978, 10135, 6, 3, UNI__PERL_PATWS } /* patws=yes */, { 5, 9275, 2369, 5, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* insc=consonantplaceholder */, { 1, 9768, 8291, 4, 8, UNI_TAGB } /* scx=tagbanwa */, { 3, 3133, 0, 17, 0, UNI_EBASE } /* emojimodifierbase */, { 0, 7218, 83, 10, 2, UNI_LB__CM } /* linebreak=cm */, { 0, 9277, 9245, 3, 4, UNI_SC__DOGR } /* sc=dogr */, { 0, 8780, 6193, 6, 6, UNI_INHEBREW } /* block=hebrew */, { 1, 10288, 9877, 3, 3, UNI_XSUX } /* isxsux */, { 0, 1417, 8793, 25, 5, UNI_CCC__103 } /* canonicalcombiningclass=ccc103 */, { 16, 184, 3768, 2, 17, UNI_LETTERLIKESYMBOLS } /* isletterlikesymbols */, { 0, 8780, 7675, 6, 9, UNI_PALM } /* block=palmyrene */, { 0, 8780, 8582, 6, 7, UNI_INPHAGSPA } /* block=phagspa */, { 0, 3115, 0, 4, 0, UNI_DEVA } /* deva */, { 0, 1552, 4943, 9, 15, UNI_TITLE } /* category=titlecaseletter */, { 1, 8780, 8428, 6, 7, UNI_INGRANTHA } /* block=grantha */, { 0, 8435, 3, 7, 1, -UNI_GRBASE } /* grbase=f */, { 2, 9768, 9480, 4, 4, UNI_BATK } /* scx=batk */, { 0, 8589, 9820, 7, 4, UNI_TFNG } /* script=tfng */, { 4, 10132, 5012, 3, 2, UNI_WB__SQ } /* wb=sq */, { 0, 10027, 10045, 3, 3, UNI_JG__MIM } /* jg=mim */, { 12, 7218, 34, 10, 2, UNI_LB__EX } /* linebreak=ex */, { 0, 1790, 0, 22, 0, UNI_cwcm_values_index } /* changeswhencasemapped= */, { 8, 4097, 0, 16, 0, UNI_HIGHPUSURROGATES } /* highpusurrogates */, { 4, 1417, 3572, 24, 9, UNI_CCC__BL } /* canonicalcombiningclass=belowleft */, { 2, 6609, 9836, 11, 4, UNI_DEP } /* deprecated=true */, { 0, 3097, 4017, 18, 3, UNI_DT__FIN } /* decompositiontype=fin */, { 0, 8589, 9572, 7, 4, UNI_SC__GUJR } /* script=gujr */, { 2, 1033, 0, 11, 0, UNI_ENCLOSEDCJK } /* enclosedcjk */, { 2, 1591, 3684, 3, 16, UNI_ETHIOPICEXTA } /* inethiopicextendeda */, { 2, 1790, 9836, 22, 4, UNI_CWCM } /* changeswhencasemapped=true */, { 1, 1417, 9146, 25, 4, UNI_CCC__23 } /* canonicalcombiningclass=ccc23 */, { 0, 9345, 36, 5, 1, UNI_XIDC } /* xidc=t */, { 2, 9277, 9584, 3, 4, UNI_HLUW } /* sc=hluw */, { 32, 8858, 36, 6, 1, UNI_ECOMP } /* ecomp=t */, { 0, 184, 5739, 2, 12, UNI_GRBASE } /* isgraphemebase */, { 5, 184, 4161, 2, 16, UNI_LINEARBSYLLABARY } /* islinearbsyllabary */, { 0, 184, 17, 3, 1, UNI_CO } /* isco */, { 0, 1966, 4417, 22, 16, UNI_INSC__VOWELINDEPENDENT } /* indicsyllabiccategory=vowelindependent */, { 0, 3836, 5550, 17, 14, UNI_PHLP } /* scriptextensions=psalterpahlavi */, { 1, 1025, 0, 2, 0, UNI_NO } /* no */, { 0, 5986, 7883, 13, 8, UNI_NV__1_SLASH_320 } /* numericvalue=3.13e-03 */, { 1, 5791, 9456, 13, 4, UNI_JG__ALEF } /* joininggroup=alef */, { 1, 8589, 7188, 7, 4, UNI_KHAR } /* script=khar */, { 0, 3836, 8888, 17, 4, UNI_HATR } /* scriptextensions=hatr */, { 0, 9640, 10135, 4, 3, UNI_LOE } /* loe=yes */, { 11, 7228, 9255, 10, 5, -UNI_XPOSIXLOWER } /* lowercase=false */, { 1, 8512, 9295, 7, 5, UNI_NFCQC__M } /* nfkcqc=maybe */, { 33, 9508, 7859, 4, 2, UNI_CCC__20 } /* ccc=20 */, { 8, 1856, 26, 22, 1, UNI_CWU } /* changeswhenuppercased=y */, { 1, 8780, 9085, 6, 5, UNI_INBATAK } /* block=batak */, { 9, 9536, 1025, 4, 2, -UNI_DEP } /* dep=no */, { 17, 8688, 4435, 4, 13, UNI_ARABICEXTA } /* isarabicextendeda */, { 0, 8780, 7630, 6, 9, UNI_INNEWTAILUE } /* block=newtailue */, { 1, 10024, 4305, 3, 16, UNI_PO } /* gc=otherpunctuation */, { 0, 8997, 1025, 5, 2, -UNI_TERM } /* term=no */, { 65, 6554, 10135, 11, 3, UNI_IDC } /* idcontinue=yes */, { 32, 9508, 9211, 5, 4, UNI_CCC__36 } /* ccc=ccc36 */, { 10, 10033, 6697, 3, 11, UNI_LB__IN } /* lb=inseperable */, { 1, 8936, 0, 4, 0, UNI_LYCI } /* lyci */, { 2, 1269, 0, 24, 0, UNI_COMPEX } /* fullcompositionexclusion */, { 0, 8589, 8291, 7, 4, UNI_SC__TAGB } /* script=tagb */, { 1, 8780, 4161, 6, 16, UNI_LINEARBSYLLABARY } /* block=linearbsyllabary */, { 1, 184, 9740, 2, 4, UNI_QAAI } /* isqaai */, { 2, 8780, 8219, 6, 8, UNI_INJAVANESE } /* block=javanese */, { 0, 8780, 2224, 6, 21, UNI_ININSCRIPTIONALPARTHIAN } /* block=inscriptionalparthian */, { 3, 2874, 0, 19, 0, UNI_OTTOMANSIYAQNUMBERS } /* ottomansiyaqnumbers */, { 6, 3259, 1, 18, 1, -UNI_IDSB } /* idsbinaryoperator=n */, { 8, 2569, 3504, 20, 7, UNI_VO__R } /* verticalorientation=rotated */, { 34, 9768, 7188, 4, 10, UNI_KHAR } /* scx=kharoshthi */, { 16, 184, 1025, 2, 2, UNI_NO } /* isno */, { 1, 10024, 133, 3, 4, UNI_M } /* gc=mark */, { 2, 10024, 45, 3, 2, UNI_CO } /* gc=co */, { 1, 9488, 3768, 4, 17, UNI_LETTERLIKESYMBOLS } /* blk=letterlikesymbols */, { 81, 2224, 4338, 3, 15, UNI_SUPMATHOPERATORS } /* insupmathoperators */, { 12, 2224, 317, 3, 32, UNI_SUPMATHOPERATORS } /* insupplementalmathematicaloperators */, { 8, 7088, 4493, 10, 15, UNI_BC__CS } /* bidiclass=commonseparator */, { 1, 10048, 9380, 3, 3, UNI_NV__1_SLASH_8 } /* nv=1/8 */, { 1, 184, 1791, 3, 20, UNI_CWCM } /* ischangeswhencasemapped */, { 2, 1834, 0, 21, 0, UNI_CWT } /* changeswhentitlecased */, { 1, 9277, 7278, 3, 10, UNI_XPEO } /* sc=oldpersian */, { 0, 3097, 7, 18, 3, UNI_DT__CAN } /* decompositiontype=can */, { 20, 184, 7358, 2, 10, UNI_SAUR } /* issaurashtra */, { 0, 5116, 10135, 14, 3, UNI_EMOD } /* emojimodifier=yes */, { 3, 10296, 3, 3, 1, UNI_PF } /* ispf */, { 0, 10132, 18, 3, 2, UNI_RI } /* wb=ri */, { 7, 8512, 0, 7, 0, UNI_nfkcqc_values_index } /* nfkcqc= */, { 16, 9488, 2912, 4, 9, UNI_INSUNDANESE } /* blk=sundanese */, { 4, 9768, 8187, 4, 8, UNI_HIRA } /* scx=hiragana */, { 2, 9608, 0, 4, 0, UNI_KITS } /* kits */, { 5, 9768, 5550, 4, 14, UNI_PHLP } /* scx=psalterpahlavi */, { 1, 1552, 4017, 9, 16, UNI_PF } /* category=finalpunctuation */, { 0, 9512, 0, 4, 0, UNI_CHRS } /* chrs */, { 1, 7325, 10102, 3, 3, UNI_IN__5_DOT_2 } /* in=v52 */, { 32, 9277, 8115, 3, 8, UNI_BASS } /* sc=bassavah */, { 0, 7218, 8701, 10, 7, UNI_LB__ZW } /* linebreak=zwspace */, { 4, 3836, 7567, 17, 9, UNI_SIND } /* scriptextensions=khudawadi */, { 4, 10048, 7814, 3, 1, UNI_NV__7 } /* nv=7 */, { 0, 9768, 8942, 4, 6, UNI_LYDI } /* scx=lydian */, { 2, 8930, 0, 6, 0, UNI_lower_values_index } /* lower= */, { 5, 9768, 2913, 5, 8, UNI_SUND } /* scx=sundanese */, { 0, 184, 2950, 2, 19, UNI_SUPARROWSB } /* issupplementalarrowsb */, { 0, 3836, 9008, 17, 4, UNI_THAA } /* scriptextensions=thaa */, { 0, 10048, 7971, 3, 8, UNI_NV__7_SLASH_12 } /* nv=5.83e-01 */, { 12, 8589, 8414, 7, 4, UNI_ELBA } /* script=elba */, { 0, 7738, 26, 9, 1, UNI_XIDS } /* xidstart=y */, { 1, 8400, 10135, 7, 3, UNI_COMPEX } /* compex=yes */, { 0, 9596, 6741, 4, 11, UNI_GCB__L } /* hst=leadingjamo */, { 1, 8780, 4401, 6, 16, UNI_TANGUTSUP } /* block=tangutsupplement */, { 1, 8589, 2913, 8, 3, UNI_SUND } /* script=sund */, { 0, 10182, 6554, 6, 6, UNI__PERL_IDCONT } /* _perl_idcont */, { 1, 9488, 9828, 4, 4, UNI_INTHAI } /* blk=thai */, { 1, 8589, 9504, 7, 4, UNI_CANS } /* script=cans */, { 2, 8589, 9496, 7, 4, UNI_SC__BUHD } /* script=buhd */, { 1, 8780, 4145, 6, 16, UNI_LINEARBIDEOGRAMS } /* block=linearbideograms */, { 0, 8780, 8477, 6, 7, UNI_INMAKASAR } /* block=makasar */, { 0, 1552, 1587, 9, 1, UNI_Z } /* category=z */, { 1, 10048, 10140, 3, 2, UNI_NV__39 } /* nv=39 */, { 2, 9588, 0, 4, 0, UNI_HMNG } /* hmng */, { 0, 2760, 6763, 19, 11, UNI_LB__H3 } /* hangulsyllabletype=lvtsyllable */, { 3, 8978, 1, 6, 1, -UNI__PERL_PATWS } /* patws=n */, { 5, 5791, 9355, 13, 5, UNI_JG__ZHAIN } /* joininggroup=zhain */, { 2, 8589, 2485, 7, 4, UNI_SC__MONG } /* script=mong */, { 0, 9556, 24, 4, 1, UNI_GCB__L } /* gcb=l */, { 2, 9444, 10087, 4, 3, UNI_AGE__3_DOT_2 } /* age=v32 */, { 1, 1417, 7806, 24, 1, UNI_CCC__6 } /* canonicalcombiningclass=6 */, { 0, 5986, 8750, 13, 4, UNI_NV__8000 } /* numericvalue=8000 */, { 3, 9488, 1631, 4, 15, UNI_GEOMETRICSHAPES } /* blk=geometricshapes */, { 5, 8780, 2409, 6, 20, UNI_GLAGOLITICSUP } /* block=glagoliticsupplement */, { 1, 8780, 7358, 6, 10, UNI_INSAURASHTRA } /* block=saurashtra */, { 3, 4791, 4290, 3, 15, UNI_MYANMAREXTB } /* inmyanmarextendedb */, { 16, 7076, 8116, 3, 7, UNI_INBASSAVAH } /* inbassavah */, { 1, 9528, 9836, 4, 4, UNI_CWU } /* cwu=true */, { 5, 4033, 5497, 16, 11, UNI_MC } /* generalcategory=spacingmark */, { 0, 5986, 10142, 13, 2, UNI_NV__44 } /* numericvalue=44 */, { 4, 8780, 0, 12, 0, UNI_INCARIAN } /* block=carian */, { 2, 9277, 8582, 3, 7, UNI_SC__PHAG } /* sc=phagspa */, { 0, 9277, 9516, 3, 4, UNI_SC__CPRT } /* sc=cprt */, { 5, 9444, 7781, 4, 1, UNI_AGE__4 } /* age=4 */, { 0, 4113, 6013, 3, 12, UNI_VERTICALFORMS } /* inverticalforms */, { 0, 5791, 3, 15, 1, UNI_JG__KAF } /* joininggroup=kaf */, { 12, 10006, 1025, 3, 2, -UNI_DI } /* di=no */, { 34, 1505, 5755, 5, 10, UNI_GREEKEXT } /* ingreekextended */, { 2, 8589, 7675, 7, 4, UNI_PALM } /* script=palm */, { 1, 1417, 7858, 24, 2, UNI_CCC__22 } /* canonicalcombiningclass=22 */, { 17, 1417, 4912, 24, 2, UNI_CCC__0 } /* canonicalcombiningclass=nr */, { 0, 7155, 8443, 3, 6, UNI_HANO } /* ishanunoo */, { 2, 6061, 1025, 12, 2, -UNI_BIDIC } /* bidicontrol=no */, { 1, 7438, 72, 10, 2, UNI_WB__LE } /* wordbreak=le */, { 0, 8997, 0, 5, 0, UNI_term_values_index } /* term= */, { 0, 10290, 5718, 6, 5, UNI_XPOSIXALNUM } /* xposixalnum */, { 7, 10048, 9424, 3, 4, UNI_NV__3_SLASH_64 } /* nv=3/64 */, { 0, 478, 0, 31, 0, UNI_MATHALPHANUM } /* mathematicalalphanumericsymbols */, { 0, 1979, 7, 10, 1, UNI_CASEDLETTER } /* category=lc */, { 0, 1114, 9836, 26, 4, UNI_CWKCF } /* changeswhennfkccasefolded=true */, { 1, 21, 1677, 2, 14, UNI_LATINEXTA } /* inlatinextendeda */, { 2, 9997, 3349, 3, 18, UNI_BC__B } /* bc=paragraphseparator */, { 0, 42, 0, 3, 0, UNI_CJK } /* cjk */, { 15, 10333, 1176, 3, 3, UNI_SORA } /* issora */, { 10, 9488, 4868, 4, 15, UNI_NARB } /* blk=oldnortharabian */, { 15, 9488, 2855, 4, 9, UNI_INMONGOLIAN } /* blk=mongolian */, { 0, 2203, 0, 4, 0, UNI_HAN } /* hani */, { 0, 4116, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbols */, { 5, 10012, 865, 3, 1, UNI_EA__W } /* ea=w */, { 3, 8688, 29, 4, 4, UNI_ARAB } /* isarabic */, { 1, 8589, 4273, 7, 7, UNI_SC__MYMR } /* script=myanmar */, { 12, 7218, 6697, 10, 11, UNI_LB__IN } /* linebreak=inseperable */, { 1, 6420, 9311, 3, 4, UNI_INOGHAM } /* inogham */, { 5, 7228, 26, 10, 1, UNI_XPOSIXLOWER } /* lowercase=y */, { 0, 7218, 751, 10, 2, UNI_LB__CL } /* linebreak=cl */, { 8, 9508, 1179, 4, 2, UNI_CCC__BL } /* ccc=bl */, { 19, 2760, 5973, 19, 13, UNI_HST__NA } /* hangulsyllabletype=notapplicable */, { 8, 8589, 2140, 7, 8, UNI_SC__CYRL } /* script=cyrillic */, { 0, 5739, 1025, 13, 2, -UNI_GRBASE } /* graphemebase=no */, { 0, 3133, 36, 18, 1, UNI_EBASE } /* emojimodifierbase=t */, { 0, 184, 1631, 2, 23, UNI_GEOMETRICSHAPESEXT } /* isgeometricshapesextended */, { 1, 8589, 4448, 7, 4, UNI_BAMU } /* script=bamu */, { 4, 9488, 3043, 4, 18, UNI_HALFMARKS } /* blk=combininghalfmarks */, { 2, 1393, 0, 24, 0, UNI_ARABICPFB } /* arabicpresentationformsb */, { 0, 9277, 4868, 3, 15, UNI_NARB } /* sc=oldnortharabian */, { 1, 10290, 62, 6, 5, UNI_XPOSIXGRAPH } /* xposixgraph */, { 0, 10027, 5420, 3, 4, UNI_JG__TETH } /* jg=teth */, { 2, 184, 4569, 3, 14, UNI_CURRENCYSYMBOLS } /* iscurrencysymbols */, { 2, 10024, 106, 3, 6, UNI_S } /* gc=symbol */, { 1, 10048, 8756, 3, 5, UNI_NV__90000 } /* nv=90000 */, { 0, 3836, 3751, 17, 17, UNI_KITS } /* scriptextensions=khitansmallscript */, { 0, 184, 3080, 3, 17, UNI_COPTICEPACTNUMBERS } /* iscopticepactnumbers */, { 6, 8780, 8179, 6, 8, UNI_INGURMUKHI } /* block=gurmukhi */, { 3, 3439, 0, 18, 0, UNI_SMALLKANAEXT } /* smallkanaextension */, { 6, 1537, 2994, 24, 13, UNI_INPC__BOTTOMANDLEFT } /* indicpositionalcategory=bottomandleft */, { 2, 1417, 9919, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=202 */, { 64, 6231, 1467, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* incombiningmarksforsymbols */, { 0, 8780, 1700, 6, 23, UNI_SHORTHANDFORMATCONTROLS } /* block=shorthandformatcontrols */, { 0, 21, 3549, 4, 8, UNI_ALCHEMICAL } /* inalchemical */, { 7, 21, 5284, 2, 7, UNI_LISUSUP } /* inlisusup */, { 1, 2224, 3440, 3, 17, UNI_SMALLKANAEXT } /* insmallkanaextension */, { 0, 184, 1, 3, 1, UNI_CN } /* iscn */, { 0, 10132, 400, 3, 6, UNI_WB__FO } /* wb=format */, { 1, 3836, 8942, 17, 6, UNI_LYDI } /* scriptextensions=lydian */, { 3, 5060, 0, 14, 0, UNI_ci_values_index } /* caseignorable= */, { 34, 9768, 3598, 4, 17, UNI_AGHB } /* scx=caucasianalbanian */, { 1, 8509, 751, 4, 28, UNI_ENCLOSEDALPHANUMSUP } /* inenclosedalphanumericsupplement */, { 11, 1822, 0, 2, 0, UNI_NL } /* nl */, { 8, 9277, 4703, 3, 15, UNI_ARMI } /* sc=imperialaramaic */, { 9, 8780, 5752, 6, 13, UNI_GREEKEXT } /* block=greekextended */, { 0, 8589, 8123, 7, 8, UNI_SC__BUGI } /* script=buginese */, { 6, 184, 3026, 3, 7, UNI_CHER } /* ischerokee */, { 0, 1537, 2549, 24, 12, UNI_INPC__TOPANDBOTTOM } /* indicpositionalcategory=topandbottom */, { 2, 9540, 1, 4, 1, -UNI_DIA } /* dia=n */, { 0, 7318, 10102, 10, 3, UNI_IN__5_DOT_2 } /* presentin=v52 */, { 0, 9508, 9468, 4, 4, UNI_CCC__216 } /* ccc=atar */, { 0, 184, 9560, 2, 4, UNI_GONG } /* isgong */, { 0, 2161, 0, 20, 0, UNI_EXTPICT } /* extendedpictographic */, { 0, 8768, 1025, 6, 2, -UNI_BIDIC } /* bidic=no */, { 14, 8780, 3295, 6, 9, UNI_LATINEXTA } /* block=latinexta */, { 2, 2280, 2875, 3, 18, UNI_OTTOMANSIYAQNUMBERS } /* isottomansiyaqnumbers */, { 3, 10296, 8979, 3, 4, UNI__PERL_PATWS } /* ispatws */, { 1, 9508, 7778, 4, 2, UNI_CCC__21 } /* ccc=21 */, { 3, 7325, 9397, 3, 3, UNI_IN__2_DOT_1 } /* in=2.1 */, { 4, 4868, 0, 15, 0, UNI_NARB } /* oldnortharabian */, { 32, 2098, 0, 21, 0, UNI_CJKCOMPATFORMS } /* cjkcompatibilityforms */, { 0, 3295, 0, 9, 0, UNI_LATINEXTA } /* latinexta */, { 3, 3836, 8123, 17, 8, UNI_BUGI } /* scriptextensions=buginese */, { 1, 9488, 3241, 4, 11, UNI_GEORGIANSUP } /* blk=georgiansup */, { 8, 1417, 8805, 25, 5, UNI_CCC__118 } /* canonicalcombiningclass=ccc118 */, { 2, 9277, 7666, 3, 9, UNI_ORKH } /* sc=oldturkic */, { 1, 8774, 10135, 6, 3, UNI_BIDIM } /* bidim=yes */, { 5, 8954, 0, 7, 0, -UNI__PERL_NCHAR } /* nchar=n */, { 0, 184, 1822, 2, 2, UNI_NL } /* isnl */, { 0, 10310, 8301, 4, 6, UNI_INTIFINAGH } /* intifinagh */, { 0, 8780, 114, 7, 24, UNI_DIACRITICALS } /* block=combiningdiacriticalmarks */, { 0, 1677, 0, 23, 0, UNI_LATINEXTADDITIONAL } /* latinextendedadditional */, { 3, 2161, 1, 21, 1, -UNI_EXTPICT } /* extendedpictographic=n */, { 2, 1552, 406, 9, 7, UNI_XPOSIXCNTRL } /* category=control */, { 11, 7218, 58, 10, 2, UNI_LB__ID } /* linebreak=id */, { 16, 4916, 1116, 3, 3, UNI_TANG } /* istang */, { 0, 5578, 495, 14, 7, UNI_SB__NU } /* sentencebreak=numeric */, { 0, 1417, 8825, 24, 3, UNI_CCC__130 } /* canonicalcombiningclass=130 */, { 1, 10288, 5039, 8, 6, UNI_XPOSIXXDIGIT } /* isxposixxdigit */, { 1, 9444, 9852, 4, 4, UNI_AGE__12_DOT_1 } /* age=v121 */, { 0, 9277, 9448, 3, 4, UNI_AGHB } /* sc=aghb */, { 0, 5986, 7827, 13, 8, UNI_NV__1_SLASH_5 } /* numericvalue=2.00e-01 */, { 3, 1188, 8653, 3, 6, UNI_INTAIVIET } /* intaiviet */, { 4, 2182, 5497, 21, 11, UNI_GCB__SM } /* graphemeclusterbreak=spacingmark */, { 1, 8589, 9676, 7, 4, UNI_NARB } /* script=narb */, { 2, 4369, 0, 6, 0, UNI_SYRC } /* syriac */, { 2, 4305, 0, 16, 0, UNI_PO } /* otherpunctuation */, { 0, 9524, 1025, 4, 2, -UNI_CWT } /* cwt=no */, { 2, 1966, 728, 22, 6, UNI_INSC__NUMBER } /* indicsyllabiccategory=number */, { 12, 2287, 0, 4, 0, UNI_SINH } /* sinh */, { 0, 10009, 5012, 3, 6, UNI_DT__SQR } /* dt=square */, { 0, 9488, 8421, 4, 7, UNI_INELYMAIC } /* blk=elymaic */, { 1, 9277, 7657, 3, 9, UNI_SC__PERM } /* sc=oldpermic */, { 2, 9340, 0, 5, 0, UNI_VSSUP } /* vssup */, { 1, 8882, 0, 6, 0, UNI_grext_values_index } /* grext= */, { 0, 9277, 8219, 3, 8, UNI_SC__JAVA } /* sc=javanese */, { 3, 5791, 2637, 13, 3, UNI_JG__YEH } /* joininggroup=yeh */, { 21, 3836, 8498, 17, 4, UNI_MULT } /* scriptextensions=mult */, { 5, 8774, 1, 6, 1, -UNI_BIDIM } /* bidim=n */, { 16, 1188, 9336, 3, 4, UNI_INTAKRI } /* intakri */, { 18, 10048, 7806, 3, 1, UNI_NV__6 } /* nv=6 */, { 1, 3836, 8131, 17, 8, UNI_DUPL } /* scriptextensions=duployan */, { 2, 5739, 1, 13, 1, -UNI_GRBASE } /* graphemebase=n */, { 1, 8978, 9836, 6, 4, UNI__PERL_PATWS } /* patws=true */, { 5, 9351, 1025, 4, 2, -UNI_IDS } /* ids=no */, { 1, 10033, 96, 3, 10, UNI_LB__AL } /* lb=alphabetic */, { 0, 7325, 10099, 3, 3, UNI_IN__5_DOT_1 } /* in=v51 */, { 0, 1537, 6621, 3, 5, UNI_DOMINO } /* indomino */, { 1, 9488, 719, 4, 9, UNI_INCUNEIFORM } /* blk=cuneiform */, { 10, 9488, 8603, 4, 7, UNI_SHAW } /* blk=shavian */, { 12, 9240, 0, 5, 0, UNI_dash_values_index } /* dash= */, { 5, 10027, 6373, 3, 12, UNI_JG__MANICHAEANPE } /* jg=manichaeanpe */, { 0, 1552, 4305, 9, 16, UNI_PO } /* category=otherpunctuation */, { 1, 184, 8115, 2, 8, UNI_BASS } /* isbassavah */, { 3, 8894, 36, 6, 1, UNI_JOINC } /* joinc=t */, { 0, 9488, 6409, 4, 12, UNI_INMENDEKIKAKUI } /* blk=mendekikakui */, { 0, 8449, 9255, 7, 5, -UNI_HYPHEN } /* hyphen=false */, { 0, 8762, 26, 6, 1, UNI_XPOSIXALPHA } /* alpha=y */, { 2, 9277, 7428, 3, 10, UNI_WARA } /* sc=warangciti */, { 0, 2569, 3493, 20, 18, UNI_VO__TR } /* verticalorientation=transformedrotated */, { 0, 3836, 8315, 17, 8, UNI_UGAR } /* scriptextensions=ugaritic */, { 0, 8589, 5843, 7, 9, UNI_SC__MLYM } /* script=malayalam */, { 1, 1585, 0, 14, 0, UNI_BYZANTINEMUSIC } /* byzantinemusic */, { 0, 10027, 8155, 3, 8, UNI_JG__FARSIYEH } /* jg=farsiyeh */, { 0, 6805, 287, 6, 29, UNI_MISCMATHSYMBOLSB } /* inmiscellaneousmathematicalsymbolsb */, { 2, 9488, 9310, 4, 5, UNI_INOGHAM } /* blk=ogham */, { 4, 6231, 3796, 3, 3, UNI_INCHAM } /* incham */, { 8, 184, 2931, 2, 19, UNI_SUPARROWSA } /* issupplementalarrowsa */, { 17, 7076, 7069, 3, 9, UNI_ASCII } /* inbasiclatin */, { 0, 1441, 0, 24, 0, UNI_CJKSYMBOLS } /* cjksymbolsandpunctuation */, { 2, 8589, 4145, 7, 7, UNI_SC__LINB } /* script=linearb */, { 4, 7660, 0, 4, 0, UNI_PERM } /* perm */, { 18, 9768, 3937, 4, 8, UNI_BOPO } /* scx=bopomofo */, { 0, 9277, 3079, 3, 4, UNI_SC__COPT } /* sc=copt */, { 3, 8617, 0, 7, 0, UNI_SOYO } /* soyombo */, { 2, 4916, 8300, 3, 7, UNI_TFNG } /* istifinagh */, { 2, 3836, 8912, 17, 4, UNI_KHOJ } /* scriptextensions=khoj */, { 13, 9508, 7859, 4, 3, UNI_WB__EB } /* ccc=200 */, { 0, 9768, 9732, 4, 4, UNI_PRTI } /* scx=prti */, { 0, 2784, 7506, 4, 7, UNI_ARABICPFB } /* inarabicpfb */, { 1, 6061, 0, 11, 0, UNI_BIDIC } /* bidicontrol */, { 0, 9444, 7469, 4, 1, UNI_AGE__5 } /* age=5 */, { 1, 9768, 9325, 4, 5, UNI_RUNR } /* scx=runic */, { 0, 6231, 2141, 3, 20, UNI_CYRILLICSUP } /* incyrillicsupplementary */, { 1, 8589, 9008, 7, 4, UNI_SC__THAA } /* script=thaa */, { 0, 184, 5040, 2, 5, UNI_XPOSIXDIGIT } /* isdigit */, { 1, 8589, 8876, 7, 6, UNI_GOTH } /* script=gothic */, { 8, 9768, 57, 4, 2, UNI_YI } /* scx=yi */, { 0, 4049, 0, 16, 0, UNI_GEORGIANEXT } /* georgianextended */, { 0, 1189, 495, 3, 2, UNI_NT__NU } /* nt=nu */, { 0, 3374, 36, 11, 1, UNI_XPOSIXSPACE } /* whitespace=t */, { 0, 206, 0, 2, 0, UNI_PI } /* pi */, { 2, 3379, 0, 5, 0, UNI_XPOSIXSPACE } /* space */, { 20, 3836, 9285, 17, 5, UNI_LIMB } /* scriptextensions=limbu */, { 5, 3836, 3169, 17, 4, UNI_ETHI } /* scriptextensions=ethi */, { 0, 5578, 34, 14, 6, UNI_SB__EX } /* sentencebreak=extend */, { 0, 3836, 7666, 17, 9, UNI_ORKH } /* scriptextensions=oldturkic */, { 0, 8780, 9325, 6, 5, UNI_INRUNIC } /* block=runic */, { 1, 9014, 0, 5, 0, UNI_UIDEO } /* uideo */, { 2, 10024, 406, 3, 7, UNI_XPOSIXCNTRL } /* gc=control */, { 8, 184, 3349, 2, 18, UNI_ZP } /* isparagraphseparator */, { 1, 10126, 3504, 3, 7, UNI_VO__R } /* vo=rotated */, { 0, 10009, 2569, 3, 8, UNI_DT__VERT } /* dt=vertical */, { 3, 5674, 3, 13, 1, -UNI_BIDIM } /* bidimirrored=f */, { 0, 9488, 951, 4, 28, UNI_VSSUP } /* blk=variationselectorssupplement */, { 37, 5324, 6279, 4, 10, UNI_MAHJONG } /* inmahjongtiles */, { 18, 9508, 8801, 4, 3, UNI_CCC__107 } /* ccc=107 */, { 0, 9768, 6884, 4, 11, UNI_HMNG } /* scx=pahawhhmong */, { 1, 5986, 10148, 13, 2, UNI_NV__47 } /* numericvalue=47 */, { 1, 8780, 5200, 6, 7, UNI_KANASUP } /* block=kanasup */, { 4, 9768, 0, 4, 0, UNI_scx_values_index } /* scx= */, { 28, 7738, 0, 4, 0, UNI_XIDS } /* xids */, { 0, 5778, 0, 13, 0, UNI_IPAEXT } /* ipaextensions */, { 2, 7738, 9836, 9, 4, UNI_XIDS } /* xidstart=true */, { 0, 1768, 9255, 22, 5, -UNI_CWCF } /* changeswhencasefolded=false */, { 0, 10048, 9913, 3, 3, UNI_NV__2_SLASH_3 } /* nv=2/3 */, { 2, 6609, 26, 11, 1, UNI_DEP } /* deprecated=y */, { 34, 21, 1007, 3, 26, UNI_ANCIENTGREEKMUSIC } /* inancientgreekmusicalnotation */, { 0, 2182, 5585, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=eb */, { 0, 1988, 10135, 22, 3, UNI_LOE } /* logicalorderexception=yes */, { 0, 184, 3367, 2, 17, UNI__PERL_PATWS } /* ispatternwhitespace */, { 2, 3385, 26, 18, 1, UNI_RI } /* regionalindicator=y */, { 1, 184, 6012, 2, 13, UNI_VERTICALFORMS } /* isverticalforms */, { 1, 9270, 6885, 3, 10, UNI_INPAHAWHHMONG } /* inpahawhhmong */, { 1, 9768, 7428, 4, 4, UNI_WARA } /* scx=wara */, { 1, 8780, 2076, 6, 15, UNI_TRANSPORTANDMAP } /* block=transportandmap */, { 2, 78, 0, 4, 0, UNI_ARAB } /* arab */, { 0, 9275, 1489, 5, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* insc=consonantsucceedingrepha */, { 12, 9277, 7660, 3, 4, UNI_SC__PERM } /* sc=perm */, { 3, 184, 1922, 2, 22, UNI_DIACRITICALSFORSYMBOLS } /* isdiacriticalsforsymbols */, { 2, 8589, 9283, 7, 4, UNI_PHLI } /* script=phli */, { 6, 10024, 1025, 3, 2, UNI_NO } /* gc=no */, { 0, 10009, 2569, 3, 4, UNI_DT__VERT } /* dt=vert */, { 6, 4033, 2349, 16, 20, UNI_PC } /* generalcategory=connectorpunctuation */, { 0, 10027, 5908, 3, 13, UNI_JG__MANICHAEANTAW } /* jg=manichaeantaw */, { 9, 10132, 1218, 3, 8, UNI_WB__KA } /* wb=katakana */, { 8, 7228, 0, 10, 0, UNI_lower_values_index } /* lowercase= */, { 0, 8780, 8841, 7, 5, UNI_INCHAKMA } /* block=chakma */, { 1, 184, 2, 3, 1, UNI_CI } /* isci */, { 0, 9768, 4928, 4, 5, UNI_TAML } /* scx=tamil */, { 3, 5746, 10135, 6, 3, UNI_EBASE } /* ebase=yes */, { 1, 9768, 1218, 4, 8, UNI_KANA } /* scx=katakana */, { 1, 2224, 4370, 3, 8, UNI_SYRIACSUP } /* insyriacsup */, { 0, 10024, 1822, 3, 2, UNI_NL } /* gc=nl */, { 16, 184, 1823, 2, 9, UNI_XPOSIXLOWER } /* islowercase */, { 16, 10048, 7979, 3, 8, UNI_NV__3_SLASH_5 } /* nv=6.00e-01 */, { 3, 3379, 1, 6, 1, -UNI_XPOSIXSPACE } /* space=n */, { 4, 1552, 1186, 9, 2, UNI_PO } /* category=po */, { 0, 6623, 2876, 4, 17, UNI_OTTOMANSIYAQNUMBERS } /* inottomansiyaqnumbers */, { 17, 9277, 8171, 3, 8, UNI_SC__GUJR } /* sc=gujarati */, { 4, 9508, 9201, 5, 4, UNI_CCC__34 } /* ccc=ccc34 */, { 2, 9488, 42, 4, 36, UNI_CJKCOMPATIDEOGRAPHSSUP } /* blk=cjkcompatibilityideographssupplement */, { 0, 10048, 9420, 3, 4, UNI_NV__3_SLASH_20 } /* nv=3/20 */, { 2, 9346, 0, 4, 0, UNI_idc_values_index } /* idc= */, { 0, 10027, 1511, 3, 3, UNI_JG__HAH } /* jg=hah */, { 0, 10027, 5340, 3, 14, UNI_JG__MANICHAEANFIVE } /* jg=manichaeanfive */, { 0, 2912, 0, 19, 0, UNI_SUNDANESESUP } /* sundanesesupplement */, { 17, 9768, 719, 4, 9, UNI_XSUX } /* scx=cuneiform */, { 0, 3259, 0, 4, 0, UNI_IDSB } /* idsb */, { 0, 8589, 8582, 7, 7, UNI_SC__PHAG } /* script=phagspa */, { 17, 1552, 9503, 9, 2, UNI_MC } /* category=mc */, { 14, 3836, 7684, 17, 9, UNI_PAUC } /* scriptextensions=paucinhau */, { 0, 4916, 4944, 3, 14, UNI_TITLE } /* istitlecaseletter */, { 5, 9496, 0, 4, 0, UNI_BUHD } /* buhd */, { 0, 9508, 7858, 4, 2, UNI_CCC__22 } /* ccc=22 */, { 1, 184, 1319, 2, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsexta */, { 1, 10296, 0, 12, 0, UNI_POSIXBLANK } /* isposixblank */, { 1, 6928, 1, 11, 1, -UNI_SD } /* softdotted=n */, { 2, 3836, 9002, 17, 4, UNI_TELU } /* scriptextensions=telu */, { 6, 184, 3683, 2, 11, UNI_ETHIOPICEXT } /* isethiopicext */, { 9, 9290, 9255, 5, 5, -UNI_MATH } /* math=false */, { 0, 8780, 895, 6, 28, UNI_SUPPUAA } /* block=supplementaryprivateuseareaa */, { 16, 8219, 0, 4, 0, UNI_JAVA } /* java */, { 0, 9488, 8442, 4, 7, UNI_INHANUNOO } /* blk=hanunoo */, { 0, 5791, 4225, 13, 16, UNI_JG__MANICHAEANTWENTY } /* joininggroup=manichaeantwenty */, { 19, 184, 6409, 2, 4, UNI_MEND } /* ismend */, { 3, 5037, 9255, 9, 5, -UNI_XPOSIXXDIGIT } /* hexdigit=false */, { 9, 9560, 0, 4, 0, UNI_GONG } /* gong */, { 0, 117, 2226, 4, 19, UNI_ININSCRIPTIONALPARTHIAN } /* ininscriptionalparthian */, { 3, 8589, 9512, 7, 4, UNI_CHRS } /* script=chrs */, { 3, 5739, 0, 13, 0, UNI_grbase_values_index } /* graphemebase= */, { 0, 7218, 6169, 10, 4, UNI_LB__GL } /* linebreak=glue */, { 0, 184, 1901, 3, 21, UNI_INDICNUMBERFORMS } /* iscommonindicnumberforms */, { 0, 10024, 7, 3, 1, UNI_C } /* gc=c */, { 1, 117, 5779, 3, 5, UNI_IPAEXT } /* inipaext */, { 1, 8688, 15, 4, 2, UNI_ARAB } /* isarab */, { 4, 9444, 9848, 4, 4, UNI_AGE__12 } /* age=v120 */, { 3, 9768, 9664, 4, 3, UNI_MRO } /* scx=mro */, { 16, 9460, 0, 4, 0, UNI_ARMI } /* armi */, { 1, 8589, 3895, 8, 3, UNI_SGNW } /* script=sgnw */, { 2, 3836, 8407, 17, 7, UNI_DSRT } /* scriptextensions=deseret */, { 0, 10048, 9050, 3, 5, UNI_NV__1_SLASH_160 } /* nv=1/160 */, { 1, 9768, 9008, 4, 4, UNI_THAA } /* scx=thaa */, { 14, 8960, 0, 6, 0, UNI_nfcqc_values_index } /* nfcqc= */, { 3, 9262, 8554, 3, 7, UNI_SB__LE } /* sb=oletter */, { 1, 8267, 36, 8, 1, UNI_RADICAL } /* radical=t */, { 0, 8855, 0, 2, 0, UNI_CF } /* cf */, { 8, 1417, 184, 24, 2, UNI_CCC__IS } /* canonicalcombiningclass=is */, { 0, 9250, 36, 5, 1, UNI_EMOD } /* emod=t */, { 0, 7155, 8188, 3, 7, UNI_HIRA } /* ishiragana */, { 19, 9556, 5497, 4, 11, UNI_GCB__SM } /* gcb=spacingmark */, { 2, 184, 6061, 2, 5, UNI_BIDIC } /* isbidic */, { 2, 7540, 10135, 9, 3, UNI_EXT } /* extender=yes */, { 3, 8780, 8470, 6, 7, UNI_INLINEARA } /* block=lineara */, { 8, 10291, 10308, 5, 5, UNI_POSIXPRINT } /* posixprint */, { 0, 10027, 6313, 3, 12, UNI_JG__MALAYALAMNGA } /* jg=malayalamnga */, { 3, 10048, 7469, 3, 1, UNI_NV__5 } /* nv=5 */, { 51, 9351, 26, 4, 1, UNI_IDS } /* ids=y */, { 1, 9997, 5829, 3, 3, UNI_BC__RLO } /* bc=rlo */, { 0, 9488, 9684, 4, 4, UNI_INNEWA } /* blk=newa */, { 2, 9768, 3025, 4, 8, UNI_CHER } /* scx=cherokee */, { 0, 1417, 10172, 24, 2, UNI_CCC__9 } /* canonicalcombiningclass=vr */, { 15, 10333, 7, 3, 1, UNI_SC } /* issc */, { 0, 7318, 7950, 10, 1, UNI_IN__9 } /* presentin=9 */, { 0, 2288, 5187, 3, 13, UNI_HIGHSURROGATES } /* inhighsurrogates */, { 14, 10009, 4532, 3, 6, UNI_DT__MED } /* dt=medial */, { 0, 6231, 2099, 3, 20, UNI_CJKCOMPATFORMS } /* incjkcompatibilityforms */, { 16, 3241, 0, 8, 0, UNI_GEOR } /* georgian */, { 0, 9270, 6506, 3, 11, UNI_PHAISTOS } /* inphaistosdisc */, { 8, 4643, 0, 15, 0, UNI_ecomp_values_index } /* emojicomponent= */, { 17, 5791, 8283, 13, 8, UNI_JG__SWASHKAF } /* joininggroup=swashkaf */, { 0, 5986, 9050, 13, 4, UNI_NV__1_SLASH_16 } /* numericvalue=1/16 */, { 5, 9508, 3015, 4, 10, UNI_CCC__AR } /* ccc=aboveright */, { 4, 2280, 9713, 3, 3, UNI_OSGE } /* isosge */, { 1, 9768, 4868, 4, 15, UNI_NARB } /* scx=oldnortharabian */, { 1, 9260, 1, 5, 1, -UNI_IDSB } /* idsb=n */, { 1, 5986, 7803, 13, 8, UNI_NV__1_SLASH_64 } /* numericvalue=1.56e-02 */, { 2, 8179, 0, 8, 0, UNI_GURU } /* gurmukhi */, { 3, 9488, 8179, 4, 8, UNI_INGURMUKHI } /* blk=gurmukhi */, { 0, 9277, 7648, 3, 9, UNI_ITAL } /* sc=olditalic */, { 1, 8882, 36, 6, 1, UNI_GREXT } /* grext=t */, { 32, 9768, 9315, 4, 5, UNI_ORYA } /* scx=oriya */, { 0, 10024, 3358, 3, 9, UNI_Z } /* gc=separator */, { 1, 2429, 0, 20, 0, UNI_PHLI } /* inscriptionalpahlavi */, { 3, 5986, 10146, 13, 2, UNI_NV__46 } /* numericvalue=46 */, { 22, 10048, 8042, 3, 2, UNI_NV__18 } /* nv=18 */, { 5, 8954, 9836, 6, 4, UNI__PERL_NCHAR } /* nchar=true */, { 0, 4401, 0, 16, 0, UNI_TANGUTSUP } /* tangutsupplement */, { 0, 8780, 5284, 6, 4, UNI_INLISU } /* block=lisu */, { 0, 9536, 36, 4, 1, UNI_DEP } /* dep=t */, { 19, 21, 7027, 2, 11, UNI_YISYLLABLES } /* inyisyllables */, { 0, 9444, 7765, 4, 1, UNI_AGE__2 } /* age=2 */, { 0, 9768, 3115, 4, 10, UNI_DEVA } /* scx=devanagari */, { 0, 184, 3295, 2, 9, UNI_LATINEXTA } /* islatinexta */, { 2, 4422, 8409, 4, 5, UNI_DSRT } /* indeseret */, { 2, 4478, 0, 15, 0, UNI_BRAI } /* braillepatterns */, { 0, 8589, 8470, 7, 7, UNI_SC__LINA } /* script=lineara */, { 9, 1988, 1, 22, 1, -UNI_LOE } /* logicalorderexception=n */, { 1, 1417, 7859, 24, 2, UNI_CCC__20 } /* canonicalcombiningclass=20 */, { 13, 9488, 6517, 4, 12, UNI_PLAYINGCARDS } /* blk=playingcards */, { 2, 895, 0, 28, 0, UNI_SUPPUAA } /* supplementaryprivateuseareaa */, { 0, 10027, 6950, 3, 11, UNI_JG__STRAIGHTWAW } /* jg=straightwaw */, { 0, 2722, 0, 10, 0, UNI_JAMO } /* hanguljamo */, { 1, 2224, 5607, 3, 13, UNI_SUPPUNCTUATION } /* insuppunctuation */, { 0, 9277, 3079, 3, 6, UNI_SC__COPT } /* sc=coptic */, { 1, 5032, 0, 5, 0, UNI_ASCII } /* ascii */, { 0, 3836, 9484, 17, 4, UNI_BHKS } /* scriptextensions=bhks */, { 0, 10006, 26, 3, 1, UNI_DI } /* di=y */, { 1, 10048, 9432, 3, 4, UNI_NV__5_SLASH_12 } /* nv=5/12 */, { 0, 1979, 47, 10, 1, UNI_LM } /* category=lm */, { 5, 9688, 0, 3, 0, UNI_NKO } /* nko */, { 2, 9700, 0, 4, 0, UNI_OLCK } /* olck */, { 1, 9580, 0, 4, 0, UNI_HANO } /* hano */, { 3, 2182, 1910, 21, 2, UNI_GCB__CN } /* graphemeclusterbreak=cn */, { 0, 8780, 9038, 6, 6, UNI_INYEZIDI } /* block=yezidi */, { 0, 6553, 10135, 12, 3, UNI_XIDC } /* xidcontinue=yes */, { 0, 184, 7428, 2, 4, UNI_WARA } /* iswara */, { 9, 7088, 2798, 10, 19, UNI_BC__LRO } /* bidiclass=lefttorightoverride */, { 1, 9768, 6409, 4, 4, UNI_MEND } /* scx=mend */, { 4, 1417, 756, 24, 2, UNI_CCC__DA } /* canonicalcombiningclass=da */, { 1, 9768, 6940, 5, 10, UNI_SORA } /* scx=sorasompeng */, { 13, 400, 0, 6, 0, UNI_CF } /* format */, { 3, 2182, 3385, 21, 17, UNI_RI } /* graphemeclusterbreak=regionalindicator */, { 0, 10288, 467, 8, 5, UNI_XPOSIXPUNCT } /* isxposixpunct */, { 0, 5452, 0, 14, 0, UNI_nfcqc_values_index } /* nfcquickcheck= */, { 4, 10296, 131, 3, 3, UNI_PALM } /* ispalm */, { 1, 4033, 1527, 16, 9, UNI__PERL_SURROGATE } /* generalcategory=surrogate */, { 9, 3836, 4370, 18, 5, UNI_SYRC } /* scriptextensions=syriac */, { 7, 8984, 1025, 6, 2, -UNI_QMARK } /* qmark=no */, { 0, 4033, 32, 16, 2, UNI__PERL_SURROGATE } /* generalcategory=cs */, { 2, 8575, 0, 6, 0, UNI_PATSYN } /* patsyn */, { 15, 9488, 3295, 4, 18, UNI_LATINEXTADDITIONAL } /* blk=latinextadditional */, { 1, 8589, 9864, 7, 4, UNI_WCHO } /* script=wcho */, { 0, 8435, 1025, 7, 2, -UNI_GRBASE } /* grbase=no */, { 11, 9277, 9796, 3, 4, UNI_SC__SYRC } /* sc=syrc */, { 0, 8780, 3887, 6, 17, UNI_SUTTONSIGNWRITING } /* block=suttonsignwriting */, { 1, 9277, 2560, 3, 4, UNI_SC__MAND } /* sc=mand */, { 20, 3151, 0, 17, 0, UNI_EPRES } /* emojipresentation */, { 41, 10012, 8948, 3, 6, UNI_EA__NA } /* ea=narrow */, { 2, 184, 8414, 2, 7, UNI_ELBA } /* iselbasan */, { 8, 8589, 7666, 7, 9, UNI_ORKH } /* script=oldturkic */, { 1, 5578, 2529, 15, 4, UNI_SB__ST } /* sentencebreak=sterm */, { 1, 9277, 7118, 3, 10, UNI_CHRS } /* sc=chorasmian */, { 2, 4433, 0, 15, 0, UNI_ARABICEXTA } /* arabicextendeda */, { 0, 2855, 0, 12, 0, UNI_MONGOLIANSUP } /* mongoliansup */, { 1, 1166, 0, 25, 0, UNI_DI } /* defaultignorablecodepoint */, { 0, 5508, 0, 13, 0, UNI_PATSYN } /* patternsyntax */, { 0, 6796, 0, 11, 0, UNI_MEDF } /* medefaidrin */, { 0, 184, 218, 3, 32, UNI_DIACRITICALSEXT } /* iscombiningdiacriticalmarksextended */, { 1, 9488, 4973, 4, 15, UNI_VEDICEXT } /* blk=vedicextensions */, { 4, 8400, 36, 7, 1, UNI_COMPEX } /* compex=t */, { 0, 3836, 382, 17, 4, UNI_EGYP } /* scriptextensions=egyp */, { 1, 9014, 36, 6, 1, UNI_UIDEO } /* uideo=t */, { 1, 5791, 5179, 13, 7, UNI_JG__HEHGOAL } /* joininggroup=hehgoal */, { 1, 6205, 9836, 12, 4, UNI_IDEO } /* ideographic=true */, { 0, 8882, 1025, 6, 2, -UNI_GREXT } /* grext=no */, { 1, 3259, 10135, 18, 3, UNI_IDSB } /* idsbinaryoperator=yes */, { 9, 9275, 6463, 5, 6, UNI_LB__ZWJ } /* insc=joiner */, { 0, 184, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatibilityideographs */, { 0, 10030, 7258, 3, 10, UNI_JT__U } /* jt=nonjoining */, { 0, 7318, 10096, 10, 3, UNI_IN__5 } /* presentin=v50 */, { 4, 10027, 5378, 3, 4, UNI_JG__KAPH } /* jg=kaph */, { 18, 10048, 5648, 3, 11, UNI_NV__10000000000 } /* nv=10000000000 */, { 0, 9345, 26, 5, 1, UNI_XIDC } /* xidc=y */, { 0, 8997, 10135, 5, 3, UNI_TERM } /* term=yes */, { 5, 8780, 7585, 6, 9, UNI_LATINEXTC } /* block=latinextc */, { 5, 10030, 0, 3, 0, UNI_jt_values_index } /* jt= */, { 4, 867, 0, 11, 0, UNI_PHONETICEXT } /* phoneticext */, { 1, 8780, 43, 7, 15, UNI_CJKCOMPAT } /* block=cjkcompatibility */, { 1, 3097, 9552, 18, 4, UNI_DT__FONT } /* decompositiontype=font */, { 0, 184, 8936, 2, 4, UNI_LYCI } /* islyci */, { 5, 7585, 0, 9, 0, UNI_LATINEXTC } /* latinextc */, { 0, 9488, 8638, 4, 7, UNI_INTAGALOG } /* blk=tagalog */, { 3, 9508, 7874, 4, 2, UNI_CCC__23 } /* ccc=23 */, { 40, 7218, 1751, 10, 2, UNI_LB__AI } /* linebreak=ai */, { 0, 9508, 9206, 5, 4, UNI_CCC__35 } /* ccc=ccc35 */, { 0, 9488, 5830, 4, 13, UNI_LOWSURROGATES } /* blk=lowsurrogates */, { 0, 9488, 7027, 4, 11, UNI_YISYLLABLES } /* blk=yisyllables */, { 1, 4791, 2247, 4, 9, UNI_INMEETEIMAYEK } /* inmeeteimayek */, { 8, 6231, 4569, 3, 14, UNI_CURRENCYSYMBOLS } /* incurrencysymbols */, { 3, 9768, 2817, 4, 19, UNI_MERO } /* scx=meroitichieroglyphs */, { 1, 8780, 2874, 6, 19, UNI_OTTOMANSIYAQNUMBERS } /* block=ottomansiyaqnumbers */, { 0, 10048, 7781, 3, 1, UNI_NV__4 } /* nv=4 */, { 0, 8780, 3937, 6, 16, UNI_BOPOMOFOEXT } /* block=bopomofoextended */, { 6, 9508, 3564, 4, 13, UNI_CCC__202 } /* ccc=attachedbelow */, { 1, 7076, 4479, 3, 14, UNI_BRAI } /* inbraillepatterns */, { 4, 2280, 4306, 3, 4, UNI_C } /* isother */, { 0, 9488, 8243, 4, 8, UNI_INMAHAJANI } /* blk=mahajani */, { 17, 8780, 809, 6, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsupplement */, { 2, 9768, 8243, 4, 8, UNI_MAHJ } /* scx=mahajani */, { 1, 9492, 4898, 4, 4, UNI_BPT__O } /* bpt=open */, { 9, 5791, 7048, 13, 10, UNI_JG__AFRICANQAF } /* joininggroup=africanqaf */, { 0, 4916, 2532, 5, 16, UNI_TERM } /* isterminalpunctuation */, { 1, 5986, 8714, 13, 6, UNI_NV__300000 } /* numericvalue=300000 */, { 0, 4116, 415, 3, 10, UNI_IDEO } /* isideographic */, { 21, 1465, 0, 13, 0, UNI_M } /* combiningmark */, { 0, 8780, 923, 6, 28, UNI_SUPPUAB } /* block=supplementaryprivateuseareab */, { 2, 9768, 6481, 4, 12, UNI_HUNG } /* scx=oldhungarian */, { 2, 1417, 9026, 24, 6, UNI_CCC__9 } /* canonicalcombiningclass=virama */, { 1, 9277, 7684, 3, 9, UNI_PAUC } /* sc=paucinhau */, { 1, 184, 951, 2, 17, UNI_VS } /* isvariationselector */, { 0, 184, 9604, 2, 4, UNI_KHMR } /* iskhmr */, { 10, 6576, 26, 11, 1, UNI_XPOSIXALPHA } /* alphabetic=y */, { 11, 7318, 7821, 10, 1, UNI_IN__8 } /* presentin=8 */, { 1, 3097, 567, 18, 2, UNI_DT__NB } /* decompositiontype=nb */, { 2, 7325, 9844, 3, 4, UNI_IN__11 } /* in=v110 */, { 0, 8780, 9320, 6, 5, UNI_INOSAGE } /* block=osage */, { 0, 4643, 1025, 15, 2, -UNI_ECOMP } /* emojicomponent=no */, { 8, 3259, 9255, 18, 5, -UNI_IDSB } /* idsbinaryoperator=false */, { 2, 184, 3341, 2, 8, UNI_DINGBATS } /* isdingbats */, { 0, 184, 8227, 2, 8, UNI_KANAEXTA } /* iskanaexta */, { 8, 8780, 8666, 6, 7, UNI_INTIRHUTA } /* block=tirhuta */, { 1, 8589, 8344, 7, 7, UNI_SC__BENG } /* script=bengali */, { 0, 5032, 1, 14, 1, -UNI_POSIXXDIGIT } /* asciihexdigit=n */, { 6, 1417, 9300, 24, 5, UNI_CCC__7 } /* canonicalcombiningclass=nukta */, { 1, 10298, 0, 10, 0, UNI_POSIXBLANK } /* posixblank */, { 3, 10009, 10069, 3, 3, UNI_DT__SQR } /* dt=sqr */, { 67, 8589, 8888, 7, 6, UNI_HATR } /* script=hatran */, { 0, 2182, 10015, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=ebg */, { 3, 1417, 5765, 24, 13, UNI_CCC__IS } /* canonicalcombiningclass=iotasubscript */, { 11, 5003, 0, 15, 0, UNI_ZANB } /* zanabazarsquare */, { 24, 9277, 8123, 3, 8, UNI_SC__BUGI } /* sc=buginese */, { 2, 9508, 78, 4, 2, UNI_CCC__AR } /* ccc=ar */, { 0, 5432, 0, 3, 0, UNI_ANY } /* any */, { 1, 8589, 9628, 7, 4, UNI_SC__LATN } /* script=latn */, { 0, 10048, 9428, 3, 4, UNI_NV__3_SLASH_80 } /* nv=3/80 */, { 1, 7438, 0, 10, 0, UNI_wb_values_index } /* wordbreak= */, { 10, 184, 6229, 2, 5, UNI_JOINC } /* isjoinc */, { 1, 9488, 8652, 4, 7, UNI_INTAIVIET } /* blk=taiviet */, { 0, 8147, 26, 8, 1, UNI_EXTPICT } /* extpict=y */, { 8, 10048, 9203, 3, 2, UNI_NV__34 } /* nv=34 */, { 0, 9528, 9255, 4, 5, -UNI_CWU } /* cwu=false */, { 1, 6553, 26, 12, 1, UNI_XIDC } /* xidcontinue=y */, { 1, 3836, 6796, 17, 11, UNI_MEDF } /* scriptextensions=medefaidrin */, { 16, 3836, 2409, 17, 10, UNI_GLAG } /* scriptextensions=glagolitic */, { 2, 1114, 0, 26, 0, UNI_cwkcf_values_index } /* changeswhennfkccasefolded= */, { 10, 9508, 9919, 4, 3, UNI_CCC__202 } /* ccc=202 */, { 11, 8589, 9812, 7, 4, UNI_SC__TAML } /* script=taml */, { 5, 9444, 7782, 4, 1, UNI_AGE__3 } /* age=3 */, { 4, 184, 2969, 2, 19, UNI_SUPARROWSC } /* issupplementalarrowsc */, { 2, 10048, 8082, 3, 2, UNI_NV__19 } /* nv=19 */, { 1, 6231, 43, 3, 2, UNI_CJK } /* incjk */, { 0, 5074, 0, 14, 0, UNI_CJKCOMPATFORMS } /* cjkcompatforms */, { 0, 8435, 0, 7, 0, UNI_grbase_values_index } /* grbase= */, { 1, 8509, 1035, 4, 25, UNI_ENCLOSEDCJK } /* inenclosedcjklettersandmonths */, { 3, 9508, 7178, 4, 4, UNI_CCC__6 } /* ccc=hanr */, { 2, 6253, 0, 5, 0, UNI_KHMR } /* khmer */, { 0, 8589, 3241, 7, 4, UNI_SC__GEOR } /* script=geor */, { 8, 9488, 1586, 5, 22, UNI_BYZANTINEMUSIC } /* blk=byzantinemusicalsymbols */, { 1, 10027, 2637, 3, 9, UNI_JG__YEHBARREE } /* jg=yehbarree */, { 2, 10027, 5336, 3, 4, UNI_JG__BETH } /* jg=beth */, { 0, 5986, 9379, 13, 2, UNI_NV__41 } /* numericvalue=41 */, { 0, 7218, 8680, 10, 7, UNI_LB__XX } /* linebreak=unknown */, { 4, 4658, 1025, 15, 2, -UNI_GREXT } /* graphemeextend=no */, { 1, 8876, 0, 6, 0, UNI_GOTH } /* gothic */, { 2, 7410, 0, 8, 0, UNI_ASSIGNED } /* assigned */, { 1, 2912, 0, 9, 0, UNI_SUND } /* sundanese */, { 2, 8780, 8638, 6, 7, UNI_INTAGALOG } /* block=tagalog */, { 0, 7318, 9848, 10, 4, UNI_IN__12 } /* presentin=v120 */, { 1, 1417, 9168, 24, 2, UNI_CCC__27 } /* canonicalcombiningclass=27 */, { 3, 923, 0, 28, 0, UNI_SUPPUAB } /* supplementaryprivateuseareab */, { 2, 9488, 2409, 4, 13, UNI_GLAGOLITICSUP } /* blk=glagoliticsup */, { 5, 21, 6253, 2, 5, UNI_INKHMER } /* inkhmer */, { 0, 5986, 7859, 13, 6, UNI_NV__200000 } /* numericvalue=200000 */, { 0, 4989, 1, 3, 33, UNI_UCAS } /* isunifiedcanadianaboriginalsyllabics */, { 2, 9520, 3, 4, 1, -UNI_CWL } /* cwl=f */, { 4, 9768, 7, 4, 18, UNI_CANS } /* scx=canadianaboriginal */, { 6, 8780, 7657, 6, 9, UNI_INOLDPERMIC } /* block=oldpermic */, { 1, 3581, 0, 17, 0, UNI_UCAS } /* canadiansyllabics */, { 0, 7325, 10123, 3, 3, UNI_IN__9 } /* in=v90 */, { 0, 4791, 4274, 3, 15, UNI_MYANMAREXTA } /* inmyanmarextendeda */, { 2, 1979, 24, 10, 1, UNI_LOWERCASELETTER } /* category=ll */, { 3, 3133, 0, 13, 0, UNI_EMOD } /* emojimodifier */, { 85, 9277, 8421, 3, 7, UNI_ELYM } /* sc=elymaic */, { 0, 8780, 1631, 6, 23, UNI_GEOMETRICSHAPESEXT } /* block=geometricshapesextended */, { 9, 5578, 4305, 14, 5, UNI_SB__XX } /* sentencebreak=other */, { 2, 8688, 80, 4, 8, UNI_ARABICMATH } /* isarabicmath */, { 0, 10030, 18, 3, 1, UNI_JT__R } /* jt=r */, { 33, 10012, 66, 3, 1, UNI_EA__H } /* ea=h */, { 5, 3836, 8604, 18, 6, UNI_SHAW } /* scriptextensions=shavian */, { 2, 9488, 2469, 4, 20, UNI_INNYIAKENGPUACHUEHMONG } /* blk=nyiakengpuachuehmong */, { 0, 6231, 43, 3, 25, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatibilityideographs */, { 0, 3836, 2608, 17, 6, UNI_BRAH } /* scriptextensions=brahmi */, { 1, 10048, 9916, 3, 3, UNI_NV__2_SLASH_5 } /* nv=2/5 */, { 0, 9277, 9888, 3, 4, UNI_ZANB } /* sc=zanb */, { 0, 8509, 751, 4, 14, UNI_ENCLOSEDALPHANUM } /* inenclosedalphanum */, { 5, 10033, 5536, 3, 14, UNI_LB__PO } /* lb=postfixnumeric */, { 0, 7739, 9836, 8, 4, UNI_IDS } /* idstart=true */, { 4, 10033, 4538, 3, 15, UNI_LB__CB } /* lb=contingentbreak */, { 18, 9277, 9644, 3, 4, UNI_MEDF } /* sc=medf */, { 18, 9556, 125, 4, 2, UNI_LB__CR } /* gcb=cr */, { 3, 3836, 8611, 18, 6, UNI_SIDD } /* scriptextensions=siddham */, { 3, 6265, 0, 12, 0, UNI_NL } /* letternumber */, { 33, 184, 316, 2, 33, UNI_SUPMATHOPERATORS } /* issupplementalmathematicaloperators */, { 1, 9997, 5130, 3, 14, UNI_BC__EN } /* bc=europeannumber */, { 14, 9488, 7138, 4, 10, UNI_COMPATJAMO } /* blk=compatjamo */, { 0, 8780, 8498, 6, 7, UNI_INMULTANI } /* block=multani */, { 2, 9768, 8666, 4, 4, UNI_TIRH } /* scx=tirh */, { 2, 8780, 1018, 6, 5, UNI_MUSIC } /* block=music */, { 3, 9488, 3115, 4, 13, UNI_DEVANAGARIEXT } /* blk=devanagariext */, { 1, 9277, 6972, 3, 11, UNI_SC__SYLO } /* sc=sylotinagri */, { 0, 3836, 7660, 17, 4, UNI_PERM } /* scriptextensions=perm */, { 0, 8589, 8337, 7, 7, UNI_AVST } /* script=avestan */, { 4, 8589, 8456, 7, 7, UNI_SC__KNDA } /* script=kannada */, { 6, 9768, 9560, 4, 4, UNI_GONG } /* scx=gong */, { 0, 9768, 9660, 4, 4, UNI_MLYM } /* scx=mlym */, { 0, 2280, 6323, 3, 3, UNI_OGAM } /* isogam */, { 0, 8780, 7567, 6, 9, UNI_INKHUDAWADI } /* block=khudawadi */, { 0, 9277, 7168, 3, 10, UNI_DIAK } /* sc=divesakuru */, { 0, 7318, 10099, 10, 3, UNI_IN__5_DOT_1 } /* presentin=v51 */, { 3, 8589, 8561, 7, 7, UNI_OSMA } /* script=osmanya */, { 1, 8780, 951, 6, 18, UNI_INVS } /* block=variationselectors */, { 9, 2665, 0, 19, 0, UNI_COUNTINGROD } /* countingrodnumerals */, { 0, 8688, 97, 3, 9, UNI_XPOSIXALPHA } /* isalphabetic */, { 3, 3374, 0, 11, 0, UNI_wspace_values_index } /* whitespace= */, { 8, 9277, 18, 6, 1, UNI_KHAR } /* sc=khar */, { 2, 6231, 115, 4, 23, UNI_DIACRITICALS } /* incombiningdiacriticalmarks */, { 16, 9640, 36, 4, 1, UNI_LOE } /* loe=t */, { 9, 1591, 383, 3, 31, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* inegyptianhieroglyphformatcontrols */, { 20, 9488, 2140, 4, 18, UNI_CYRILLICSUP } /* blk=cyrillicsupplement */, { 2, 8780, 2666, 7, 10, UNI_COUNTINGROD } /* block=countingrod */, { 5, 8589, 8315, 7, 8, UNI_UGAR } /* script=ugaritic */, { 0, 5986, 8738, 13, 6, UNI_NV__600000 } /* numericvalue=600000 */, { 14, 1537, 2555, 24, 14, UNI_INPC__BOTTOMANDRIGHT } /* indicpositionalcategory=bottomandright */, { 18, 8780, 7576, 6, 9, UNI_LATINEXTB } /* block=latinextb */, { 1, 10296, 467, 7, 5, UNI_POSIXPUNCT } /* isposixpunct */, { 2, 9020, 9255, 6, 5, -UNI_XPOSIXUPPER } /* upper=false */, { 1, 4049, 0, 11, 0, UNI_GEORGIANEXT } /* georgianext */, { 7, 3025, 0, 8, 0, UNI_CHER } /* cherokee */, { 0, 8589, 9592, 7, 4, UNI_HMNP } /* script=hmnp */, { 4, 10048, 7987, 3, 8, UNI_NV__5_SLASH_8 } /* nv=6.25e-01 */, { 0, 10033, 1140, 3, 26, UNI_LB__CJ } /* lb=conditionaljapanesestarter */, { 0, 6241, 6708, 12, 11, UNI_JT__C } /* joiningtype=joincausing */, { 0, 2122, 0, 7, 0, UNI_RADICAL } /* radical */, { 0, 3836, 3025, 17, 4, UNI_CHER } /* scriptextensions=cher */, { 0, 10027, 5620, 3, 14, UNI_JG__HAMZAONHEHGOAL } /* jg=tehmarbutagoal */, { 0, 7068, 0, 10, 0, UNI_ASCII } /* basiclatin */, { 0, 3836, 9335, 17, 5, UNI_TAKR } /* scriptextensions=takri */, { 9, 328, 0, 21, 0, UNI_MATHOPERATORS } /* mathematicaloperators */, { 0, 21, 1218, 2, 8, UNI_INKATAKANA } /* inkatakana */, { 2, 184, 6086, 3, 11, UNI_CHESSSYMBOLS } /* ischesssymbols */, { 37, 10012, 0, 3, 0, UNI_ea_values_index } /* ea= */, { 1, 5324, 6387, 4, 10, UNI_INMASARAMGONDI } /* inmasaramgondi */, { 0, 8589, 7684, 7, 4, UNI_PAUC } /* script=pauc */, { 16, 2140, 0, 11, 0, UNI_CYRILLICSUP } /* cyrillicsup */, { 1, 5986, 10138, 13, 2, UNI_NV__38 } /* numericvalue=38 */, { 3, 9488, 4097, 4, 16, UNI_HIGHPUSURROGATES } /* blk=highpusurrogates */, { 1, 9488, 8124, 5, 7, UNI_INBUGINESE } /* blk=buginese */, { 5, 184, 382, 2, 4, UNI_EGYP } /* isegyp */, { 2, 8780, 3683, 6, 11, UNI_ETHIOPICEXT } /* block=ethiopicext */, { 43, 1552, 5498, 10, 10, UNI_MC } /* category=spacingmark */, { 4, 10048, 8750, 3, 3, UNI_NV__800 } /* nv=800 */, { 1, 3529, 3, 18, 1, -UNI_VS } /* variationselector=f */, { 12, 9768, 9002, 4, 4, UNI_TELU } /* scx=telu */, { 0, 7028, 2, 3, 1, UNI_YI } /* isyi */, { 0, 9528, 1025, 4, 2, -UNI_CWU } /* cwu=no */, { 1, 4643, 1, 15, 1, -UNI_ECOMP } /* emojicomponent=n */, { 0, 10009, 1294, 3, 5, UNI_DT__SUP } /* dt=super */, { 1, 9524, 36, 4, 1, UNI_CWT } /* cwt=t */, { 27, 8589, 3937, 7, 4, UNI_SC__BOPO } /* script=bopo */, { 1, 7088, 5130, 10, 14, UNI_BC__EN } /* bidiclass=europeannumber */, { 0, 10291, 5718, 5, 5, UNI_POSIXALNUM } /* posixalnum */, { 14, 8858, 1025, 6, 2, -UNI_ECOMP } /* ecomp=no */, { 25, 8780, 1879, 7, 18, UNI_CJKCOMPATIDEOGRAPHS } /* block=cjkcompatideographs */, { 3, 8780, 510, 7, 19, UNI_CJK } /* block=cjkunifiedideographs */, { 1, 4001, 0, 7, 0, UNI_CPRT } /* cypriot */, { 1, 5986, 9055, 13, 3, UNI_NV__1_SLASH_3 } /* numericvalue=1/3 */, { 9, 9997, 6493, 3, 12, UNI_BC__ON } /* bc=otherneutral */, { 15, 9508, 6642, 4, 11, UNI_CCC__DB } /* ccc=doublebelow */, { 6, 8780, 9684, 6, 4, UNI_INNEWA } /* block=newa */, { 0, 10033, 21, 3, 2, UNI_LB__IN } /* lb=in */, { 2, 1537, 2549, 24, 3, UNI_INPC__TOP } /* indicpositionalcategory=top */, { 28, 4017, 0, 16, 0, UNI_PF } /* finalpunctuation */, { 0, 8996, 26, 6, 1, UNI_STERM } /* sterm=y */, { 3, 8780, 1060, 6, 27, UNI_OCR } /* block=opticalcharacterrecognition */, { 5, 10333, 8611, 3, 3, UNI_SIDD } /* issidd */, { 0, 2140, 0, 8, 0, UNI_CYRL } /* cyrillic */, { 0, 10048, 7782, 3, 1, UNI_NV__3 } /* nv=3 */, { 4, 9997, 3773, 3, 3, UNI_BC__RLI } /* bc=rli */, { 2, 3836, 3785, 17, 4, UNI_MANI } /* scriptextensions=mani */, { 1, 10126, 0, 3, 1, UNI_VO__U } /* vo=u */, { 2, 184, 5497, 2, 11, UNI_MC } /* isspacingmark */, { 2, 2779, 26, 19, 1, UNI_IDST } /* idstrinaryoperator=y */, { 3, 184, 2855, 2, 19, UNI_MONGOLIANSUP } /* ismongoliansupplement */, { 2, 10033, 8236, 4, 7, UNI_LB__LF } /* lb=linefeed */, { 38, 1768, 0, 22, 0, UNI_cwcf_values_index } /* changeswhencasefolded= */, { 18, 10333, 47, 3, 1, UNI_SM } /* issm */, { 0, 908, 0, 14, 0, UNI_PUA } /* privateusearea */, { 1, 184, 510, 3, 29, UNI_CJKEXTA } /* iscjkunifiedideographsextensiona */, { 1, 8435, 0, 6, 0, UNI_GRBASE } /* grbase */, { 0, 10048, 9208, 3, 2, UNI_NV__35 } /* nv=35 */, { 0, 7218, 495, 10, 2, UNI_LB__NU } /* linebreak=nu */, { 0, 10048, 8744, 3, 6, UNI_NV__700000 } /* nv=700000 */, { 17, 184, 9628, 2, 4, UNI_LATN } /* islatn */, { 0, 8589, 9568, 7, 4, UNI_SC__GREK } /* script=grek */, { 0, 8575, 3, 7, 1, -UNI_PATSYN } /* patsyn=f */, { 1, 9508, 9191, 5, 4, UNI_CCC__32 } /* ccc=ccc32 */, { 0, 10333, 8618, 3, 3, UNI_SOYO } /* issoyo */, { 8, 7576, 0, 9, 0, UNI_LATINEXTB } /* latinextb */, { 13, 3836, 8219, 17, 4, UNI_JAVA } /* scriptextensions=java */, { 3, 3836, 9476, 17, 4, UNI_AVST } /* scriptextensions=avst */, { 2, 9640, 0, 3, 0, UNI_LOE } /* loe */, { 1, 1966, 6463, 22, 6, UNI_LB__ZWJ } /* indicsyllabiccategory=joiner */, { 0, 6805, 254, 6, 29, UNI_MISCMATHSYMBOLSA } /* inmiscellaneousmathematicalsymbolsa */, { 0, 8780, 7058, 6, 10, UNI_ARABICEXTA } /* block=arabicexta */, { 0, 184, 9325, 2, 5, UNI_RUNR } /* isrunic */, { 7, 10024, 9225, 3, 5, UNI_XPOSIXCNTRL } /* gc=cntrl */, { 8, 9596, 911, 4, 1, UNI_GCB__V } /* hst=v */, { 0, 9277, 4385, 3, 6, UNI_TANG } /* sc=tangut */, { 64, 8780, 1911, 6, 11, UNI_NUMBERFORMS } /* block=numberforms */, { 38, 5986, 8720, 13, 2, UNI_NV__40 } /* numericvalue=40 */, { 1, 8780, 0, 6, 34, UNI_UCAS } /* block=unifiedcanadianaboriginalsyllabics */, { 1, 184, 7585, 2, 9, UNI_LATINEXTC } /* islatinextc */, { 1, 3836, 9572, 17, 4, UNI_GUJR } /* scriptextensions=gujr */, { 1, 8589, 2245, 7, 11, UNI_MTEI } /* script=meeteimayek */, { 12, 9488, 3649, 4, 17, UNI_CYRILLICEXTB } /* blk=cyrillicextendedb */, { 4, 7438, 8144, 10, 3, UNI_WB__EB } /* wordbreak=gaz */, { 10, 7155, 5038, 3, 7, UNI_XPOSIXXDIGIT } /* ishexdigit */, { 0, 7540, 1, 9, 1, -UNI_EXT } /* extender=n */, { 0, 21, 7567, 2, 9, UNI_INKHUDAWADI } /* inkhudawadi */, { 9, 9488, 1219, 5, 4, UNI_INBATAK } /* blk=batak */, { 2, 7088, 426, 10, 2, UNI_BC__ES } /* bidiclass=es */, { 2, 3836, 9676, 17, 4, UNI_NARB } /* scriptextensions=narb */, { 2, 1417, 8002, 24, 2, UNI_CCC__26 } /* canonicalcombiningclass=26 */, { 4, 10063, 1, 3, 1, -UNI_SD } /* sd=n */, { 0, 4033, 1587, 16, 1, UNI_Z } /* generalcategory=z */, { 6, 18, 0, 2, 0, UNI_RI } /* ri */, { 0, 6554, 26, 11, 1, UNI_IDC } /* idcontinue=y */, { 6, 6829, 0, 11, 0, UNI_MYANMAREXTB } /* myanmarextb */, { 1, 7318, 9991, 10, 3, UNI_IN__9 } /* presentin=9.0 */, { 0, 9277, 9330, 3, 5, UNI_SC__TALE } /* sc=taile */, { 0, 9480, 0, 4, 0, UNI_BATK } /* batk */, { 31, 1979, 0, 11, 0, UNI_LO } /* category=lo */, { 2, 4116, 7559, 3, 8, UNI_QAAI } /* isinherited */, { 0, 1417, 7778, 24, 2, UNI_CCC__21 } /* canonicalcombiningclass=21 */, { 2, 8780, 6133, 6, 12, UNI_ETHIOPICEXTA } /* block=ethiopicexta */, { 5, 7228, 10135, 10, 3, UNI_XPOSIXLOWER } /* lowercase=yes */, { 0, 9277, 7308, 3, 10, UNI_PHNX } /* sc=phoenician */, { 2, 9720, 0, 4, 0, UNI_PHLP } /* phlp */, { 0, 8589, 9668, 7, 4, UNI_MTEI } /* script=mtei */, { 0, 9768, 8876, 4, 6, UNI_GOTH } /* scx=gothic */, { 0, 2224, 2913, 3, 8, UNI_INSUNDANESE } /* insundanese */, { 41, 8780, 1344, 6, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* block=symbolsforlegacycomputing */, { 0, 184, 9748, 2, 4, UNI_RJNG } /* isrjng */, { 1, 10048, 8744, 3, 2, UNI_NV__70 } /* nv=70 */, { 0, 5843, 0, 9, 0, UNI_MLYM } /* malayalam */, { 7, 9275, 4417, 5, 16, UNI_INSC__VOWELINDEPENDENT } /* insc=vowelindependent */, { 9, 9488, 8456, 4, 7, UNI_INKANNADA } /* blk=kannada */, { 8, 10129, 26, 3, 1, UNI_VS } /* vs=y */, { 1, 8780, 4973, 6, 8, UNI_VEDICEXT } /* block=vedicext */, { 1, 10182, 435, 6, 5, UNI__PERL_NCHAR } /* _perl_nchar */, { 2, 4791, 2247, 4, 19, UNI_MEETEIMAYEKEXT } /* inmeeteimayekextensions */, { 28, 184, 1585, 2, 14, UNI_BYZANTINEMUSIC } /* isbyzantinemusic */, { 3, 9270, 909, 3, 9, UNI_PUA } /* inprivateuse */, { 1, 2182, 8144, 21, 3, UNI_WB__EB } /* graphemeclusterbreak=gaz */, { 0, 9290, 10135, 5, 3, UNI_MATH } /* math=yes */, { 0, 9277, 9310, 3, 5, UNI_OGAM } /* sc=ogham */, { 0, 8449, 0, 6, 0, UNI_HYPHEN } /* hyphen */, { 16, 11, 0, 2, 0, UNI_DI } /* di */, { 0, 8688, 8338, 3, 6, UNI_AVST } /* isavestan */, { 2, 10033, 7486, 3, 9, UNI_LB__AI } /* lb=ambiguous */, { 0, 1828, 3, 6, 1, -UNI_CASED } /* cased=f */, { 0, 10288, 9225, 8, 5, UNI_XPOSIXCNTRL } /* isxposixcntrl */, { 7, 3169, 0, 4, 0, UNI_ETHI } /* ethi */, { 24, 1552, 5713, 9, 13, UNI_XPOSIXDIGIT } /* category=decimalnumber */, { 0, 8780, 78, 6, 6, UNI_INARABIC } /* block=arabic */, { 1, 8780, 382, 6, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* block=egyptianhieroglyphformatcontrols */, { 2, 1417, 9171, 25, 4, UNI_CCC__28 } /* canonicalcombiningclass=ccc28 */, { 4, 8589, 7428, 7, 4, UNI_WARA } /* script=wara */, { 50, 1768, 10135, 22, 3, UNI_CWCF } /* changeswhencasefolded=yes */, { 0, 7438, 3385, 10, 17, UNI_RI } /* wordbreak=regionalindicator */, { 0, 9536, 9255, 4, 5, -UNI_DEP } /* dep=false */, { 32, 7218, 3379, 10, 5, UNI_LB__SP } /* linebreak=space */, { 3, 1552, 5438, 9, 14, UNI_SK } /* category=modifiersymbol */, { 5, 5791, 10045, 13, 3, UNI_JG__MIM } /* joininggroup=mim */, { 2, 42, 0, 36, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatibilityideographssupplement */, { 7, 8780, 8596, 6, 7, UNI_SC__SHRD } /* block=sharada */, { 3, 9488, 8414, 4, 7, UNI_INELBASAN } /* blk=elbasan */, { 9, 9488, 5778, 4, 13, UNI_IPAEXT } /* blk=ipaextensions */, { 19, 7288, 0, 10, 0, UNI_SOGO } /* oldsogdian */, { 1, 10296, 83, 3, 2, UNI_PCM } /* ispcm */, { 0, 6231, 6086, 3, 11, UNI_CHESSSYMBOLS } /* inchesssymbols */, { 2, 3632, 0, 17, 0, UNI_CYRILLICEXTA } /* cyrillicextendeda */, { 0, 8780, 9664, 6, 3, UNI_INMRO } /* block=mro */, { 4, 10009, 9552, 3, 4, UNI_DT__FONT } /* dt=font */, { 3, 5986, 8744, 13, 6, UNI_NV__700000 } /* numericvalue=700000 */, { 6, 7438, 8323, 10, 7, UNI_WB__LE } /* wordbreak=aletter */, { 0, 8930, 9836, 6, 4, UNI_XPOSIXLOWER } /* lower=true */, { 4, 1417, 3015, 24, 5, UNI_CCC__A } /* canonicalcombiningclass=above */, { 2, 9488, 8187, 4, 8, UNI_INHIRAGANA } /* blk=hiragana */, { 0, 8780, 1677, 6, 9, UNI_LATINEXTE } /* block=latinexte */, { 1, 5324, 8493, 4, 5, UNI_INMARCHEN } /* inmarchen */, { 0, 9508, 7765, 4, 2, UNI_CCC__25 } /* ccc=25 */, { 10, 9245, 0, 5, 0, UNI_DOGR } /* dogra */, { 16, 184, 4658, 2, 14, UNI_GREXT } /* isgraphemeextend */, { 0, 1966, 4823, 22, 15, UNI_INSC__MODIFYINGLETTER } /* indicsyllabiccategory=modifyingletter */, { 0, 2182, 34, 21, 6, UNI_GCB__EX } /* graphemeclusterbreak=extend */, { 0, 9508, 9196, 5, 4, UNI_CCC__33 } /* ccc=ccc33 */, { 0, 5986, 10140, 13, 2, UNI_NV__39 } /* numericvalue=39 */, { 4, 8780, 720, 7, 15, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbers */, { 14, 8780, 1013, 6, 5, UNI_INGREEK } /* block=greek */, { 0, 4129, 0, 9, 0, UNI_LATIN1 } /* latin1sup */, { 0, 10048, 7995, 3, 8, UNI_NV__1_SLASH_16 } /* nv=6.25e-02 */, { 6, 9070, 26, 5, 1, UNI_POSIXXDIGIT } /* ahex=y */, { 1, 8589, 2684, 7, 19, UNI_EGYP } /* script=egyptianhieroglyphs */, { 0, 7218, 6178, 10, 2, UNI_LB__ZW } /* linebreak=zw */, { 0, 184, 1677, 2, 23, UNI_LATINEXTADDITIONAL } /* islatinextendedadditional */, { 0, 8589, 9065, 7, 5, UNI_SC__ADLM } /* script=adlam */, { 32, 6231, 219, 4, 31, UNI_DIACRITICALSEXT } /* incombiningdiacriticalmarksextended */, { 4, 8589, 4793, 7, 15, UNI_MERC } /* script=meroiticcursive */, { 0, 3836, 9700, 17, 4, UNI_OLCK } /* scriptextensions=olck */, { 0, 1966, 4417, 22, 5, UNI_INSC__VOWEL } /* indicsyllabiccategory=vowel */, { 1, 10048, 5648, 3, 13, UNI_NV__1000000000000 } /* nv=1000000000000 */, { 0, 10024, 4898, 3, 15, UNI_PS } /* gc=openpunctuation */, { 1, 2218, 2470, 3, 19, UNI_INNYIAKENGPUACHUEHMONG } /* innyiakengpuachuehmong */, { 0, 184, 7068, 2, 10, UNI_ASCII } /* isbasiclatin */, { 2, 9488, 8131, 4, 8, UNI_INDUPLOYAN } /* blk=duployan */, { 0, 5986, 7987, 13, 8, UNI_NV__5_SLASH_8 } /* numericvalue=6.25e-01 */, { 0, 4989, 1368, 3, 3, UNI_UGAR } /* isugar */, { 12, 1417, 8817, 25, 5, UNI_CCC__129 } /* canonicalcombiningclass=ccc129 */, { 0, 9756, 0, 4, 0, UNI_RUNR } /* runr */, { 1, 8780, 8456, 6, 7, UNI_INKANNADA } /* block=kannada */, { 8, 8780, 838, 6, 29, UNI_MISCARROWS } /* block=miscellaneoussymbolsandarrows */, { 3, 5791, 5368, 13, 14, UNI_JG__MANICHAEANKAPH } /* joininggroup=manichaeankaph */, { 2, 184, 3421, 2, 18, UNI_RUMI } /* isruminumeralsymbols */, { 0, 10296, 7, 3, 1, UNI_PC } /* ispc */, { 5, 10048, 8010, 3, 2, UNI_NV__36 } /* nv=36 */, { 41, 598, 0, 2, 0, UNI_XPOSIXCNTRL } /* cc */, { 1, 5830, 0, 13, 0, UNI_LOWSURROGATES } /* lowsurrogates */, { 1, 9488, 6972, 4, 11, UNI_INSYLOTINAGRI } /* blk=sylotinagri */, { 2, 4688, 1284, 15, 9, UNI_IDENTIFIERTYPE__EXCLUSION } /* identifiertype=exclusion */, { 32, 8852, 3, 6, 1, -UNI_CWKCF } /* cwkcf=f */, { 0, 9508, 7922, 4, 2, UNI_CCC__24 } /* ccc=24 */, { 1, 6397, 0, 12, 0, UNI_MATHALPHANUM } /* mathalphanum */, { 1, 8780, 8888, 6, 6, UNI_INHATRAN } /* block=hatran */, { 1, 10048, 7765, 3, 1, UNI_NV__2 } /* nv=2 */, { 4, 5986, 9361, 13, 3, UNI_NV__1_SLASH_2 } /* numericvalue=1/2 */, { 0, 1966, 4305, 22, 5, UNI_INSC__OTHER } /* indicsyllabiccategory=other */, { 0, 4033, 74, 16, 2, UNI_ME } /* generalcategory=me */, { 2, 5986, 7995, 13, 8, UNI_NV__1_SLASH_16 } /* numericvalue=6.25e-02 */, { 2, 6231, 2141, 3, 10, UNI_CYRILLICSUP } /* incyrillicsup */, { 8, 8996, 3, 6, 1, -UNI_STERM } /* sterm=f */, { 0, 184, 9032, 2, 6, UNI_WCHO } /* iswancho */, { 8, 3937, 0, 16, 0, UNI_BOPOMOFOEXT } /* bopomofoextended */, { 10, 10048, 8066, 3, 2, UNI_NV__28 } /* nv=28 */, { 8, 2779, 3, 19, 1, -UNI_IDST } /* idstrinaryoperator=f */, { 6, 10009, 1417, 3, 9, UNI_DT__CAN } /* dt=canonical */, { 1, 3836, 9748, 17, 4, UNI_RJNG } /* scriptextensions=rjng */, { 22, 3836, 7675, 17, 9, UNI_PALM } /* scriptextensions=palmyrene */, { 14, 4643, 10135, 15, 3, UNI_ECOMP } /* emojicomponent=yes */, { 8, 10033, 125, 3, 2, UNI_LB__CR } /* lb=cr */, { 0, 8780, 8187, 6, 8, UNI_INHIRAGANA } /* block=hiragana */, { 12, 9500, 0, 4, 0, UNI_CAKM } /* cakm */, { 0, 4542, 4051, 4, 14, UNI_GEORGIANEXT } /* ingeorgianextended */, { 0, 9235, 1, 5, 1, -UNI_CWCM } /* cwcm=n */, { 0, 8780, 4569, 7, 14, UNI_CURRENCYSYMBOLS } /* block=currencysymbols */, { 9, 3836, 4273, 17, 7, UNI_MYMR } /* scriptextensions=myanmar */, { 1, 3836, 3115, 17, 10, UNI_DEVA } /* scriptextensions=devanagari */, { 0, 8589, 8786, 7, 6, UNI_CARI } /* script=carian */, { 8, 9277, 9680, 3, 4, UNI_NBAT } /* sc=nbat */, { 0, 1417, 7950, 24, 1, UNI_CCC__9 } /* canonicalcombiningclass=9 */, { 1, 9277, 9900, 3, 4, UNI_ZZZZ } /* sc=zzzz */, { 0, 9680, 0, 4, 0, UNI_NBAT } /* nbat */, { 11, 3836, 9504, 17, 4, UNI_CANS } /* scriptextensions=cans */, { 0, 1417, 7765, 24, 2, UNI_CCC__25 } /* canonicalcombiningclass=25 */, { 0, 2032, 36, 22, 1, UNI__PERL_NCHAR } /* noncharactercodepoint=t */, { 33, 10290, 467, 6, 5, UNI_XPOSIXPUNCT } /* xposixpunct */, { 0, 2076, 0, 15, 0, UNI_TRANSPORTANDMAP } /* transportandmap */, { 34, 9508, 5649, 4, 1, UNI_CCC__0 } /* ccc=0 */, { 18, 9260, 9255, 5, 5, -UNI_IDSB } /* idsb=false */, { 4, 5986, 7781, 13, 2, UNI_NV__43 } /* numericvalue=43 */, { 1, 184, 9305, 2, 5, UNI_NSHU } /* isnushu */, { 3, 5986, 7779, 13, 8, UNI_NV__1_SLASH_7 } /* numericvalue=1.43e-01 */, { 0, 10132, 495, 3, 2, UNI_WB__NU } /* wb=nu */, { 0, 10033, 5746, 3, 5, UNI_EBASE } /* lb=ebase */, { 1, 1166, 26, 26, 1, UNI_DI } /* defaultignorablecodepoint=y */, { 1, 9768, 1537, 5, 3, UNI_SIND } /* scx=sind */, { 0, 7218, 4842, 10, 2, UNI_LB__QU } /* linebreak=qu */, { 0, 3921, 0, 9, 0, UNI_ARABICSUP } /* arabicsup */, { 1, 7088, 102, 10, 2, UNI_BC__ET } /* bidiclass=et */, { 6, 8768, 1, 6, 1, -UNI_BIDIC } /* bidic=n */, { 1, 1417, 2449, 24, 4, UNI_CCC__L } /* canonicalcombiningclass=left */, { 0, 184, 7576, 2, 9, UNI_LATINEXTB } /* islatinextb */, { 1, 9488, 3666, 4, 17, UNI_CYRILLICEXTC } /* blk=cyrillicextendedc */, { 1, 7076, 2609, 3, 5, UNI_INBRAHMI } /* inbrahmi */, { 0, 8449, 1, 7, 1, -UNI_HYPHEN } /* hyphen=n */, { 86, 9556, 1087, 4, 7, UNI_GCB__PP } /* gcb=prepend */, { 0, 8997, 1, 5, 1, -UNI_TERM } /* term=n */, { 1, 9265, 0, 5, 0, UNI_idst_values_index } /* idst= */, { 0, 4033, 2061, 16, 14, UNI_LM } /* generalcategory=modifierletter */, { 0, 9488, 2245, 4, 14, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekext */, { 0, 8589, 8561, 7, 4, UNI_OSMA } /* script=osma */, { 6, 3836, 2485, 17, 4, UNI_MONG } /* scriptextensions=mong */, { 0, 2182, 262, 21, 2, UNI_GCB__SM } /* graphemeclusterbreak=sm */, { 10, 8589, 3598, 7, 17, UNI_AGHB } /* script=caucasianalbanian */, { 100, 3836, 2288, 18, 3, UNI_SINH } /* scriptextensions=sinh */, { 14, 9768, 9880, 4, 4, UNI_YI } /* scx=yiii */, { 1, 10027, 10000, 3, 3, UNI_JG__BEH } /* jg=beh */, { 2, 9488, 4049, 4, 16, UNI_GEORGIANEXT } /* blk=georgianextended */, { 1, 5037, 1025, 9, 2, -UNI_XPOSIXXDIGIT } /* hexdigit=no */, { 0, 7684, 0, 9, 0, UNI_PAUC } /* paucinhau */, { 2, 9070, 9836, 5, 4, UNI_POSIXXDIGIT } /* ahex=true */, { 0, 8589, 8187, 7, 4, UNI_SC__HIRA } /* script=hira */, { 16, 9768, 9628, 4, 4, UNI_LATN } /* scx=latn */, { 0, 1417, 1755, 24, 2, UNI_CCC__DB } /* canonicalcombiningclass=db */, { 6, 10048, 1249, 3, 3, UNI_NV__NAN } /* nv=nan */, { 32, 2061, 0, 4, 0, UNI_MODI } /* modi */, { 2, 9524, 9255, 4, 5, -UNI_CWT } /* cwt=false */, { 5, 10288, 5040, 8, 5, UNI_XPOSIXDIGIT } /* isxposixdigit */, { 5, 184, 4598, 2, 15, UNI_DIACRITICALSEXT } /* isdiacriticalsext */, { 0, 9346, 9255, 4, 5, -UNI_IDC } /* idc=false */, { 0, 6181, 0, 12, 0, UNI_GONG } /* gunjalagondi */, { 4, 6928, 9836, 11, 4, UNI_SD } /* softdotted=true */, { 0, 21, 1673, 2, 4, UNI_JAMO } /* injamo */, { 0, 8762, 3, 6, 1, -UNI_XPOSIXALPHA } /* alpha=f */, { 3, 1700, 0, 23, 0, UNI_SHORTHANDFORMATCONTROLS } /* shorthandformatcontrols */, { 5, 8589, 9712, 7, 4, UNI_OSGE } /* script=osge */, { 98, 1417, 9940, 24, 3, UNI_CCC__A } /* canonicalcombiningclass=230 */, { 1, 5791, 756, 13, 3, UNI_JG__DAL } /* joininggroup=dal */, { 4, 184, 122, 2, 9, UNI_DIA } /* isdiacritic */, { 0, 7218, 5585, 10, 2, UNI_EBASE } /* linebreak=eb */, { 0, 10291, 96, 5, 5, UNI_POSIXALPHA } /* posixalpha */, { 1, 10024, 1287, 3, 2, UNI_UPPERCASELETTER } /* gc=lu */, { 41, 9235, 1025, 5, 2, -UNI_CWCM } /* cwcm=no */, { 2, 7408, 0, 10, 0, UNI_CN } /* unassigned */, { 18, 9262, 0, 3, 0, UNI_sb_values_index } /* sb= */, { 0, 3836, 9797, 18, 3, UNI_SYRC } /* scriptextensions=syrc */, { 2, 7155, 1655, 3, 5, UNI_HANG } /* ishangul */, { 1, 382, 0, 32, 0, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* egyptianhieroglyphformatcontrols */, { 0, 5746, 3, 6, 1, -UNI_EBASE } /* ebase=f */, { 1, 3385, 10135, 18, 3, UNI_RI } /* regionalindicator=yes */, { 7, 9240, 9836, 5, 4, UNI_DASH } /* dash=true */, { 1, 7218, 0, 10, 0, UNI_lb_values_index } /* linebreak= */, { 4, 1417, 9176, 25, 4, UNI_CCC__29 } /* canonicalcombiningclass=ccc29 */, { 1, 10288, 6554, 3, 3, UNI_XIDC } /* isxidc */, { 0, 3901, 8173, 4, 6, UNI_INGUJARATI } /* ingujarati */, { 1, 3649, 0, 17, 0, UNI_CYRILLICEXTB } /* cyrillicextendedb */, { 0, 9277, 7684, 3, 4, UNI_PAUC } /* sc=pauc */, { 1, 1417, 7978, 24, 2, UNI_CCC__16 } /* canonicalcombiningclass=16 */, { 11, 5214, 0, 6, 0, UNI_KANGXI } /* kangxi */, { 0, 5578, 400, 14, 6, UNI_SB__FO } /* sentencebreak=format */, { 52, 9277, 2245, 3, 11, UNI_MTEI } /* sc=meeteimayek */, { 1, 8780, 9315, 6, 5, UNI_INORIYA } /* block=oriya */, { 0, 2218, 16, 3, 1, UNI_NB } /* innb */, { 0, 9277, 3241, 3, 4, UNI_SC__GEOR } /* sc=geor */, { 2, 1768, 0, 21, 0, UNI_CWCF } /* changeswhencasefolded */, { 2, 1856, 36, 22, 1, UNI_CWU } /* changeswhenuppercased=t */, { 8, 8589, 8942, 7, 6, UNI_LYDI } /* script=lydian */, { 13, 9488, 7368, 4, 10, UNI_SMALLFORMS } /* blk=smallforms */, { 0, 8930, 3, 6, 1, -UNI_XPOSIXLOWER } /* lower=f */, { 20, 9488, 3600, 4, 4, UNI_UCAS } /* blk=ucas */, { 0, 4033, 6851, 16, 11, UNI_LO } /* generalcategory=otherletter */, { 16, 8780, 7594, 6, 9, UNI_LATINEXTD } /* block=latinextd */, { 1, 7088, 3187, 10, 18, UNI_BC__ET } /* bidiclass=europeanterminator */, { 18, 7318, 9982, 10, 3, UNI_IN__6_DOT_3 } /* presentin=6.3 */, { 2, 9508, 8002, 4, 2, UNI_CCC__26 } /* ccc=26 */, { 1, 8780, 3937, 6, 8, UNI_INBOPOMOFO } /* block=bopomofo */, { 0, 9508, 9181, 5, 4, UNI_CCC__30 } /* ccc=ccc30 */, { 0, 5452, 26, 14, 1, UNI_NFCQC__Y } /* nfcquickcheck=y */, { 0, 1867, 0, 5, 0, UNI_XPOSIXUPPER } /* upper */, { 1, 10033, 3379, 3, 5, UNI_LB__SP } /* lb=space */, { 1, 10009, 6421, 3, 12, UNI_DT__NONCANON } /* dt=noncanonical */, { 1, 9488, 0, 4, 34, UNI_UCAS } /* blk=unifiedcanadianaboriginalsyllabics */, { 0, 10048, 8003, 3, 8, UNI_NV__1_SLASH_160 } /* nv=6.25e-03 */, { 0, 5116, 26, 14, 1, UNI_EMOD } /* emojimodifier=y */, { 0, 8780, 478, 6, 31, UNI_MATHALPHANUM } /* block=mathematicalalphanumericsymbols */, { 0, 10333, 8618, 3, 6, UNI_SOYO } /* issoyombo */, { 6, 9488, 8666, 4, 7, UNI_INTIRHUTA } /* blk=tirhuta */, { 0, 8996, 9255, 6, 5, -UNI_STERM } /* sterm=false */, { 0, 8780, 4002, 7, 15, UNI_CYPRIOTSYLLABARY } /* block=cypriotsyllabary */, { 1, 10290, 7438, 6, 4, UNI_XPOSIXWORD } /* xposixword */, { 1, 1585, 0, 23, 0, UNI_BYZANTINEMUSIC } /* byzantinemusicalsymbols */, { 0, 4113, 952, 3, 17, UNI_INVS } /* invariationselectors */, { 0, 2280, 9321, 3, 4, UNI_OSGE } /* isosage */, { 6, 9672, 0, 4, 0, UNI_MYMR } /* mymr */, { 18, 9277, 0, 3, 0, UNI_sc_values_index } /* sc= */, { 0, 9277, 9008, 3, 4, UNI_SC__THAA } /* sc=thaa */, { 0, 9277, 7428, 3, 4, UNI_WARA } /* sc=wara */, { 12, 184, 6385, 2, 12, UNI_GONM } /* ismasaramgondi */, { 0, 5947, 0, 13, 0, UNI_MAYANNUMERALS } /* mayannumerals */, { 0, 9277, 9628, 3, 4, UNI_SC__LATN } /* sc=latn */, { 4, 8894, 0, 6, 0, UNI_joinc_values_index } /* joinc= */, { 0, 9275, 6457, 5, 12, UNI_INSC__NUMBERJOINER } /* insc=numberjoiner */, { 0, 5986, 9061, 13, 4, UNI_NV__1_SLASH_12 } /* numericvalue=1/12 */, { 2, 8187, 0, 8, 0, UNI_HIRA } /* hiragana */, { 0, 184, 1879, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* iscjkcompatideographssup */, { 9, 9508, 3572, 4, 9, UNI_CCC__BL } /* ccc=belowleft */, { 1, 3683, 0, 16, 0, UNI_ETHIOPICEXT } /* ethiopicextended */, { 0, 184, 3358, 2, 9, UNI_Z } /* isseparator */, { 1, 1966, 4523, 22, 15, UNI_INSC__CONSONANTMEDIAL } /* indicsyllabiccategory=consonantmedial */, { 0, 9768, 9484, 4, 4, UNI_BHKS } /* scx=bhks */, { 1, 8780, 4613, 6, 15, UNI_DIACRITICALSSUP } /* block=diacriticalssup */, { 0, 9277, 9792, 3, 4, UNI_SOGO } /* sc=sogo */, { 17, 184, 9692, 2, 4, UNI_NSHU } /* isnshu */, { 1, 2182, 6169, 21, 12, UNI_WB__EB } /* graphemeclusterbreak=glueafterzwj */, { 0, 7318, 9856, 10, 4, UNI_IN__13 } /* presentin=v130 */, { 1, 3836, 9832, 17, 4, UNI_TIBT } /* scriptextensions=tibt */, { 0, 9270, 468, 3, 10, UNI_INPUNCTUATION } /* inpunctuation */, { 2, 5791, 5843, 13, 13, UNI_JG__MALAYALAMLLLA } /* joininggroup=malayalamllla */, { 2, 3097, 45, 18, 3, UNI_DT__COM } /* decompositiontype=com */, { 0, 10048, 4134, 3, 1, UNI_NV__1 } /* nv=1 */, { 0, 8463, 0, 7, 0, UNI_KALI } /* kayahli */, { 0, 8435, 9836, 7, 4, UNI_GRBASE } /* grbase=true */, { 24, 6553, 3, 12, 1, -UNI_XIDC } /* xidcontinue=f */, { 1, 4583, 0, 15, 0, UNI_PD } /* dashpunctuation */, { 16, 10288, 5040, 3, 5, UNI_XPOSIXXDIGIT } /* isxdigit */, { 0, 9768, 9736, 4, 4, UNI_COPT } /* scx=qaac */, { 2, 8780, 4928, 6, 15, UNI_TAMILSUP } /* block=tamilsupplement */, { 2, 9768, 9900, 4, 4, UNI_ZZZZ } /* scx=zzzz */, { 44, 10333, 17, 3, 1, UNI_SO } /* isso */, { 1, 8442, 0, 7, 0, UNI_HANO } /* hanunoo */, { 1, 1828, 0, 5, 0, UNI_CASED } /* cased */, { 0, 8894, 26, 6, 1, UNI_JOINC } /* joinc=y */, { 1, 1834, 26, 22, 1, UNI_CWT } /* changeswhentitlecased=y */, { 0, 78, 0, 35, 0, UNI_ARABICMATH } /* arabicmathematicalalphabeticsymbols */, { 0, 10033, 3385, 3, 17, UNI_RI } /* lb=regionalindicator */, { 1, 8589, 2288, 8, 6, UNI_SC__SINH } /* script=sinhala */, { 0, 8688, 5033, 3, 12, UNI_POSIXXDIGIT } /* isasciihexdigit */, { 8, 3374, 10135, 11, 3, UNI_XPOSIXSPACE } /* whitespace=yes */, { 2, 7158, 3, 10, 1, -UNI_DIA } /* diacritic=f */, { 2, 8589, 1218, 7, 8, UNI_SC__KANA } /* script=katakana */, { 2, 5986, 9924, 13, 2, UNI_NV__42 } /* numericvalue=42 */, { 4, 184, 8853, 3, 4, UNI_CWKCF } /* iscwkcf */, { 3, 10048, 9984, 3, 2, UNI_NV__37 } /* nv=37 */, { 0, 1845, 0, 9, 0, UNI_TITLE } /* titlecase */, { 0, 9350, 0, 5, 0, UNI_xids_values_index } /* xids= */, { 2, 8780, 6253, 6, 5, UNI_INKHMER } /* block=khmer */, { 0, 184, 570, 3, 29, UNI_CJKEXTC } /* iscjkunifiedideographsextensionc */, { 0, 5791, 7016, 13, 11, UNI_JG__YEHWITHTAIL } /* joininggroup=yehwithtail */, { 3, 10009, 1253, 3, 7, UNI_DT__INIT } /* dt=initial */, { 3, 184, 4808, 2, 15, UNI_MISCPICTOGRAPHS } /* ismiscpictographs */, { 3, 9488, 2684, 4, 19, UNI_INEGYPTIANHIEROGLYPHS } /* blk=egyptianhieroglyphs */, { 3, 2529, 26, 20, 1, UNI_TERM } /* terminalpunctuation=y */, { 1, 9488, 4479, 5, 14, UNI_BRAI } /* blk=braillepatterns */, { 1, 2224, 4370, 3, 15, UNI_SYRIACSUP } /* insyriacsupplement */, { 0, 8589, 9516, 7, 4, UNI_SC__CPRT } /* script=cprt */, { 0, 7088, 0, 11, 0, UNI_BC__B } /* bidiclass=b */, { 0, 1417, 7922, 24, 2, UNI_CCC__24 } /* canonicalcombiningclass=24 */, { 10, 3836, 8243, 17, 8, UNI_MAHJ } /* scriptextensions=mahajani */, { 0, 8589, 9484, 7, 4, UNI_BHKS } /* script=bhks */, { 5, 184, 6229, 2, 11, UNI_JOINC } /* isjoincontrol */, { 0, 4033, 1217, 16, 2, UNI_SK } /* generalcategory=sk */, { 3, 9640, 9836, 4, 4, UNI_LOE } /* loe=true */, { 0, 7739, 36, 8, 1, UNI_IDS } /* idstart=t */, { 2, 9277, 9668, 3, 4, UNI_MTEI } /* sc=mtei */, { 0, 9997, 24, 3, 1, UNI_BC__L } /* bc=l */, { 1, 184, 4448, 2, 4, UNI_BAMU } /* isbamu */, { 3, 9277, 9592, 3, 4, UNI_HMNP } /* sc=hmnp */, { 34, 9277, 9776, 3, 4, UNI_SGNW } /* sc=sgnw */, { 3, 6205, 36, 12, 1, UNI_IDEO } /* ideographic=t */, { 16, 7088, 3756, 10, 3, UNI_BC__NSM } /* bidiclass=nsm */, { 0, 21, 9032, 2, 6, UNI_INWANCHO } /* inwancho */, { 3, 2182, 125, 21, 2, UNI_LB__CR } /* graphemeclusterbreak=cr */, { 17, 8589, 8179, 7, 8, UNI_SC__GURU } /* script=gurmukhi */, { 2, 9277, 8337, 3, 7, UNI_AVST } /* sc=avestan */, { 0, 9536, 9836, 4, 4, UNI_DEP } /* dep=true */, { 0, 9262, 69, 3, 2, UNI_SB__UP } /* sb=up */, { 6, 2054, 0, 22, 0, UNI_MODIFIERLETTERS } /* spacingmodifierletters */, { 1, 7218, 7512, 10, 2, UNI_LB__BB } /* linebreak=bb */, { 0, 5674, 0, 12, 0, UNI_BIDIM } /* bidimirrored */, { 2, 9488, 6481, 4, 12, UNI_INOLDHUNGARIAN } /* blk=oldhungarian */, { 10, 184, 11, 2, 3, UNI_DIA } /* isdia */, { 6, 4116, 3260, 3, 16, UNI_IDSB } /* isidsbinaryoperator */, { 1, 5037, 26, 9, 1, UNI_XPOSIXXDIGIT } /* hexdigit=y */, { 32, 9508, 7890, 4, 2, UNI_CCC__33 } /* ccc=33 */, { 0, 9277, 9548, 3, 4, UNI_DSRT } /* sc=dsrt */, { 0, 5791, 7055, 13, 3, UNI_JG__QAF } /* joininggroup=qaf */, { 4, 21, 9285, 2, 5, UNI_INLIMBU } /* inlimbu */, { 16, 9277, 719, 3, 9, UNI_XSUX } /* sc=cuneiform */, { 8, 8780, 1218, 6, 8, UNI_INKATAKANA } /* block=katakana */, { 2, 9488, 1319, 4, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* blk=symbolsandpictographsexta */, { 0, 1417, 7821, 24, 1, UNI_CCC__8 } /* canonicalcombiningclass=8 */, { 6, 10296, 96, 7, 5, UNI_POSIXALPHA } /* isposixalpha */, { 0, 8780, 4448, 6, 15, UNI_BAMUMSUP } /* block=bamumsupplement */, { 8, 7218, 3385, 10, 17, UNI_RI } /* linebreak=regionalindicator */, { 1, 9636, 0, 4, 0, UNI_LINB } /* linb */, { 0, 9488, 467, 4, 11, UNI_INPUNCTUATION } /* blk=punctuation */, { 17, 9277, 8942, 3, 6, UNI_LYDI } /* sc=lydian */, { 2, 10024, 1171, 3, 2, UNI_TITLE } /* gc=lt */, { 0, 4033, 4017, 16, 16, UNI_PF } /* generalcategory=finalpunctuation */, { 0, 10033, 6179, 3, 2, UNI_LB__WJ } /* lb=wj */, { 38, 4658, 9255, 15, 5, -UNI_GREXT } /* graphemeextend=false */, { 16, 10048, 8714, 3, 3, UNI_NV__300 } /* nv=300 */, { 1, 9235, 0, 5, 0, UNI_cwcm_values_index } /* cwcm= */, { 0, 9596, 36, 4, 1, UNI_GCB__T } /* hst=t */, { 20, 9768, 9283, 4, 4, UNI_PHLI } /* scx=phli */, { 0, 8762, 9255, 6, 5, -UNI_XPOSIXALPHA } /* alpha=false */, { 4, 3836, 8561, 17, 7, UNI_OSMA } /* scriptextensions=osmanya */, { 0, 8589, 7, 7, 18, UNI_CANS } /* script=canadianaboriginal */, { 1, 9488, 6554, 4, 3, UNI_INIDC } /* blk=idc */, { 0, 8984, 1, 6, 1, -UNI_QMARK } /* qmark=n */, { 24, 10027, 6301, 3, 12, UNI_JG__MALAYALAMLLA } /* jg=malayalamlla */, { 3, 184, 9564, 2, 4, UNI_GONM } /* isgonm */, { 0, 4033, 6873, 16, 11, UNI_SO } /* generalcategory=othersymbol */, { 0, 8780, 6385, 6, 12, UNI_INMASARAMGONDI } /* block=masaramgondi */, { 49, 8762, 9836, 6, 4, UNI_XPOSIXALPHA } /* alpha=true */, { 0, 184, 10170, 2, 2, UNI_CASEDLETTER } /* isl_ */, { 0, 8589, 9900, 7, 4, UNI_ZZZZ } /* script=zzzz */, { 0, 10063, 9836, 3, 4, UNI_SD } /* sd=true */, { 0, 9488, 3169, 4, 18, UNI_ETHIOPICSUP } /* blk=ethiopicsupplement */, { 2, 6229, 0, 11, 0, UNI_JOINC } /* joincontrol */, { 1, 9277, 9002, 3, 6, UNI_SC__TELU } /* sc=telugu */, { 1, 8780, 7119, 7, 9, UNI_INCHORASMIAN } /* block=chorasmian */, { 13, 6553, 9255, 12, 5, -UNI_XIDC } /* xidcontinue=false */, { 2, 9277, 9335, 3, 5, UNI_SC__TAKR } /* sc=takri */, { 0, 4829, 2411, 4, 18, UNI_GLAGOLITICSUP } /* inglagoliticsupplement */, { 2, 8589, 8491, 7, 7, UNI_MARC } /* script=marchen */, { 0, 1856, 9255, 22, 5, -UNI_CWU } /* changeswhenuppercased=false */, { 4, 10048, 7923, 3, 8, UNI_NV__2_SLASH_5 } /* nv=4.00e-01 */, { 49, 9768, 8942, 4, 4, UNI_LYDI } /* scx=lydi */, { 4, 7318, 7987, 10, 3, UNI_IN__6_DOT_2 } /* presentin=6.2 */, { 0, 3666, 0, 17, 0, UNI_CYRILLICEXTC } /* cyrillicextendedc */, { 5, 9032, 0, 6, 0, UNI_WCHO } /* wancho */, { 1, 10027, 6157, 3, 12, UNI_JG__FINALSEMKATH } /* jg=finalsemkath */, { 0, 9540, 36, 4, 1, UNI_DIA } /* dia=t */, { 0, 3836, 9516, 17, 4, UNI_CPRT } /* scriptextensions=cprt */, { 2, 9277, 7, 3, 18, UNI_CANS } /* sc=canadianaboriginal */, { 2, 9277, 3025, 3, 4, UNI_CHER } /* sc=cher */, { 2, 184, 9752, 2, 4, UNI_ROHG } /* isrohg */, { 0, 5564, 3, 14, 1, -UNI_QMARK } /* quotationmark=f */, { 1, 9508, 9186, 5, 4, UNI_CCC__31 } /* ccc=ccc31 */, { 3, 8780, 9310, 6, 5, UNI_INOGHAM } /* block=ogham */, { 1, 9277, 2224, 3, 21, UNI_PRTI } /* sc=inscriptionalparthian */, { 0, 1552, 1465, 9, 13, UNI_M } /* category=combiningmark */, { 1, 2280, 125, 3, 2, UNI_OCR } /* isocr */, { 0, 9508, 9223, 4, 2, UNI_CCC__91 } /* ccc=91 */, { 12, 5791, 65, 15, 2, UNI_JG__KAPH } /* joininggroup=kaph */, { 0, 184, 951, 2, 18, UNI_INVS } /* isvariationselectors */, { 1, 10126, 3511, 3, 18, UNI_VO__TU } /* vo=transformedupright */, { 5, 9277, 1115, 3, 4, UNI_SC__HANG } /* sc=hang */, { 32, 7218, 21, 10, 2, UNI_LB__IN } /* linebreak=in */, { 5, 4916, 9336, 3, 4, UNI_TAKR } /* istakri */, { 1, 9277, 8407, 3, 7, UNI_DSRT } /* sc=deseret */, { 50, 10132, 8505, 3, 7, UNI_WB__NL } /* wb=newline */, { 0, 1417, 7933, 24, 2, UNI_CCC__17 } /* canonicalcombiningclass=17 */, { 6, 5791, 2627, 13, 19, UNI_JG__BURUSHASKIYEHBARREE } /* joininggroup=burushaskiyehbarree */, { 0, 8780, 2141, 7, 7, UNI_INCYRILLIC } /* block=cyrillic */, { 6, 10333, 8604, 3, 6, UNI_SHAW } /* isshavian */, { 2, 10027, 5934, 3, 13, UNI_JG__MANICHAEANWAW } /* jg=manichaeanwaw */, { 0, 184, 5494, 2, 14, UNI_MN } /* isnonspacingmark */, { 9, 5986, 8003, 13, 8, UNI_NV__1_SLASH_160 } /* numericvalue=6.25e-03 */, { 0, 10132, 72, 3, 2, UNI_WB__LE } /* wb=le */, { 14, 7076, 8346, 4, 5, UNI_INBENGALI } /* inbengali */, { 18, 21, 9624, 2, 3, UNI_INLAO } /* inlao */, { 1, 9488, 2076, 4, 22, UNI_TRANSPORTANDMAP } /* blk=transportandmapsymbols */, { 0, 1988, 0, 21, 0, UNI_LOE } /* logicalorderexception */, { 10, 4916, 2077, 3, 14, UNI_TRANSPORTANDMAP } /* istransportandmap */, { 2, 5578, 0, 14, 0, UNI_sb_values_index } /* sentencebreak= */, { 2, 4791, 6830, 3, 10, UNI_MYANMAREXTB } /* inmyanmarextb */, { 0, 8780, 5661, 6, 13, UNI_AEGEANNUMBERS } /* block=aegeannumbers */, { 0, 10024, 5592, 3, 14, UNI_ZS } /* gc=spaceseparator */, { 6, 2140, 0, 21, 0, UNI_CYRILLICSUP } /* cyrillicsupplementary */, { 0, 8852, 10135, 6, 3, UNI_CWKCF } /* cwkcf=yes */, { 0, 9488, 923, 4, 28, UNI_SUPPUAB } /* blk=supplementaryprivateuseareab */, { 3, 8147, 1942, 10, 3, -UNI_EXTPICT } /* extpict=false */, { 2, 8780, 6181, 6, 12, UNI_INGUNJALAGONDI } /* block=gunjalagondi */, { 3, 8589, 9732, 7, 4, UNI_PRTI } /* script=prti */, { 6, 3382, 3, 3, 1, -UNI_CE } /* ce=f */, { 8, 10048, 5649, 3, 1, UNI_NV__0 } /* nv=0 */, { 0, 9508, 4134, 4, 1, UNI_CCC__1 } /* ccc=1 */, { 0, 7218, 7486, 10, 9, UNI_LB__AI } /* linebreak=ambiguous */, { 0, 7308, 0, 10, 0, UNI_PHNX } /* phoenician */, { 1, 9277, 57, 3, 2, UNI_SC__YI } /* sc=yi */, { 1, 8589, 9832, 7, 4, UNI_TIBT } /* script=tibt */, { 2, 1552, 5593, 10, 13, UNI_ZS } /* category=spaceseparator */, { 0, 8547, 0, 7, 0, UNI_OLCK } /* olchiki */, { 4, 3836, 7621, 17, 9, UNI_NBAT } /* scriptextensions=nabataean */, { 0, 6805, 187, 6, 16, UNI_MISCSYMBOLS } /* inmiscellaneoussymbols */, { 0, 749, 0, 21, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanumerics */, { 8, 9768, 8123, 4, 4, UNI_BUGI } /* scx=bugi */, { 1, 21, 5033, 3, 4, UNI_ASCII } /* inascii */, { 2, 3836, 8942, 17, 4, UNI_LYDI } /* scriptextensions=lydi */, { 1, 9768, 9872, 4, 4, UNI_XPEO } /* scx=xpeo */, { 28, 10033, 414, 3, 11, UNI_LB__ID } /* lb=ideographic */, { 19, 9444, 10120, 4, 3, UNI_AGE__8 } /* age=v80 */, { 4, 10033, 988, 3, 2, UNI_LB__CP } /* lb=cp */, { 0, 10048, 8714, 3, 2, UNI_NV__30 } /* nv=30 */, { 43, 5791, 5892, 13, 3, UNI_JG__NUN } /* joininggroup=nun */, { 1, 10129, 9836, 3, 4, UNI_VS } /* vs=true */, { 3, 184, 540, 3, 29, UNI_CJKEXTB } /* iscjkunifiedideographsextensionb */, { 0, 1552, 0, 10, 0, UNI_S } /* category=s */, { 1, 8780, 4793, 6, 15, UNI_INMEROITICCURSIVE } /* block=meroiticcursive */, { 4, 9997, 2509, 3, 20, UNI_BC__RLE } /* bc=righttoleftembedding */, { 11, 3836, 9592, 17, 4, UNI_HMNP } /* scriptextensions=hmnp */, { 0, 3079, 0, 18, 0, UNI_COPTICEPACTNUMBERS } /* copticepactnumbers */, { 40, 3836, 9604, 17, 4, UNI_KHMR } /* scriptextensions=khmr */, { 0, 8780, 3683, 6, 17, UNI_ETHIOPICEXTA } /* block=ethiopicextendeda */, { 0, 7158, 26, 10, 1, UNI_DIA } /* diacritic=y */, { 1, 4916, 1846, 3, 8, UNI_TITLE } /* istitlecase */, { 1, 8400, 0, 6, 0, UNI_COMPEX } /* compex */, { 0, 6469, 5713, 12, 7, UNI_XPOSIXDIGIT } /* numerictype=decimal */, { 64, 10024, 728, 3, 6, UNI_N } /* gc=number */, { 1, 9508, 7806, 4, 1, UNI_CCC__6 } /* ccc=6 */, { 0, 3836, 7630, 17, 9, UNI_TALU } /* scriptextensions=newtailue */, { 17, 9277, 9095, 3, 5, UNI_SC__BUHD } /* sc=buhid */, { 2, 9728, 0, 4, 0, UNI_MIAO } /* plrd */, { 2, 7088, 4321, 10, 16, UNI_BC__S } /* bidiclass=segmentseparator */, { 17, 8780, 1294, 6, 25, UNI_SUPERANDSUB } /* block=superscriptsandsubscripts */, { 2, 5674, 26, 13, 1, UNI_BIDIM } /* bidimirrored=y */, { 9, 9488, 3632, 4, 17, UNI_CYRILLICEXTA } /* blk=cyrillicextendeda */, { 0, 3836, 9812, 17, 4, UNI_TAML } /* scriptextensions=taml */, { 0, 21, 6253, 2, 12, UNI_KHMERSYMBOLS } /* inkhmersymbols */, { 0, 8694, 36, 7, 1, UNI_XPOSIXSPACE } /* wspace=t */, { 0, 8864, 1, 6, 1, -UNI_EMOJI } /* emoji=n */, { 0, 3836, 8618, 18, 3, UNI_SOYO } /* scriptextensions=soyo */, { 3, 8589, 9560, 7, 4, UNI_SC__GONG } /* script=gong */, { 32, 184, 4478, 2, 15, UNI_BRAI } /* isbraillepatterns */, { 1, 7155, 8889, 3, 5, UNI_HATR } /* ishatran */, { 1, 9488, 8275, 4, 8, UNI_SPECIALS } /* blk=specials */, { 0, 9508, 8727, 4, 2, UNI_CCC__32 } /* ccc=32 */, { 0, 9768, 9704, 4, 4, UNI_ORKH } /* scx=orkh */, { 2, 3097, 749, 18, 3, UNI_DT__ENC } /* decompositiontype=enc */, { 0, 9768, 1176, 5, 3, UNI_SORA } /* scx=sora */, { 0, 10327, 47, 5, 1, UNI_PERM } /* isperm */, { 17, 5060, 9836, 14, 4, UNI_CI } /* caseignorable=true */, { 2, 8267, 1025, 8, 2, -UNI_RADICAL } /* radical=no */, { 1, 10048, 5648, 3, 9, UNI_NV__100000000 } /* nv=100000000 */, { 0, 184, 9612, 2, 4, UNI_KNDA } /* isknda */, { 0, 7325, 7754, 3, 2, UNI_IN__11 } /* in=11 */, { 0, 5791, 6325, 13, 12, UNI_JG__MALAYALAMNNA } /* joininggroup=malayalamnna */, { 0, 5060, 3, 14, 1, -UNI_CI } /* caseignorable=f */, { 45, 6818, 0, 11, 0, UNI_MYANMAREXTA } /* myanmarexta */, { 1, 5578, 34, 14, 2, UNI_SB__EX } /* sentencebreak=ex */, { 0, 8589, 8786, 7, 4, UNI_CARI } /* script=cari */, { 3, 1552, 728, 9, 6, UNI_N } /* category=number */, { 6, 5986, 7947, 13, 8, UNI_NV__3_SLASH_64 } /* numericvalue=4.69e-02 */, { 0, 8589, 9448, 7, 4, UNI_AGHB } /* script=aghb */, { 0, 4116, 5779, 3, 5, UNI_IPAEXT } /* isipaext */, { 7, 8780, 720, 7, 29, UNI_CUNEIFORMNUMBERS } /* block=cuneiformnumbersandpunctuation */, { 1, 10320, 17, 5, 1, UNI_XPEO } /* isxpeo */, { 14, 9508, 9121, 5, 4, UNI_CCC__18 } /* ccc=ccc18 */, { 0, 6231, 2120, 3, 13, UNI_CJKRADICALSSUP } /* incjkradicalssup */, { 1, 9277, 6385, 3, 12, UNI_SC__GONM } /* sc=masaramgondi */, { 0, 8575, 9836, 7, 4, UNI_PATSYN } /* patsyn=true */, { 4, 8589, 8491, 7, 4, UNI_MARC } /* script=marc */, { 3, 9277, 8840, 3, 6, UNI_SC__CAKM } /* sc=chakma */, { 0, 1417, 9943, 24, 3, UNI_CCC__AR } /* canonicalcombiningclass=232 */, { 2, 2784, 3923, 4, 14, UNI_ARABICSUP } /* inarabicsupplement */, { 0, 9768, 8315, 4, 8, UNI_UGAR } /* scx=ugaritic */, { 0, 9632, 0, 4, 0, UNI_LINA } /* lina */, { 0, 10027, 4773, 3, 5, UNI_JG__SADHE } /* jg=sadhe */, { 1, 7249, 9, 4, 16, UNI_CANS } /* iscanadianaboriginal */, { 0, 2182, 70, 21, 2, UNI_GCB__PP } /* graphemeclusterbreak=pp */, { 1, 6928, 1025, 11, 2, -UNI_SD } /* softdotted=no */, { 2, 10129, 36, 3, 1, UNI_VS } /* vs=t */, { 13, 9768, 1654, 4, 6, UNI_HANG } /* scx=hangul */, { 7, 8780, 749, 6, 30, UNI_ENCLOSEDALPHANUMSUP } /* block=enclosedalphanumericsupplement */, { 0, 7249, 754, 4, 3, UNI_CASED } /* iscased */, { 2, 3295, 0, 18, 0, UNI_LATINEXTADDITIONAL } /* latinextadditional */, { 34, 8882, 9836, 6, 4, UNI_GREXT } /* grext=true */, { 0, 5578, 7, 15, 1, UNI_SB__SC } /* sentencebreak=sc */, { 0, 2529, 9837, 21, 3, UNI_TERM } /* terminalpunctuation=true */, { 0, 316, 0, 33, 0, UNI_SUPMATHOPERATORS } /* supplementalmathematicaloperators */, { 0, 9262, 3358, 3, 3, UNI_SB__SE } /* sb=sep */, { 0, 6231, 3045, 4, 16, UNI_HALFMARKS } /* incombininghalfmarks */, { 16, 184, 1857, 3, 20, UNI_CWU } /* ischangeswhenuppercased */, { 1, 10009, 435, 4, 2, UNI_DT__ENC } /* dt=enc */, { 0, 1552, 4898, 9, 15, UNI_PS } /* category=openpunctuation */, { 0, 8589, 6973, 8, 10, UNI_SC__SYLO } /* script=sylotinagri */, { 6, 184, 5752, 2, 13, UNI_GREEKEXT } /* isgreekextended */, { 3, 7458, 0, 10, 0, UNI_YIRADICALS } /* yiradicals */, { 0, 10027, 4203, 3, 3, UNI_JG__LAM } /* jg=lam */, { 0, 1828, 1025, 6, 2, -UNI_CASED } /* cased=no */, { 0, 10048, 8820, 3, 2, UNI_NV__29 } /* nv=29 */, { 0, 1087, 1, 27, 1, -UNI_PCM } /* prependedconcatenationmark=n */, { 3, 9768, 8315, 4, 4, UNI_UGAR } /* scx=ugar */, { 0, 5564, 9255, 14, 5, -UNI_QMARK } /* quotationmark=false */, { 1, 7218, 6686, 10, 11, UNI_LB__IN } /* linebreak=inseparable */, { 8, 7738, 1025, 9, 2, -UNI_XIDS } /* xidstart=no */, { 8, 42, 0, 9, 0, UNI_CJKCOMPAT } /* cjkcompat */, { 2, 8617, 0, 4, 0, UNI_SOYO } /* soyo */, { 6, 3598, 0, 17, 0, UNI_AGHB } /* caucasianalbanian */, { 0, 9768, 8107, 4, 8, UNI_BALI } /* scx=balinese */, { 2, 8996, 0, 6, 0, UNI_sterm_values_index } /* sterm= */, { 0, 6409, 0, 4, 0, UNI_MEND } /* mend */, { 1, 7318, 9979, 10, 3, UNI_IN__6_DOT_1 } /* presentin=6.1 */, { 0, 1552, 74, 9, 2, UNI_ME } /* category=me */, { 0, 6620, 0, 11, 0, UNI_DOMINO } /* dominotiles */, { 0, 9488, 2076, 4, 15, UNI_TRANSPORTANDMAP } /* blk=transportandmap */, { 0, 1922, 0, 22, 0, UNI_DIACRITICALSFORSYMBOLS } /* diacriticalsforsymbols */, { 16, 7218, 7108, 10, 10, UNI_LB__BA } /* linebreak=breakafter */, { 0, 9444, 10090, 4, 3, UNI_AGE__4 } /* age=v40 */, { 4, 9245, 0, 4, 0, UNI_DOGR } /* dogr */, { 5, 5986, 7811, 13, 8, UNI_NV__1_SLASH_6 } /* numericvalue=1.67e-01 */, { 21, 4033, 1822, 16, 2, UNI_NL } /* generalcategory=nl */, { 0, 7218, 23, 10, 2, UNI_LB__AL } /* linebreak=al */, { 0, 8589, 8407, 7, 7, UNI_DSRT } /* script=deseret */, { 0, 9488, 3079, 4, 18, UNI_COPTICEPACTNUMBERS } /* blk=copticepactnumbers */, { 0, 9768, 9708, 4, 4, UNI_ORYA } /* scx=orya */, { 3, 6205, 1025, 12, 2, -UNI_IDEO } /* ideographic=no */, { 2, 184, 3241, 2, 8, UNI_GEOR } /* isgeorgian */, { 0, 5746, 0, 6, 0, UNI_ebase_values_index } /* ebase= */, { 3, 184, 34, 2, 3, UNI_EXT } /* isext */, { 1, 10027, 8283, 3, 8, UNI_JG__SWASHKAF } /* jg=swashkaf */, { 1, 184, 8990, 2, 6, UNI_RJNG } /* isrejang */, { 4, 8780, 2836, 6, 19, UNI_MODIFIERTONELETTERS } /* block=modifiertoneletters */, { 0, 184, 9620, 2, 4, UNI_LANA } /* islana */, { 1, 5791, 10021, 13, 3, UNI_JG__GAF } /* joininggroup=gaf */, { 18, 184, 3439, 2, 18, UNI_SMALLKANAEXT } /* issmallkanaextension */, { 1, 10132, 1194, 3, 2, UNI_LB__LF } /* wb=lf */, { 9, 9071, 9836, 4, 4, UNI_XPOSIXXDIGIT } /* hex=true */, { 0, 1417, 7930, 24, 2, UNI_CCC__14 } /* canonicalcombiningclass=14 */, { 8, 9277, 8442, 3, 7, UNI_SC__HANO } /* sc=hanunoo */, { 1, 6231, 1879, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* incjkcompatideographs */, { 1, 6469, 5040, 12, 5, UNI_NT__DI } /* numerictype=digit */, { 0, 2032, 10135, 22, 3, UNI__PERL_NCHAR } /* noncharactercodepoint=yes */, { 1, 5986, 9364, 13, 4, UNI_NV__1_SLASH_10 } /* numericvalue=1/10 */, { 16, 3904, 1, 17, 1, -UNI_UIDEO } /* unifiedideograph=n */, { 11, 5791, 7045, 13, 2, UNI_JG__FE } /* joininggroup=fe */, { 17, 9584, 0, 4, 0, UNI_HLUW } /* hluw */, { 4, 113, 0, 35, 0, UNI_DIACRITICALSFORSYMBOLS } /* combiningdiacriticalmarksforsymbols */, { 1, 5791, 9044, 13, 6, UNI_JG__YUDHHE } /* joininggroup=yudhhe */, { 0, 7318, 7782, 10, 1, UNI_IN__3 } /* presentin=3 */, { 3, 9508, 8066, 4, 2, UNI_CCC__28 } /* ccc=28 */, { 6, 9277, 9740, 3, 4, UNI_SC__QAAI } /* sc=qaai */, { 0, 9508, 8831, 4, 3, UNI_CCC__132 } /* ccc=132 */, { 8, 184, 4289, 2, 16, UNI_MYANMAREXTB } /* ismyanmarextendedb */, { 1, 9488, 7058, 4, 10, UNI_ARABICEXTA } /* blk=arabicexta */, { 8, 6553, 9836, 12, 4, UNI_XIDC } /* xidcontinue=true */, { 0, 9556, 8139, 4, 8, UNI_WB__EB } /* gcb=ebasegaz */, { 1, 7291, 0, 4, 0, UNI_SOGD } /* sogd */, { 0, 5986, 9907, 13, 3, UNI_NV__1_SLASH_7 } /* numericvalue=1/7 */, { 2, 7028, 2309, 3, 5, UNI_YIJING } /* isyijing */, { 97, 9768, 8900, 4, 6, UNI_KTHI } /* scx=kaithi */, { 0, 9768, 7308, 4, 10, UNI_PHNX } /* scx=phoenician */, { 0, 10027, 5895, 3, 13, UNI_JG__MANICHAEANONE } /* jg=manichaeanone */, { 0, 10003, 9255, 3, 5, -UNI_CI } /* ci=false */, { 44, 3751, 0, 17, 0, UNI_KITS } /* khitansmallscript */, { 3, 8780, 8344, 6, 7, UNI_INBENGALI } /* block=bengali */, { 0, 8780, 7666, 6, 9, UNI_INOLDTURKIC } /* block=oldturkic */, { 34, 7218, 6179, 10, 2, UNI_LB__WJ } /* linebreak=wj */, { 0, 3836, 9828, 17, 4, UNI_THAI } /* scriptextensions=thai */, { 0, 9488, 8299, 4, 8, UNI_INTIFINAGH } /* blk=tifinagh */, { 2, 8780, 4097, 6, 16, UNI_HIGHPUSURROGATES } /* block=highpusurrogates */, { 0, 8780, 3547, 6, 17, UNI_ALCHEMICAL } /* block=alchemicalsymbols */, { 0, 7325, 9400, 3, 4, UNI_IN__13 } /* in=13.0 */, { 0, 2760, 24, 19, 1, UNI_GCB__L } /* hangulsyllabletype=l */, { 8, 4113, 1751, 3, 2, UNI_INVAI } /* invai */, { 3, 4916, 9821, 3, 3, UNI_TFNG } /* istfng */, { 0, 4033, 7, 16, 1, UNI_C } /* generalcategory=c */, { 0, 184, 630, 3, 29, UNI_CJKEXTE } /* iscjkunifiedideographsextensione */, { 0, 9345, 10135, 5, 3, UNI_XIDC } /* xidc=yes */, { 0, 9488, 8547, 4, 7, UNI_OLCK } /* blk=olchiki */, { 33, 9768, 9532, 4, 4, UNI_CYRL } /* scx=cyrl */, { 0, 6939, 0, 4, 0, UNI_SORA } /* sora */, { 3, 10033, 6686, 3, 11, UNI_LB__IN } /* lb=inseparable */, { 0, 8400, 9836, 7, 4, UNI_COMPEX } /* compex=true */, { 6, 8978, 3, 6, 1, -UNI__PERL_PATWS } /* patws=f */, { 2, 9488, 446, 4, 32, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbolsandpunctuation */, { 0, 7138, 0, 10, 0, UNI_COMPATJAMO } /* compatjamo */, { 0, 4989, 1, 3, 41, UNI_UCASEXT } /* isunifiedcanadianaboriginalsyllabicsextended */, { 1, 184, 3385, 2, 17, UNI_RI } /* isregionalindicator */, { 0, 5508, 1025, 14, 2, -UNI_PATSYN } /* patternsyntax=no */, { 6, 10290, 3379, 6, 5, UNI_XPOSIXSPACE } /* xposixspace */, { 0, 184, 2409, 2, 13, UNI_GLAGOLITICSUP } /* isglagoliticsup */, { 0, 9508, 7814, 4, 1, UNI_CCC__7 } /* ccc=7 */, { 8, 8561, 0, 7, 0, UNI_OSMA } /* osmanya */, { 14, 7438, 6193, 10, 12, UNI_LB__HL } /* wordbreak=hebrewletter */, { 2, 184, 8203, 2, 8, UNI_JAMOEXTA } /* isjamoexta */, { 5, 1166, 36, 26, 1, UNI_DI } /* defaultignorablecodepoint=t */, { 7, 8774, 9255, 6, 5, -UNI_BIDIM } /* bidim=false */, { 9, 7088, 24, 10, 1, UNI_BC__L } /* bidiclass=l */, { 24, 9277, 8936, 3, 4, UNI_LYCI } /* sc=lyci */, { 0, 9277, 8914, 5, 4, UNI_SC__KHOJ } /* sc=khojki */, { 0, 9528, 3, 4, 1, -UNI_CWU } /* cwu=f */, { 0, 4033, 262, 16, 2, UNI_SM } /* generalcategory=sm */, { 2, 6609, 1025, 11, 2, -UNI_DEP } /* deprecated=no */, { 0, 9768, 7684, 4, 4, UNI_PAUC } /* scx=pauc */, { 4, 7325, 5648, 3, 2, UNI_IN__10 } /* in=10 */, { 1, 9997, 18, 3, 1, UNI_BC__R } /* bc=r */, { 30, 9085, 0, 5, 0, UNI_BATK } /* batak */, { 1, 184, 2409, 2, 10, UNI_GLAG } /* isglagolitic */, { 0, 9768, 2608, 4, 6, UNI_BRAH } /* scx=brahmi */, { 0, 8780, 8299, 6, 8, UNI_INTIFINAGH } /* block=tifinagh */, { 1, 8780, 6025, 6, 12, UNI_ALPHABETICPF } /* block=alphabeticpf */, { 4, 119, 8877, 3, 5, UNI_INGOTHIC } /* ingothic */, { 0, 10024, 32, 3, 2, UNI__PERL_SURROGATE } /* gc=cs */, { 45, 3115, 0, 10, 0, UNI_DEVA } /* devanagari */, { 0, 9270, 6506, 3, 7, UNI_PHAISTOS } /* inphaistos */, { 14, 184, 4145, 2, 7, UNI_LINB } /* islinearb */, { 3, 9508, 9126, 5, 4, UNI_CCC__19 } /* ccc=ccc19 */, { 0, 10033, 6073, 3, 12, UNI_LB__SY } /* lb=breaksymbols */, { 0, 9277, 2912, 3, 9, UNI_SUND } /* sc=sundanese */, { 1, 3259, 0, 17, 0, UNI_IDSB } /* idsbinaryoperator */, { 0, 3836, 2245, 17, 11, UNI_MTEI } /* scriptextensions=meeteimayek */, { 1, 1856, 0, 22, 0, UNI_cwu_values_index } /* changeswhenuppercased= */, { 6, 24, 0, 1, 0, UNI_L } /* l */, { 2, 184, 4643, 2, 14, UNI_ECOMP } /* isemojicomponent */, { 1, 7218, 8449, 10, 6, UNI_LB__HY } /* linebreak=hyphen */, { 1, 10048, 9408, 3, 4, UNI_NV__15_SLASH_2 } /* nv=15/2 */, { 1, 7028, 5219, 3, 9, UNI_YIRADICALS } /* isyiradicals */, { 5, 7076, 9096, 3, 4, UNI_INBUHID } /* inbuhid */, { 1, 184, 7632, 3, 2, UNI_CWT } /* iscwt */, { 34, 9277, 9760, 3, 4, UNI_SAMR } /* sc=samr */, { 3, 9488, 3223, 4, 18, UNI_INPUNCTUATION } /* blk=generalpunctuation */, { 12, 7088, 1353, 10, 3, UNI_BC__RLE } /* bidiclass=rle */, { 1, 8780, 3044, 7, 17, UNI_HALFMARKS } /* block=combininghalfmarks */, { 0, 21, 7428, 2, 10, UNI_INWARANGCITI } /* inwarangciti */, { 19, 1417, 9946, 24, 3, UNI_CCC__DB } /* canonicalcombiningclass=233 */, { 1, 184, 1922, 2, 12, UNI_DIACRITICALS } /* isdiacriticals */, { 0, 9768, 9728, 4, 4, UNI_MIAO } /* scx=plrd */, { 2, 9768, 8344, 4, 7, UNI_BENG } /* scx=bengali */, { 1, 9326, 1183, 4, 3, UNI_ANY } /* unicode */, { 23, 8589, 7359, 8, 3, UNI_SAUR } /* script=saur */, { 12, 5752, 0, 13, 0, UNI_GREEKEXT } /* greekextended */, { 0, 4542, 3243, 4, 9, UNI_GEORGIANSUP } /* ingeorgiansup */, { 4, 4658, 0, 14, 0, UNI_GREXT } /* graphemeextend */, { 0, 9275, 9090, 5, 5, UNI_INSC__BINDU } /* insc=bindu */, { 0, 2308, 0, 6, 0, UNI_YIJING } /* yijing */, { 1, 9277, 8561, 3, 7, UNI_OSMA } /* sc=osmanya */, { 0, 3358, 0, 9, 0, UNI_Z } /* separator */, { 0, 8589, 9604, 7, 4, UNI_KHMR } /* script=khmr */, { 1, 2529, 0, 19, 0, UNI_TERM } /* terminalpunctuation */, { 1, 10027, 6337, 3, 12, UNI_JG__MALAYALAMNYA } /* jg=malayalamnya */, { 1, 3259, 1025, 18, 2, -UNI_IDSB } /* idsbinaryoperator=no */, { 0, 184, 5687, 2, 13, UNI_BLOCKELEMENTS } /* isblockelements */, { 8, 8984, 0, 6, 0, UNI_qmark_values_index } /* qmark= */, { 8, 4688, 8540, 15, 7, UNI_IDENTIFIERTYPE__NOTNFKC } /* identifiertype=notnfkc */, { 2, 10132, 73, 3, 2, UNI_WB__EB } /* wb=em */, { 1, 7438, 7612, 10, 9, UNI_WB__MB } /* wordbreak=midnumlet */, { 1, 9692, 0, 4, 0, UNI_NSHU } /* nshu */, { 14, 1966, 7328, 22, 10, UNI_INSC__PUREKILLER } /* indicsyllabiccategory=purekiller */, { 19, 8589, 1677, 7, 5, UNI_SC__LATN } /* script=latin */, { 1, 9488, 9656, 4, 4, UNI_INMIAO } /* blk=miao */, { 18, 10126, 3522, 3, 7, UNI_VO__U } /* vo=upright */, { 0, 2569, 3522, 20, 7, UNI_VO__U } /* verticalorientation=upright */, { 0, 3836, 3241, 17, 8, UNI_GEOR } /* scriptextensions=georgian */, { 17, 9768, 7428, 4, 10, UNI_WARA } /* scx=warangciti */, { 2, 8688, 8093, 4, 6, UNI_ARMN } /* isarmenian */, { 0, 7218, 340, 10, 2, UNI_LB__OP } /* linebreak=op */, { 0, 184, 838, 2, 29, UNI_MISCARROWS } /* ismiscellaneoussymbolsandarrows */, { 12, 5791, 6361, 13, 12, UNI_JG__MALAYALAMTTA } /* joininggroup=malayalamtta */, { 0, 8984, 0, 5, 0, UNI_QMARK } /* qmark */, { 3, 10003, 3, 3, 1, -UNI_CI } /* ci=f */, { 1, 3836, 3894, 18, 10, UNI_SGNW } /* scriptextensions=signwriting */, { 0, 3424, 8316, 3, 7, UNI_INUGARITIC } /* inugaritic */, { 0, 184, 2120, 3, 20, UNI_CJKRADICALSSUP } /* iscjkradicalssupplement */, { 102, 8780, 6730, 6, 11, UNI_KATAKANAEXT } /* block=katakanaext */, { 0, 9071, 0, 4, 0, UNI_hex_values_index } /* hex= */, { 4, 9508, 8820, 4, 2, UNI_CCC__29 } /* ccc=29 */, { 2, 4829, 2411, 4, 8, UNI_INGLAGOLITIC } /* inglagolitic */, { 1, 8780, 3439, 6, 18, UNI_SMALLKANAEXT } /* block=smallkanaextension */, { 0, 7318, 7979, 10, 3, UNI_IN__6 } /* presentin=6.0 */, { 0, 3836, 2061, 17, 4, UNI_MODI } /* scriptextensions=modi */, { 10, 9290, 26, 5, 1, UNI_MATH } /* math=y */, { 1, 9444, 10093, 4, 3, UNI_AGE__4_DOT_1 } /* age=v41 */, { 16, 7418, 1025, 10, 2, -UNI_XPOSIXUPPER } /* uppercase=no */, { 0, 8780, 630, 7, 29, UNI_CJKEXTE } /* block=cjkunifiedideographsextensione */, { 11, 10327, 7438, 6, 4, UNI_POSIXWORD } /* isperlword */, { 10, 184, 38, 2, 2, UNI_XPOSIXDIGIT } /* isnd */, { 1, 1188, 4929, 3, 4, UNI_INTAMIL } /* intamil */, { 0, 9508, 3572, 4, 5, UNI_CCC__B } /* ccc=below */, { 0, 5986, 9420, 13, 4, UNI_NV__3_SLASH_20 } /* numericvalue=3/20 */, { 11, 10063, 1025, 3, 2, -UNI_SD } /* sd=no */, { 36, 3853, 9836, 17, 4, UNI_STERM } /* sentenceterminal=true */, { 17, 3870, 0, 17, 0, UNI_SMALLFORMS } /* smallformvariants */, { 0, 4916, 5994, 3, 3, UNI_TALU } /* istalu */, { 1, 5791, 5326, 13, 14, UNI_JG__MANICHAEANBETH } /* joininggroup=manichaeanbeth */, { 3, 2280, 9311, 3, 4, UNI_OGAM } /* isogham */, { 0, 1417, 9108, 24, 2, UNI_CCC__15 } /* canonicalcombiningclass=15 */, { 0, 10048, 5648, 3, 7, UNI_NV__1000000 } /* nv=1000000 */, { 1, 9488, 6730, 4, 11, UNI_KATAKANAEXT } /* blk=katakanaext */, { 0, 8884, 1025, 4, 2, -UNI_EXT } /* ext=no */, { 4, 6231, 3667, 3, 16, UNI_CYRILLICEXTC } /* incyrillicextendedc */, { 54, 10009, 8533, 3, 7, UNI_DT__NB } /* dt=nobreak */, { 13, 9768, 9888, 4, 4, UNI_ZANB } /* scx=zanb */, { 0, 10296, 8576, 3, 5, UNI_PATSYN } /* ispatsyn */, { 20, 4478, 0, 4, 0, UNI_BRAI } /* brai */, { 0, 4033, 6265, 16, 12, UNI_NL } /* generalcategory=letternumber */, { 1, 9488, 8365, 4, 7, UNI_CJKEXTC } /* blk=cjkextc */, { 4, 7318, 7765, 10, 1, UNI_IN__2 } /* presentin=2 */, { 0, 5116, 36, 14, 1, UNI_EMOD } /* emojimodifier=t */, { 0, 2569, 3379, 4, 5, UNI_VERTSPACE } /* vertspace */, { 0, 8996, 10135, 6, 3, UNI_STERM } /* sterm=yes */, { 0, 5687, 0, 13, 0, UNI_BLOCKELEMENTS } /* blockelements */, { 1, 9488, 8645, 4, 7, UNI_INTAITHAM } /* blk=taitham */, { 2, 10303, 0, 5, 0, UNI_XPOSIXBLANK } /* blank */, { 0, 8589, 9500, 7, 4, UNI_SC__CAKM } /* script=cakm */, { 0, 8589, 9245, 7, 4, UNI_SC__DOGR } /* script=dogr */, { 0, 5986, 8750, 13, 6, UNI_NV__800000 } /* numericvalue=800000 */, { 0, 3904, 10135, 17, 3, UNI_UIDEO } /* unifiedideograph=yes */, { 2, 3836, 3079, 17, 4, UNI_COPT } /* scriptextensions=copt */, { 1, 9768, 6253, 4, 5, UNI_KHMR } /* scx=khmer */, { 1, 8996, 1025, 6, 2, -UNI_STERM } /* sterm=no */, { 64, 9768, 8990, 4, 6, UNI_RJNG } /* scx=rejang */, { 1, 1188, 9331, 3, 4, UNI_INTAILE } /* intaile */, { 5, 8780, 7278, 6, 10, UNI_INOLDPERSIAN } /* block=oldpersian */, { 1, 8774, 3, 6, 1, -UNI_BIDIM } /* bidim=f */, { 0, 4809, 1162, 4, 2, UNI_CPRT } /* iscprt */, { 0, 9508, 8837, 4, 3, UNI_WB__EB } /* ccc=133 */, { 8, 10033, 6193, 3, 12, UNI_LB__HL } /* lb=hebrewletter */, { 1, 10048, 9428, 3, 3, UNI_NV__3_SLASH_8 } /* nv=3/8 */, { 1, 8519, 0, 7, 0, UNI_nfkdqc_values_index } /* nfkdqc= */, { 8, 9488, 7248, 4, 10, UNI_MISCARROWS } /* blk=miscarrows */, { 32, 184, 4002, 3, 15, UNI_CYPRIOTSYLLABARY } /* iscypriotsyllabary */, { 0, 1966, 5700, 22, 13, UNI_INSC__CONSONANTDEAD } /* indicsyllabiccategory=consonantdead */, { 0, 1834, 36, 22, 1, UNI_CWT } /* changeswhentitlecased=t */, { 121, 9277, 8091, 3, 8, UNI_ARMN } /* sc=armenian */, { 6, 10048, 8727, 3, 2, UNI_NV__32 } /* nv=32 */, { 0, 1505, 1016, 5, 2, UNI_INGREEK } /* ingreek */, { 1, 3836, 4448, 17, 5, UNI_BAMU } /* scriptextensions=bamum */, { 2, 9488, 113, 4, 35, UNI_DIACRITICALSFORSYMBOLS } /* blk=combiningdiacriticalmarksforsymbols */, { 1, 8942, 0, 6, 0, UNI_LYDI } /* lydian */, { 3, 9277, 9476, 3, 4, UNI_AVST } /* sc=avst */, { 0, 7418, 1, 10, 1, -UNI_XPOSIXUPPER } /* uppercase=n */, { 6, 9488, 719, 4, 16, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbers */, { 0, 4853, 10135, 15, 3, UNI_DT__NONE } /* nfkdquickcheck=yes */, { 0, 8589, 8666, 7, 7, UNI_SC__TIRH } /* script=tirhuta */, { 4, 184, 328, 2, 21, UNI_MATHOPERATORS } /* ismathematicaloperators */, { 1, 184, 600, 3, 29, UNI_CJKEXTD } /* iscjkunifiedideographsextensiond */, { 0, 9488, 6193, 4, 6, UNI_INHEBREW } /* blk=hebrew */, { 3, 8780, 720, 7, 8, UNI_INCUNEIFORM } /* block=cuneiform */, { 9, 9508, 6631, 4, 11, UNI_CCC__DA } /* ccc=doubleabove */, { 0, 4628, 3, 15, 1, UNI_EA__F } /* eastasianwidth=f */, { 9, 9488, 1060, 4, 27, UNI_OCR } /* blk=opticalcharacterrecognition */, { 0, 8589, 9440, 7, 4, UNI_SC__ADLM } /* script=adlm */, { 9, 10296, 7309, 3, 9, UNI_PHNX } /* isphoenician */, { 4, 184, 3853, 2, 16, UNI_STERM } /* issentenceterminal */, { 9, 9277, 9496, 3, 4, UNI_SC__BUHD } /* sc=buhd */, { 25, 10027, 0, 3, 0, UNI_jg_values_index } /* jg= */, { 4, 3836, 6193, 17, 6, UNI_HEBR } /* scriptextensions=hebrew */, { 0, 3097, 1417, 18, 9, UNI_DT__CAN } /* decompositiontype=canonical */, { 1, 7076, 7514, 3, 8, UNI_INBHAIKSUKI } /* inbhaiksuki */, { 3, 3836, 7359, 18, 3, UNI_SAUR } /* scriptextensions=saur */, { 1, 3836, 9728, 17, 4, UNI_MIAO } /* scriptextensions=plrd */, { 0, 3836, 8876, 17, 6, UNI_GOTH } /* scriptextensions=gothic */, { 0, 1273, 3, 21, 1, -UNI_CE } /* compositionexclusion=f */, { 5, 3836, 8547, 17, 7, UNI_OLCK } /* scriptextensions=olchiki */, { 2, 9768, 4385, 4, 4, UNI_TANG } /* scx=tang */, { 5, 9997, 25, 3, 1, UNI_BC__S } /* bc=s */, { 0, 6229, 26, 12, 1, UNI_JOINC } /* joincontrol=y */, { 61, 10048, 8051, 3, 8, UNI_NV__5_SLASH_6 } /* nv=8.33e-01 */, { 7, 9014, 9255, 6, 5, -UNI_UIDEO } /* uideo=false */, { 32, 9768, 7292, 5, 6, UNI_SOGD } /* scx=sogdian */, { 2, 3151, 26, 18, 1, UNI_EPRES } /* emojipresentation=y */, { 3, 8589, 8131, 7, 4, UNI_SC__DUPL } /* script=dupl */, { 1, 7218, 2640, 10, 2, UNI_LB__BA } /* linebreak=ba */, { 1, 8780, 5843, 6, 9, UNI_INMALAYALAM } /* block=malayalam */, { 17, 4916, 8667, 3, 3, UNI_TIRH } /* istirh */, { 0, 5324, 330, 4, 19, UNI_MATHOPERATORS } /* inmathematicaloperators */, { 7, 1417, 8820, 24, 2, UNI_CCC__29 } /* canonicalcombiningclass=29 */, { 7, 4916, 9833, 3, 3, UNI_TIBT } /* istibt */, { 0, 9508, 8714, 4, 2, UNI_CCC__30 } /* ccc=30 */, { 0, 9277, 8645, 3, 7, UNI_LANA } /* sc=taitham */, { 17, 6229, 9255, 12, 5, -UNI_JOINC } /* joincontrol=false */, { 2, 4033, 5438, 16, 14, UNI_SK } /* generalcategory=modifiersymbol */, { 8, 7218, 10154, 10, 2, UNI_LB__B2 } /* linebreak=b2 */, { 0, 47, 0, 1, 0, UNI_M } /* m */, { 3, 10333, 9797, 3, 3, UNI_SYRC } /* issyrc */, { 9, 184, 8211, 2, 8, UNI_JAMOEXTB } /* isjamoextb */, { 1, 10168, 0, 2, 0, UNI_CASEDLETTER } /* l& */, { 0, 9277, 9880, 3, 4, UNI_SC__YI } /* sc=yiii */, { 0, 8589, 7657, 7, 9, UNI_SC__PERM } /* script=oldpermic */, { 2, 9488, 2409, 4, 20, UNI_GLAGOLITICSUP } /* blk=glagoliticsupplement */, { 1, 184, 7188, 2, 10, UNI_KHAR } /* iskharoshthi */, { 4, 184, 9529, 3, 2, UNI_CWU } /* iscwu */, { 71, 8147, 10135, 8, 3, UNI_EXTPICT } /* extpict=yes */, { 6, 7325, 7923, 3, 3, UNI_IN__4 } /* in=4.0 */, { 0, 1417, 9949, 24, 3, UNI_CCC__DA } /* canonicalcombiningclass=234 */, { 5, 10291, 1823, 5, 5, UNI_POSIXLOWER } /* posixlower */, { 0, 2224, 6973, 3, 10, UNI_INSYLOTINAGRI } /* insylotinagri */, { 3, 7076, 4449, 3, 7, UNI_BAMUMSUP } /* inbamumsup */, { 21, 9768, 9038, 4, 6, UNI_YEZI } /* scx=yezidi */, { 22, 9476, 0, 4, 0, UNI_AVST } /* avst */, { 0, 8780, 3223, 6, 18, UNI_INPUNCTUATION } /* block=generalpunctuation */, { 6, 9488, 8428, 4, 7, UNI_INGRANTHA } /* blk=grantha */, { 0, 7325, 7877, 3, 2, UNI_IN__13 } /* in=13 */, { 2, 5578, 5, 15, 1, UNI_SB__SE } /* sentencebreak=se */, { 3, 9508, 9188, 4, 2, UNI_CCC__31 } /* ccc=31 */, { 7, 9488, 8358, 4, 7, UNI_CJKEXTB } /* blk=cjkextb */, { 0, 9277, 9624, 3, 3, UNI_LAO } /* sc=lao */, { 0, 184, 9548, 2, 4, UNI_DSRT } /* isdsrt */, { 96, 7325, 10111, 3, 3, UNI_IN__6_DOT_2 } /* in=v62 */, { 10, 9508, 8823, 5, 5, UNI_CCC__130 } /* ccc=ccc130 */, { 32, 9488, 1561, 4, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supsymbolsandpictographs */, { 0, 10340, 25, 3, 1, UNI_VS } /* isvs */, { 0, 5032, 36, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=t */, { 0, 9524, 9836, 4, 4, UNI_CWT } /* cwt=true */, { 19, 7438, 10015, 10, 3, UNI_WB__EB } /* wordbreak=ebg */, { 5, 10048, 8059, 3, 8, UNI_NV__1_SLASH_12 } /* nv=8.33e-02 */, { 4, 10290, 1823, 6, 5, UNI_XPOSIXLOWER } /* xposixlower */, { 1, 5739, 3, 13, 1, -UNI_GRBASE } /* graphemebase=f */, { 0, 184, 5242, 2, 14, UNI_LATINEXTC } /* islatinextendedc */, { 48, 3379, 3, 6, 1, -UNI_XPOSIXSPACE } /* space=f */, { 1, 10024, 38, 3, 2, UNI_XPOSIXDIGIT } /* gc=nd */, { 0, 10027, 6346, 3, 3, UNI_JG__NYA } /* jg=nya */, { 2, 2224, 8276, 3, 7, UNI_SPECIALS } /* inspecials */, { 2, 8780, 7308, 6, 10, UNI_INPHOENICIAN } /* block=phoenician */, { 3, 8780, 8337, 6, 7, UNI_INAVESTAN } /* block=avestan */, { 0, 9488, 4401, 4, 9, UNI_TANGUTSUP } /* blk=tangutsup */, { 9, 8780, 7098, 6, 10, UNI_BOXDRAWING } /* block=boxdrawing */, { 0, 10048, 9168, 3, 2, UNI_NV__27 } /* nv=27 */, { 6, 4916, 1846, 3, 4, UNI_TITLE } /* istitle */, { 2, 184, 9896, 2, 4, UNI_ZYYY } /* iszyyy */, { 1, 184, 3241, 2, 18, UNI_GEORGIANSUP } /* isgeorgiansupplement */, { 18, 10048, 9188, 3, 2, UNI_NV__31 } /* nv=31 */, { 0, 10033, 1751, 3, 2, UNI_LB__AI } /* lb=ai */, { 0, 10048, 8744, 3, 5, UNI_NV__70000 } /* nv=70000 */, { 2, 10012, 1, 3, 1, UNI_EA__N } /* ea=n */, { 0, 1269, 36, 25, 1, UNI_COMPEX } /* fullcompositionexclusion=t */, { 0, 3836, 9789, 18, 3, UNI_SHRD } /* scriptextensions=shrd */, { 32, 9540, 26, 4, 1, UNI_DIA } /* dia=y */, { 27, 1552, 0, 9, 0, UNI_gc_values_index } /* category= */, { 0, 9488, 5947, 4, 13, UNI_MAYANNUMERALS } /* blk=mayannumerals */, { 1, 7438, 1218, 10, 8, UNI_WB__KA } /* wordbreak=katakana */, { 0, 2329, 0, 20, 0, UNI_HLUW } /* anatolianhieroglyphs */, { 1, 10027, 5312, 3, 14, UNI_JG__MANICHAEANAYIN } /* jg=manichaeanayin */, { 0, 7318, 7469, 10, 3, UNI_IN__5 } /* presentin=5.0 */, { 0, 1417, 8829, 25, 5, UNI_CCC__132 } /* canonicalcombiningclass=ccc132 */, { 26, 3097, 68, 18, 3, UNI_DT__SUP } /* decompositiontype=sup */, { 20, 9240, 36, 5, 1, UNI_DASH } /* dash=t */, { 11, 8780, 600, 7, 29, UNI_CJKEXTD } /* block=cjkunifiedideographsextensiond */, { 1, 8780, 9656, 6, 4, UNI_INMIAO } /* block=miao */, { 20, 9997, 10039, 3, 3, UNI_BC__LRI } /* bc=lri */, { 0, 7325, 10114, 3, 3, UNI_IN__6_DOT_3 } /* in=v63 */, { 6, 5986, 9376, 13, 3, UNI_NV__1_SLASH_6 } /* numericvalue=1/6 */, { 0, 184, 9688, 2, 4, UNI_NKO } /* isnkoo */, { 0, 8780, 9245, 6, 5, UNI_INDOGRA } /* block=dogra */, { 5, 1417, 7826, 24, 2, UNI_CCC__12 } /* canonicalcombiningclass=12 */, { 1, 8589, 9724, 7, 4, UNI_PHNX } /* script=phnx */, { 0, 5791, 7711, 13, 9, UNI_JG__SYRIACWAW } /* joininggroup=syriacwaw */, { 0, 58, 0, 4, 0, UNI_IDEO } /* ideo */, { 2, 8780, 9860, 6, 3, UNI_INVAI } /* block=vai */, { 1, 9508, 5765, 4, 13, UNI_CCC__IS } /* ccc=iotasubscript */, { 0, 9768, 7694, 5, 8, UNI_SAMR } /* scx=samaritan */, { 0, 9277, 2684, 3, 19, UNI_EGYP } /* sc=egyptianhieroglyphs */, { 2, 5324, 6399, 4, 10, UNI_MATHALPHANUM } /* inmathalphanum */, { 0, 2784, 29, 4, 4, UNI_INARABIC } /* inarabic */, { 0, 2608, 0, 4, 0, UNI_BRAH } /* brah */, { 0, 4658, 10135, 15, 3, UNI_GREXT } /* graphemeextend=yes */, { 5, 9488, 5843, 4, 9, UNI_INMALAYALAM } /* blk=malayalam */, { 6, 1417, 7178, 24, 10, UNI_CCC__6 } /* canonicalcombiningclass=hanreading */, { 0, 4643, 9836, 15, 4, UNI_ECOMP } /* emojicomponent=true */, { 2, 10033, 4842, 3, 2, UNI_LB__QU } /* lb=qu */, { 0, 9768, 7630, 4, 9, UNI_TALU } /* scx=newtailue */, { 0, 9508, 8825, 4, 3, UNI_CCC__130 } /* ccc=130 */, { 0, 9488, 895, 4, 28, UNI_SUPPUAA } /* blk=supplementaryprivateuseareaa */, { 5, 3836, 9876, 17, 4, UNI_XSUX } /* scriptextensions=xsux */, { 1, 184, 9095, 2, 5, UNI_BUHD } /* isbuhid */, { 0, 9277, 859, 4, 3, UNI_SC__KNDA } /* sc=knda */, { 0, 5324, 6279, 4, 5, UNI_MAHJONG } /* inmahjong */, { 0, 4553, 0, 15, 0, UNI_CONTROLPICTURES } /* controlpictures */, { 0, 5986, 9904, 13, 3, UNI_NV__1_SLASH_5 } /* numericvalue=1/5 */, { 2, 3424, 8674, 3, 6, UNI_UCASEXT } /* inucasext */, { 5, 8589, 9624, 7, 3, UNI_LAO } /* script=lao */, { 17, 8589, 8421, 7, 7, UNI_ELYM } /* script=elymaic */, { 1, 184, 3633, 3, 16, UNI_CYRILLICEXTA } /* iscyrillicextendeda */, { 7, 8589, 9616, 7, 4, UNI_SC__KTHI } /* script=kthi */, { 0, 9488, 6818, 4, 11, UNI_MYANMAREXTA } /* blk=myanmarexta */, { 10, 1834, 9255, 22, 5, -UNI_CWT } /* changeswhentitlecased=false */, { 1, 1828, 9836, 6, 4, UNI_CASED } /* cased=true */, { 0, 9444, 7827, 4, 3, UNI_AGE__2 } /* age=2.0 */, { 0, 9277, 493, 3, 3, UNI_SC__HAN } /* sc=han */, { 194, 184, 2245, 2, 14, UNI_MEETEIMAYEKEXT } /* ismeeteimayekext */, { 0, 1552, 48, 9, 1, UNI_P } /* category=p */, { 1, 9768, 3115, 4, 4, UNI_DEVA } /* scx=deva */, { 0, 10333, 44, 3, 1, UNI_SK } /* issk */, { 0, 7218, 8236, 11, 7, UNI_LB__LF } /* linebreak=linefeed */, { 1, 9277, 7693, 3, 9, UNI_SAMR } /* sc=samaritan */, { 18, 5986, 7755, 13, 8, UNI_NV__1_SLASH_9 } /* numericvalue=1.11e-01 */, { 7, 184, 4049, 2, 11, UNI_GEORGIANEXT } /* isgeorgianext */, { 2, 8960, 9295, 6, 5, UNI_NFCQC__M } /* nfcqc=maybe */, { 4, 9014, 9836, 6, 4, UNI_UIDEO } /* uideo=true */, { 16, 10048, 7890, 3, 2, UNI_NV__33 } /* nv=33 */, { 0, 8589, 5171, 7, 4, UNI_CHAM } /* script=cham */, { 3, 5791, 4763, 13, 15, UNI_JG__MANICHAEANSADHE } /* joininggroup=manichaeansadhe */, { 0, 10048, 8714, 3, 6, UNI_NV__300000 } /* nv=300000 */, { 1, 9277, 9732, 3, 4, UNI_PRTI } /* sc=prti */, { 1, 8780, 5075, 7, 13, UNI_CJKCOMPATFORMS } /* block=cjkcompatforms */, { 20, 184, 690, 3, 29, UNI_CJKEXTG } /* iscjkunifiedideographsextensiong */, { 1, 184, 5522, 2, 14, UNI_PHONETICEXTSUP } /* isphoneticextsup */, { 34, 7248, 0, 10, 0, UNI_MISCARROWS } /* miscarrows */, { 3, 1966, 8687, 22, 7, UNI_INSC__VISARGA } /* indicsyllabiccategory=visarga */, { 17, 9508, 8835, 5, 5, UNI_WB__EB } /* ccc=ccc133 */, { 9, 9283, 0, 4, 0, UNI_PHLI } /* phli */, { 0, 9624, 0, 4, 0, UNI_LAO } /* laoo */, { 6, 10333, 7359, 3, 3, UNI_SAUR } /* issaur */, { 0, 6469, 495, 12, 7, UNI_NT__NU } /* numerictype=numeric */, { 1, 184, 727, 2, 2, UNI_MN } /* ismn */, { 51, 10033, 58, 3, 2, UNI_LB__ID } /* lb=id */, { 1, 9488, 9624, 4, 3, UNI_INLAO } /* blk=lao */, { 1, 1988, 3, 22, 1, -UNI_LOE } /* logicalorderexception=f */, { 0, 1513, 0, 24, 0, UNI_HIGHPUSURROGATES } /* highprivateusesurrogates */, { 8, 1552, 1025, 9, 2, UNI_NO } /* category=no */, { 1, 9768, 8428, 4, 7, UNI_GRAN } /* scx=grantha */, { 1, 10048, 8075, 3, 8, UNI_NV__7_SLASH_8 } /* nv=8.75e-01 */, { 0, 8780, 7621, 6, 9, UNI_INNABATAEAN } /* block=nabataean */, { 0, 184, 1274, 3, 19, UNI_CE } /* iscompositionexclusion */, { 0, 5791, 1511, 13, 3, UNI_JG__HAH } /* joininggroup=hah */, { 0, 9277, 9808, 3, 4, UNI_TALU } /* sc=talu */, { 2, 4033, 1059, 16, 2, UNI_SO } /* generalcategory=so */, { 17, 6554, 9836, 11, 4, UNI_IDC } /* idcontinue=true */, { 3, 3836, 4883, 17, 15, UNI_SARB } /* scriptextensions=oldsoutharabian */, { 8, 184, 2122, 2, 7, UNI_RADICAL } /* isradical */, { 1, 7325, 7826, 3, 2, UNI_IN__12 } /* in=12 */, { 17, 7158, 10135, 10, 3, UNI_DIA } /* diacritic=yes */, { 1, 8589, 7168, 7, 10, UNI_DIAK } /* script=divesakuru */, { 0, 9330, 0, 5, 0, UNI_TALE } /* taile */, { 1, 1417, 8066, 24, 2, UNI_CCC__28 } /* canonicalcombiningclass=28 */, { 0, 10296, 7438, 7, 4, UNI_POSIXWORD } /* isposixword */, { 2, 184, 1033, 2, 11, UNI_ENCLOSEDCJK } /* isenclosedcjk */, { 34, 7368, 0, 10, 0, UNI_SMALLFORMS } /* smallforms */, { 4, 184, 9900, 2, 4, UNI_ZZZZ } /* iszzzz */, { 3, 10027, 4748, 3, 15, UNI_JG__MANICHAEANGIMEL } /* jg=manichaeangimel */, { 9, 3836, 6409, 17, 4, UNI_MEND } /* scriptextensions=mend */, { 0, 10012, 8, 3, 1, UNI_EA__A } /* ea=a */, { 0, 1834, 1025, 22, 2, -UNI_CWT } /* changeswhentitlecased=no */, { 2, 7155, 4674, 3, 14, UNI_INHANGUL } /* ishangulsyllables */, { 128, 10033, 3985, 3, 16, UNI_LB__CL } /* lb=closepunctuation */, { 7, 10132, 495, 3, 7, UNI_WB__NU } /* wb=numeric */, { 0, 1, 0, 1, 0, UNI_N } /* n */, { 131, 5986, 8710, 13, 3, UNI_NV__600 } /* numericvalue=600 */, { 0, 9768, 6193, 4, 6, UNI_HEBR } /* scx=hebrew */, { 1, 1115, 0, 4, 0, UNI_HANG } /* hang */, { 0, 1417, 9121, 25, 4, UNI_CCC__18 } /* canonicalcombiningclass=ccc18 */, { 0, 7325, 7931, 3, 3, UNI_IN__4_DOT_1 } /* in=4.1 */, { 0, 9277, 8610, 3, 4, UNI_SIDD } /* sc=sidd */, { 0, 184, 3115, 2, 18, UNI_DEVANAGARIEXT } /* isdevanagariextended */, { 2, 9277, 2240, 4, 3, UNI_SC__KTHI } /* sc=kthi */, { 0, 5986, 7891, 13, 8, UNI_NV__1_SLASH_3 } /* numericvalue=3.33e-01 */, { 0, 7218, 8251, 10, 8, UNI_LB__NL } /* linebreak=nextline */, { 3, 9768, 9896, 4, 4, UNI_ZYYY } /* scx=zyyy */, { 0, 7218, 6217, 10, 12, UNI_LB__IS } /* linebreak=infixnumeric */, { 4, 9277, 9756, 3, 4, UNI_RUNR } /* sc=runr */, { 8, 9488, 9008, 4, 6, UNI_INTHAANA } /* blk=thaana */, { 0, 6409, 0, 12, 0, UNI_MEND } /* mendekikakui */, { 0, 4305, 0, 5, 0, UNI_C } /* other */, { 0, 7325, 8043, 3, 3, UNI_IN__8 } /* in=8.0 */, { 1, 9277, 9480, 3, 4, UNI_BATK } /* sc=batk */, { 0, 8589, 9608, 7, 4, UNI_KITS } /* script=kits */, { 3, 3785, 0, 4, 0, UNI_MANI } /* mani */, { 0, 9660, 0, 4, 0, UNI_MLYM } /* mlym */, { 9, 6061, 36, 12, 1, UNI_BIDIC } /* bidicontrol=t */, { 1, 9652, 0, 4, 0, UNI_MERC } /* merc */, { 0, 10024, 4568, 3, 14, UNI_SC } /* gc=currencysymbol */, { 168, 1856, 1025, 22, 2, -UNI_CWU } /* changeswhenuppercased=no */, { 0, 9488, 2203, 4, 14, UNI_INHANIFIROHINGYA } /* blk=hanifirohingya */, { 2, 184, 8435, 2, 6, UNI_GRBASE } /* isgrbase */, { 4, 8688, 5033, 3, 4, UNI_ASCII } /* isascii */, { 9, 9768, 4478, 4, 7, UNI_BRAI } /* scx=braille */, { 0, 9768, 8547, 4, 7, UNI_OLCK } /* scx=olchiki */, { 4, 7648, 0, 9, 0, UNI_ITAL } /* olditalic */, { 0, 9277, 8942, 3, 4, UNI_LYDI } /* sc=lydi */, { 19, 1552, 4245, 9, 10, UNI_SM } /* category=mathsymbol */, { 0, 8589, 8547, 7, 7, UNI_OLCK } /* script=olchiki */, { 1, 10132, 6917, 3, 11, UNI_WB__SQ } /* wb=singlequote */, { 1, 8780, 8936, 6, 6, UNI_INLYCIAN } /* block=lycian */, { 1, 9488, 4257, 4, 16, UNI_MISCMATHSYMBOLSB } /* blk=miscmathsymbolsb */, { 3, 4033, 4305, 16, 5, UNI_C } /* generalcategory=other */, { 0, 8780, 9065, 6, 5, UNI_INADLAM } /* block=adlam */, { 0, 8780, 9340, 6, 5, UNI_VSSUP } /* block=vssup */, { 0, 10236, 10220, 14, 11, UNI__PERL_FOLDS_TO_MULTI_CHAR } /* _perl_folds_to_multi_char */, { 1, 3836, 4385, 17, 4, UNI_TANG } /* scriptextensions=tang */, { 2, 10048, 8002, 3, 2, UNI_NV__26 } /* nv=26 */, { 1, 6884, 0, 11, 0, UNI_HMNG } /* pahawhhmong */, { 10, 2288, 2076, 4, 4, UNI_INHATRAN } /* inhatran */, { 32, 184, 5200, 2, 14, UNI_KANASUP } /* iskanasupplement */, { 33, 3097, 45, 18, 6, UNI_DT__COM } /* decompositiontype=compat */, { 0, 7218, 3969, 10, 16, UNI_LB__CP } /* linebreak=closeparenthesis */, { 16, 7318, 9967, 10, 3, UNI_IN__5_DOT_1 } /* presentin=5.1 */, { 0, 2032, 9255, 22, 5, -UNI__PERL_NCHAR } /* noncharactercodepoint=false */, { 9, 1417, 7877, 24, 2, UNI_CCC__13 } /* canonicalcombiningclass=13 */, { 11, 9997, 865, 3, 2, UNI_BC__WS } /* bc=ws */, { 1, 184, 5713, 2, 13, UNI_XPOSIXDIGIT } /* isdecimalnumber */, { 4, 3836, 3115, 17, 4, UNI_DEVA } /* scriptextensions=deva */, { 0, 8780, 2120, 7, 13, UNI_CJKRADICALSSUP } /* block=cjkradicalssup */, { 38, 9488, 3341, 4, 8, UNI_DINGBATS } /* blk=dingbats */, { 0, 5158, 0, 14, 0, UNI_INGREEK } /* greekandcoptic */, { 0, 3079, 0, 4, 0, UNI_COPT } /* copt */, { 0, 8589, 9032, 7, 6, UNI_WCHO } /* script=wancho */, { 0, 9277, 5171, 3, 4, UNI_CHAM } /* sc=cham */, { 0, 9277, 9724, 3, 4, UNI_PHNX } /* sc=phnx */, { 0, 9860, 0, 3, 0, UNI_VAI } /* vai */, { 4, 184, 7248, 2, 10, UNI_MISCARROWS } /* ismiscarrows */, { 68, 7738, 10135, 9, 3, UNI_XIDS } /* xidstart=yes */, { 21, 184, 567, 2, 2, UNI_NB } /* isnb */, { 8, 1417, 9216, 25, 4, UNI_CCC__84 } /* canonicalcombiningclass=ccc84 */, { 0, 21, 3421, 2, 4, UNI_RUMI } /* inrumi */, { 0, 4448, 0, 5, 0, UNI_BAMU } /* bamum */, { 1, 8589, 9460, 7, 4, UNI_ARMI } /* script=armi */, { 0, 7325, 7821, 3, 1, UNI_IN__8 } /* in=8 */, { 4, 9768, 4448, 4, 4, UNI_BAMU } /* scx=bamu */, { 16, 9488, 6012, 4, 13, UNI_VERTICALFORMS } /* blk=verticalforms */, { 34, 8589, 9728, 7, 4, UNI_MIAO } /* script=plrd */, { 0, 9444, 9397, 4, 3, UNI_AGE__2_DOT_1 } /* age=2.1 */, { 0, 719, 0, 30, 0, UNI_CUNEIFORMNUMBERS } /* cuneiformnumbersandpunctuation */, { 0, 9768, 3169, 4, 4, UNI_ETHI } /* scx=ethi */, { 0, 8780, 2010, 6, 22, UNI_MISCTECHNICAL } /* block=miscellaneoustechnical */, { 0, 10126, 0, 3, 0, UNI_vo_values_index } /* vo= */, { 7, 1988, 9836, 22, 4, UNI_LOE } /* logicalorderexception=true */, { 2, 8589, 57, 7, 2, UNI_SC__YI } /* script=yi */, { 0, 8400, 1025, 7, 2, -UNI_COMPEX } /* compex=no */, { 1, 3836, 8666, 17, 4, UNI_TIRH } /* scriptextensions=tirh */, { 1, 10060, 0, 3, 0, UNI_ri_values_index } /* ri= */, { 1, 8449, 0, 7, 0, UNI_hyphen_values_index } /* hyphen= */, { 0, 9488, 6829, 4, 11, UNI_MYANMAREXTB } /* blk=myanmarextb */, { 0, 5578, 8554, 14, 7, UNI_SB__LE } /* sentencebreak=oletter */, { 50, 6231, 3633, 3, 16, UNI_CYRILLICEXTA } /* incyrillicextendeda */, { 4, 10033, 10174, 3, 2, UNI_LB__XX } /* lb=xx */, { 0, 184, 9236, 3, 3, UNI_CWCM } /* iscwcm */, { 1, 3836, 8414, 17, 4, UNI_ELBA } /* scriptextensions=elba */, { 0, 184, 6277, 2, 7, UNI_MAHJONG } /* ismahjong */, { 0, 5791, 6906, 13, 11, UNI_JG__ROHINGYAYEH } /* joininggroup=rohingyayeh */, { 0, 11, 0, 3, 0, UNI_DIA } /* dia */, { 1, 9488, 3547, 4, 10, UNI_ALCHEMICAL } /* blk=alchemical */, { 0, 10060, 1025, 3, 2, -UNI_RI } /* ri=no */, { 23, 8954, 9255, 6, 5, -UNI__PERL_NCHAR } /* nchar=false */, { 11, 7738, 36, 9, 1, UNI_XIDS } /* xidstart=t */, { 16, 1628, 0, 4, 0, UNI_PHAG } /* phag */, { 0, 9488, 8351, 4, 7, UNI_CJKEXTA } /* blk=cjkexta */, { 5, 4916, 9825, 3, 3, UNI_TGLG } /* istglg */, { 2, 1417, 8835, 25, 5, UNI_WB__EB } /* canonicalcombiningclass=ccc133 */, { 1, 184, 3650, 3, 16, UNI_CYRILLICEXTB } /* iscyrillicextendedb */, { 7, 5986, 9372, 13, 3, UNI_NV__1_SLASH_4 } /* numericvalue=1/4 */, { 1, 10033, 6178, 3, 2, UNI_LB__ZW } /* lb=zw */, { 79, 1591, 3684, 3, 15, UNI_ETHIOPICEXT } /* inethiopicextended */, { 0, 8780, 4673, 6, 15, UNI_INHANGUL } /* block=hangulsyllables */, { 0, 4116, 2780, 3, 3, UNI_IDST } /* isidst */, { 0, 8780, 3169, 6, 18, UNI_ETHIOPICSUP } /* block=ethiopicsupplement */, { 195, 7325, 9991, 3, 3, UNI_IN__9 } /* in=9.0 */, { 1, 1537, 2549, 24, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* indicpositionalcategory=topandbottomandright */, { 2, 8589, 8888, 7, 4, UNI_HATR } /* script=hatr */, { 24, 9225, 0, 5, 0, UNI_XPOSIXCNTRL } /* cntrl */, { 17, 9768, 9568, 4, 4, UNI_GREK } /* scx=grek */, { 0, 9290, 0, 5, 0, UNI_math_values_index } /* math= */, { 0, 7218, 73, 10, 2, UNI_EMOD } /* linebreak=em */, { 0, 10333, 8597, 3, 6, UNI_SHRD } /* issharada */, { 1, 10129, 1025, 3, 2, -UNI_VS } /* vs=no */, { 0, 184, 660, 3, 29, UNI_CJKEXTF } /* iscjkunifiedideographsextensionf */, { 21, 9488, 6133, 4, 12, UNI_ETHIOPICEXTA } /* blk=ethiopicexta */, { 0, 9768, 9038, 4, 4, UNI_YEZI } /* scx=yezi */, { 0, 5791, 341, 13, 2, UNI_JG__PE } /* joininggroup=pe */, { 3, 9346, 3, 4, 1, -UNI_IDC } /* idc=f */, { 1, 9508, 8829, 5, 5, UNI_CCC__132 } /* ccc=ccc132 */, { 8, 2032, 1, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=n */, { 0, 8780, 4129, 6, 9, UNI_LATIN1 } /* block=latin1sup */, { 0, 184, 11, 2, 2, UNI_DI } /* isdi */, { 5, 9230, 1025, 5, 2, -UNI_CWCF } /* cwcf=no */, { 1, 10063, 10135, 3, 3, UNI_SD } /* sd=yes */, { 3, 5986, 8059, 13, 8, UNI_NV__1_SLASH_12 } /* numericvalue=8.33e-02 */, { 17, 10009, 68, 3, 3, UNI_DT__SUP } /* dt=sup */, { 12, 9528, 10135, 4, 3, UNI_CWU } /* cwu=yes */, { 0, 7318, 10093, 10, 3, UNI_IN__4_DOT_1 } /* presentin=v41 */, { 11, 184, 5228, 2, 14, UNI_LATINEXTB } /* islatinextendedb */, { 32, 62, 0, 5, 0, UNI_XPOSIXGRAPH } /* graph */, { 49, 3836, 8299, 17, 8, UNI_TFNG } /* scriptextensions=tifinagh */, { 11, 9277, 9688, 3, 4, UNI_NKO } /* sc=nkoo */, { 0, 184, 4273, 2, 16, UNI_MYANMAREXTA } /* ismyanmarextendeda */, { 1, 10060, 26, 3, 1, UNI_RI } /* ri=y */, { 19, 10310, 8661, 4, 5, UNI_INTIBETAN } /* intibetan */, { 8, 9768, 2608, 4, 4, UNI_BRAH } /* scx=brah */, { 0, 2288, 2743, 4, 17, UNI_JAMOEXTB } /* inhanguljamoextendedb */, { 0, 8509, 1035, 4, 9, UNI_ENCLOSEDCJK } /* inenclosedcjk */, { 0, 1273, 1025, 21, 2, -UNI_CE } /* compositionexclusion=no */, { 0, 8894, 9836, 6, 4, UNI_JOINC } /* joinc=true */, { 1, 9488, 7567, 4, 9, UNI_INKHUDAWADI } /* blk=khudawadi */, { 6, 9556, 5585, 4, 2, UNI_WB__EB } /* gcb=eb */, { 1, 3836, 2469, 17, 20, UNI_HMNP } /* scriptextensions=nyiakengpuachuehmong */, { 0, 9768, 9892, 4, 4, UNI_QAAI } /* scx=zinh */, { 1, 9444, 9844, 4, 4, UNI_AGE__11 } /* age=v110 */, { 5, 9768, 4793, 4, 15, UNI_MERC } /* scx=meroiticcursive */, { 16, 9275, 7328, 5, 10, UNI_INSC__PUREKILLER } /* insc=purekiller */, { 2, 9488, 3547, 4, 17, UNI_ALCHEMICAL } /* blk=alchemicalsymbols */, { 0, 9071, 1025, 4, 2, -UNI_XPOSIXXDIGIT } /* hex=no */, { 1, 9277, 9696, 3, 4, UNI_OGAM } /* sc=ogam */, { 2, 9768, 2684, 4, 19, UNI_EGYP } /* scx=egyptianhieroglyphs */, { 3, 9536, 10135, 4, 3, UNI_DEP } /* dep=yes */, { 7, 6554, 0, 11, 0, UNI_idc_values_index } /* idcontinue= */, { 1, 7438, 5585, 10, 2, UNI_WB__EB } /* wordbreak=eb */, { 3, 9768, 9820, 4, 4, UNI_TFNG } /* scx=tfng */, { 0, 4033, 406, 16, 7, UNI_XPOSIXCNTRL } /* generalcategory=control */, { 0, 8984, 3, 6, 1, -UNI_QMARK } /* qmark=f */, { 0, 9768, 9335, 4, 5, UNI_TAKR } /* scx=takri */, { 16, 8147, 0, 7, 0, UNI_EXTPICT } /* extpict */, { 44, 4688, 1166, 15, 16, UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE } /* identifiertype=defaultignorable */, { 0, 8780, 9624, 6, 3, UNI_INLAO } /* block=lao */, { 24, 10027, 5944, 3, 3, UNI_JG__WAW } /* jg=waw */, { 1, 3836, 8840, 17, 6, UNI_CAKM } /* scriptextensions=chakma */, { 2, 8519, 0, 8, 0, UNI_NFKDQC__N } /* nfkdqc=n */, { 2, 2182, 8139, 21, 8, UNI_WB__EB } /* graphemeclusterbreak=ebasegaz */, { 5, 10024, 74, 3, 2, UNI_ME } /* gc=me */, { 1, 9520, 1, 4, 1, -UNI_CWL } /* cwl=n */, { 21, 10048, 8738, 3, 5, UNI_NV__60000 } /* nv=60000 */, { 3, 10063, 36, 3, 1, UNI_SD } /* sd=t */, { 0, 184, 1013, 2, 5, UNI_GREK } /* isgreek */, { 2, 9240, 10135, 5, 3, UNI_DASH } /* dash=yes */, { 14, 9768, 9832, 4, 4, UNI_TIBT } /* scx=tibt */, { 0, 8780, 979, 6, 27, UNI_ALPHABETICPF } /* block=alphabeticpresentationforms */, { 2, 8780, 3295, 6, 18, UNI_LATINEXTADDITIONAL } /* block=latinextadditional */, { 0, 184, 779, 2, 30, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* issymbolsandpictographsextendeda */, { 0, 9488, 6961, 4, 11, UNI_SUPERANDSUB } /* blk=superandsub */, { 1, 9350, 3, 5, 1, -UNI_XIDS } /* xids=f */, { 2, 8589, 8243, 7, 8, UNI_SC__MAHJ } /* script=mahajani */, { 0, 2409, 0, 4, 0, UNI_GLAG } /* glag */, { 0, 5986, 8051, 13, 8, UNI_NV__5_SLASH_6 } /* numericvalue=8.33e-01 */, { 0, 1552, 10176, 9, 2, UNI_ZL } /* category=zl */, { 4, 3133, 26, 18, 1, UNI_EBASE } /* emojimodifierbase=y */, { 1, 7325, 10105, 3, 3, UNI_IN__6 } /* in=v60 */, { 0, 10048, 8720, 3, 4, UNI_NV__4000 } /* nv=4000 */, { 1, 1417, 9126, 25, 4, UNI_CCC__19 } /* canonicalcombiningclass=ccc19 */, { 43, 3836, 9305, 17, 5, UNI_NSHU } /* scriptextensions=nushu */, { 0, 10027, 6325, 3, 12, UNI_JG__MALAYALAMNNA } /* jg=malayalamnna */, { 1, 9508, 8010, 4, 2, UNI_CCC__36 } /* ccc=36 */, { 0, 8780, 2722, 6, 10, UNI_JAMO } /* block=hanguljamo */, { 1, 6808, 0, 4, 0, UNI__PERL_SURROGATE } /* iscs */, { 0, 42, 0, 16, 0, UNI_CJKCOMPAT } /* cjkcompatibility */, { 14, 8589, 6796, 7, 11, UNI_MEDF } /* script=medefaidrin */, { 1, 5508, 0, 14, 0, UNI_patsyn_values_index } /* patternsyntax= */, { 0, 10288, 1867, 8, 5, UNI_XPOSIXUPPER } /* isxposixupper */, { 3, 8589, 7567, 7, 9, UNI_SC__SIND } /* script=khudawadi */, { 0, 7325, 10075, 3, 3, UNI_IN__2 } /* in=v20 */, { 24, 9604, 0, 4, 0, UNI_KHMR } /* khmr */, { 1, 8780, 0, 6, 42, UNI_UCASEXT } /* block=unifiedcanadianaboriginalsyllabicsextended */, { 1, 1537, 61, 3, 4, UNI_INDOGRA } /* indogra */, { 38, 10027, 6565, 3, 11, UNI_JG__AFRICANNOON } /* jg=africannoon */, { 1, 184, 9285, 2, 4, UNI_LIMB } /* islimb */, { 3, 5466, 0, 16, 0, UNI_DT__CAN } /* nfdquickcheck=no */, { 0, 7438, 6145, 10, 12, UNI_WB__EX } /* wordbreak=extendnumlet */, { 7, 1790, 10135, 22, 3, UNI_CWCM } /* changeswhencasemapped=yes */, { 1, 8421, 0, 4, 0, UNI_ELYM } /* elym */, { 0, 9488, 4001, 4, 16, UNI_CYPRIOTSYLLABARY } /* blk=cypriotsyllabary */, { 1, 3836, 8179, 17, 8, UNI_GURU } /* scriptextensions=gurmukhi */, { 3, 10006, 9255, 3, 5, -UNI_DI } /* di=false */, { 4, 9277, 8187, 3, 8, UNI_SC__HIRA } /* sc=hiragana */, { 1, 10009, 45, 3, 3, UNI_DT__COM } /* dt=com */, { 1, 6598, 0, 11, 0, UNI_CASEDLETTER } /* casedletter */, { 1, 9351, 0, 4, 0, UNI_ids_values_index } /* ids= */, { 0, 2950, 0, 19, 0, UNI_SUPARROWSB } /* supplementalarrowsb */, { 0, 2784, 8093, 4, 6, UNI_INARMENIAN } /* inarmenian */, { 16, 9768, 8115, 4, 8, UNI_BASS } /* scx=bassavah */, { 8, 8610, 0, 4, 0, UNI_SIDD } /* sidd */, { 2, 5032, 1025, 14, 2, -UNI_POSIXXDIGIT } /* asciihexdigit=no */, { 1, 8780, 660, 7, 29, UNI_CJKEXTF } /* block=cjkunifiedideographsextensionf */, { 35, 8589, 8171, 7, 8, UNI_SC__GUJR } /* script=gujarati */, { 5, 184, 8912, 2, 6, UNI_KHOJ } /* iskhojki */, { 0, 3836, 9708, 17, 4, UNI_ORYA } /* scriptextensions=orya */, { 7, 7325, 7950, 3, 1, UNI_IN__9 } /* in=9 */, { 0, 5986, 8714, 13, 2, UNI_NV__30 } /* numericvalue=30 */, { 1, 9488, 5018, 4, 14, UNI_ANCIENTSYMBOLS } /* blk=ancientsymbols */, { 0, 2224, 6940, 3, 10, UNI_INSORASOMPENG } /* insorasompeng */, { 5, 3367, 9836, 18, 4, UNI__PERL_PATWS } /* patternwhitespace=true */, { 4, 9488, 6025, 4, 12, UNI_ALPHABETICPF } /* blk=alphabeticpf */, { 0, 1417, 5648, 24, 2, UNI_CCC__10 } /* canonicalcombiningclass=10 */, { 3, 10024, 47, 3, 1, UNI_M } /* gc=m */, { 0, 3836, 8107, 17, 8, UNI_BALI } /* scriptextensions=balinese */, { 0, 2224, 2055, 3, 21, UNI_MODIFIERLETTERS } /* inspacingmodifierletters */, { 8, 3836, 7513, 17, 9, UNI_BHKS } /* scriptextensions=bhaiksuki */, { 38, 3836, 8484, 17, 7, UNI_MAND } /* scriptextensions=mandaic */, { 3, 5791, 2637, 13, 9, UNI_JG__YEHBARREE } /* joininggroup=yehbarree */, { 0, 4643, 3, 15, 1, -UNI_ECOMP } /* emojicomponent=f */, { 3, 1417, 8823, 25, 5, UNI_CCC__130 } /* canonicalcombiningclass=ccc130 */, { 4, 7325, 10078, 3, 3, UNI_IN__2_DOT_1 } /* in=v21 */, { 25, 3836, 9612, 17, 4, UNI_KNDA } /* scriptextensions=knda */, { 1, 10048, 9404, 3, 4, UNI_NV__13_SLASH_2 } /* nv=13/2 */, { 2, 21, 8338, 3, 6, UNI_INAVESTAN } /* inavestan */, { 2, 184, 3026, 3, 3, UNI_CHER } /* ischer */, { 1, 3836, 9720, 17, 4, UNI_PHLP } /* scriptextensions=phlp */, { 0, 7318, 7814, 10, 1, UNI_IN__7 } /* presentin=7 */, { 0, 9488, 5214, 4, 14, UNI_KANGXI } /* blk=kangxiradicals */, { 2, 3836, 8131, 17, 4, UNI_DUPL } /* scriptextensions=dupl */, { 16, 8780, 2141, 7, 20, UNI_CYRILLICSUP } /* block=cyrillicsupplementary */, { 1, 4928, 0, 15, 0, UNI_TAMILSUP } /* tamilsupplement */, { 1, 184, 8401, 3, 5, UNI_COMPEX } /* iscompex */, { 50, 1537, 3475, 24, 10, UNI_INPC__TOPANDLEFT } /* indicpositionalcategory=topandleft */, { 1, 7325, 9955, 3, 3, UNI_IN__3_DOT_2 } /* in=3.2 */, { 37, 9277, 5550, 3, 14, UNI_SC__PHLP } /* sc=psalterpahlavi */, { 51, 10288, 7739, 3, 7, UNI_XIDS } /* isxidstart */, { 4, 7318, 9970, 10, 3, UNI_IN__5_DOT_2 } /* presentin=5.2 */, { 0, 3547, 0, 10, 0, UNI_ALCHEMICAL } /* alchemical */, { 32, 9997, 3205, 3, 18, UNI_BC__FSI } /* bc=firststrongisolate */, { 0, 5986, 8732, 13, 5, UNI_NV__50000 } /* numericvalue=50000 */, { 32, 9536, 0, 4, 0, UNI_dep_values_index } /* dep= */, { 1, 8780, 78, 6, 10, UNI_ARABICMATH } /* block=arabicmath */, { 3, 184, 407, 3, 6, UNI_XPOSIXCNTRL } /* iscontrol */, { 0, 184, 1677, 2, 14, UNI_LATINEXTA } /* islatinextendeda */, { 2, 3836, 9584, 17, 4, UNI_HLUW } /* scriptextensions=hluw */, { 2, 9488, 0, 4, 0, UNI_blk_values_index } /* blk= */, { 0, 8589, 78, 7, 4, UNI_SC__ARAB } /* script=arab */, { 1, 184, 3667, 3, 16, UNI_CYRILLICEXTC } /* iscyrillicextendedc */, { 0, 8774, 26, 6, 1, UNI_BIDIM } /* bidim=y */, { 179, 184, 5726, 2, 13, UNI_ME } /* isenclosingmark */, { 5, 9270, 2549, 5, 3, UNI_INPC__TOP } /* inpc=top */, { 5, 9488, 9340, 4, 5, UNI_VSSUP } /* blk=vssup */, { 44, 8589, 8414, 7, 7, UNI_ELBA } /* script=elbasan */, { 4, 1189, 495, 3, 7, UNI_NT__NU } /* nt=numeric */, { 1, 4033, 1044, 16, 6, UNI_L } /* generalcategory=letter */, { 0, 4033, 5494, 16, 14, UNI_MN } /* generalcategory=nonspacingmark */, { 11, 10340, 1751, 3, 2, UNI_VAI } /* isvai */, { 20, 184, 9572, 2, 4, UNI_GUJR } /* isgujr */, { 8, 3836, 8291, 17, 4, UNI_TAGB } /* scriptextensions=tagb */, { 0, 8589, 9688, 7, 3, UNI_NKO } /* script=nko */, { 60, 2855, 0, 9, 0, UNI_MONG } /* mongolian */, { 2, 184, 2608, 2, 6, UNI_BRAH } /* isbrahmi */, { 0, 184, 1218, 2, 8, UNI_KANA } /* iskatakana */, { 0, 9536, 1, 4, 1, -UNI_DEP } /* dep=n */, { 3, 8780, 1513, 6, 24, UNI_HIGHPUSURROGATES } /* block=highprivateusesurrogates */, { 0, 7318, 10090, 10, 3, UNI_IN__4 } /* presentin=v40 */, { 0, 4628, 8, 15, 1, UNI_EA__A } /* eastasianwidth=a */, { 1, 78, 0, 10, 0, UNI_ARABICMATH } /* arabicmath */, { 12, 9277, 6939, 3, 4, UNI_SORA } /* sc=sora */, { 1, 4791, 1019, 3, 4, UNI_MUSIC } /* inmusic */, { 0, 7218, 2444, 10, 2, UNI_LB__HL } /* linebreak=hl */, { 33, 4673, 0, 15, 0, UNI_INHANGUL } /* hangulsyllables */, { 1, 184, 8428, 2, 7, UNI_GRAN } /* isgrantha */, { 4, 3382, 9255, 3, 5, -UNI_CE } /* ce=false */, { 2, 4033, 1563, 16, 2, UNI_PS } /* generalcategory=ps */, { 0, 1746, 752, 23, 4, UNI_BPT__C } /* bidipairedbrackettype=close */, { 0, 184, 8882, 2, 5, UNI_GREXT } /* isgrext */, { 3, 6231, 3026, 3, 7, UNI_INCHEROKEE } /* incherokee */, { 0, 184, 7098, 2, 10, UNI_BOXDRAWING } /* isboxdrawing */, { 0, 7540, 3, 9, 1, -UNI_EXT } /* extender=f */, { 0, 1591, 6134, 3, 11, UNI_ETHIOPICEXTA } /* inethiopicexta */, { 0, 10340, 67, 3, 4, UNI_VSSUP } /* isvssup */, { 2, 9520, 9836, 4, 4, UNI_CWL } /* cwl=true */, { 57, 8780, 6796, 6, 11, UNI_INMEDEFAIDRIN } /* block=medefaidrin */, { 6, 9488, 3421, 4, 18, UNI_RUMI } /* blk=ruminumeralsymbols */, { 12, 9265, 3, 5, 1, -UNI_IDST } /* idst=f */, { 4, 9508, 9208, 4, 2, UNI_CCC__35 } /* ccc=35 */, { 1, 6805, 187, 6, 30, UNI_MISCPICTOGRAPHS } /* inmiscellaneoussymbolsandpictographs */, { 5, 5466, 0, 14, 0, UNI_nfdqc_values_index } /* nfdquickcheck= */, { 1, 9488, 6939, 4, 11, UNI_INSORASOMPENG } /* blk=sorasompeng */, { 0, 9230, 36, 5, 1, UNI_CWCF } /* cwcf=t */, { 1, 9444, 7821, 4, 1, UNI_AGE__8 } /* age=8 */, { 0, 6554, 9255, 11, 5, -UNI_IDC } /* idcontinue=false */, { 0, 9277, 7291, 3, 7, UNI_SC__SOGD } /* sc=sogdian */, { 13, 8589, 9285, 7, 4, UNI_SC__LIMB } /* script=limb */, { 3, 3836, 9496, 17, 4, UNI_BUHD } /* scriptextensions=buhd */, { 0, 2931, 0, 19, 0, UNI_SUPARROWSA } /* supplementalarrowsa */, { 64, 184, 2684, 2, 19, UNI_EGYP } /* isegyptianhieroglyphs */, { 2, 8509, 811, 4, 27, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsupplement */, { 0, 9277, 6793, 5, 2, UNI_KHMR } /* sc=khmr */, { 0, 8780, 1319, 6, 25, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* block=symbolsandpictographsexta */, { 69, 5986, 8820, 13, 2, UNI_NV__29 } /* numericvalue=29 */, { 0, 184, 5947, 2, 13, UNI_MAYANNUMERALS } /* ismayannumerals */, { 9, 6805, 2023, 6, 9, UNI_MISCTECHNICAL } /* inmisctechnical */, { 1, 9277, 8603, 3, 7, UNI_SHAW } /* sc=shavian */, { 0, 1828, 10135, 6, 3, UNI_CASED } /* cased=yes */, { 0, 9768, 4478, 4, 4, UNI_BRAI } /* scx=brai */, { 5, 9768, 8666, 4, 7, UNI_TIRH } /* scx=tirhuta */, { 0, 9275, 7639, 5, 9, UNI_INSC__NONJOINER } /* insc=nonjoiner */, { 1, 1114, 36, 26, 1, UNI_CWKCF } /* changeswhennfkccasefolded=t */, { 0, 3836, 9564, 17, 4, UNI_GONM } /* scriptextensions=gonm */, { 0, 8589, 9612, 7, 4, UNI_SC__KNDA } /* script=knda */, { 0, 4958, 0, 15, 0, UNI_UPPERCASELETTER } /* uppercaseletter */, { 1, 10333, 4149, 3, 3, UNI_SARB } /* issarb */, { 7, 1828, 1, 6, 1, -UNI_CASED } /* cased=n */, { 0, 9277, 9002, 3, 4, UNI_SC__TELU } /* sc=telu */, { 0, 9444, 9384, 4, 4, UNI_AGE__10 } /* age=10.0 */, { 0, 8780, 3921, 6, 16, UNI_ARABICSUP } /* block=arabicsupplement */, { 0, 8589, 9532, 7, 4, UNI_SC__CYRL } /* script=cyrl */, { 1, 5986, 9436, 13, 4, UNI_NV__7_SLASH_12 } /* numericvalue=7/12 */, { 1, 1561, 0, 24, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supsymbolsandpictographs */, { 0, 4916, 4402, 3, 15, UNI_TANGUTSUP } /* istangutsupplement */, { 48, 7325, 9840, 3, 4, UNI_IN__10 } /* in=v100 */, { 1, 7325, 10108, 3, 3, UNI_IN__6_DOT_1 } /* in=v61 */, { 2, 7318, 7755, 10, 3, UNI_IN__1_DOT_1 } /* presentin=1.1 */, { 7, 9070, 0, 4, 0, UNI_POSIXXDIGIT } /* ahex */, { 1, 3836, 7188, 17, 4, UNI_KHAR } /* scriptextensions=khar */, { 0, 719, 0, 9, 0, UNI_XSUX } /* cuneiform */, { 96, 8780, 4448, 6, 8, UNI_BAMUMSUP } /* block=bamumsup */, { 0, 9488, 1441, 4, 10, UNI_CJKSYMBOLS } /* blk=cjksymbols */, { 21, 10132, 6653, 3, 11, UNI_WB__DQ } /* wb=doublequote */, { 1, 8780, 6972, 6, 11, UNI_INSYLOTINAGRI } /* block=sylotinagri */, { 0, 3836, 2817, 17, 19, UNI_MERO } /* scriptextensions=meroitichieroglyphs */, { 0, 184, 3683, 2, 16, UNI_ETHIOPICEXT } /* isethiopicextended */, { 0, 9014, 1, 6, 1, -UNI_UIDEO } /* uideo=n */, { 1, 8400, 1, 7, 1, -UNI_COMPEX } /* compex=n */, { 0, 9277, 8888, 3, 6, UNI_HATR } /* sc=hatran */, { 0, 1166, 9836, 26, 4, UNI_DI } /* defaultignorablecodepoint=true */, { 0, 10291, 1867, 5, 5, UNI_POSIXUPPER } /* posixupper */, { 0, 6231, 3650, 3, 16, UNI_CYRILLICEXTB } /* incyrillicextendedb */, { 1, 8589, 493, 7, 3, UNI_SC__HAN } /* script=han */, { 0, 8780, 2099, 7, 20, UNI_CJKCOMPATFORMS } /* block=cjkcompatibilityforms */, { 2, 5986, 7979, 13, 8, UNI_NV__3_SLASH_5 } /* numericvalue=6.00e-01 */, { 2, 10048, 7922, 3, 2, UNI_NV__24 } /* nv=24 */, { 3, 2469, 0, 20, 0, UNI_HMNP } /* nyiakengpuachuehmong */, { 25, 4829, 2411, 4, 11, UNI_GLAGOLITICSUP } /* inglagoliticsup */, { 3, 21, 4145, 2, 16, UNI_LINEARBIDEOGRAMS } /* inlinearbideograms */, { 0, 809, 0, 29, 0, UNI_ENCLOSEDIDEOGRAPHICSUP } /* enclosedideographicsupplement */, { 0, 1856, 1, 22, 1, -UNI_CWU } /* changeswhenuppercased=n */, { 0, 184, 2141, 3, 20, UNI_CYRILLICSUP } /* iscyrillicsupplementary */, { 0, 5986, 9188, 13, 2, UNI_NV__31 } /* numericvalue=31 */, { 2, 8780, 43, 7, 35, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatibilityideographssupplement */, { 1, 10033, 23, 3, 2, UNI_LB__AL } /* lb=al */, { 0, 10027, 87, 3, 2, UNI_JG__HE } /* jg=he */, { 4, 10132, 108, 3, 2, UNI_WB__MB } /* wb=mb */, { 2, 4033, 1465, 16, 13, UNI_M } /* generalcategory=combiningmark */, { 1, 9325, 0, 5, 0, UNI_RUNR } /* runic */, { 1, 1552, 727, 9, 2, UNI_MN } /* category=mn */, { 0, 7088, 10054, 10, 3, UNI_BC__PDF } /* bidiclass=pdf */, { 1, 9656, 0, 4, 0, UNI_MIAO } /* miao */, { 0, 2969, 0, 19, 0, UNI_SUPARROWSC } /* supplementalarrowsc */, { 1, 9508, 8708, 4, 3, UNI_CCC__216 } /* ccc=216 */, { 0, 9768, 9616, 4, 4, UNI_KTHI } /* scx=kthi */, { 0, 6609, 36, 11, 1, UNI_DEP } /* deprecated=t */, { 0, 8780, 510, 7, 29, UNI_CJKEXTA } /* block=cjkunifiedideographsextensiona */, { 6, 10027, 6572, 3, 4, UNI_JG__NOON } /* jg=noon */, { 1, 2182, 1194, 21, 2, UNI_LB__LF } /* graphemeclusterbreak=lf */, { 0, 8589, 4478, 7, 4, UNI_BRAI } /* script=brai */, { 1, 9768, 9576, 4, 4, UNI_GURU } /* scx=guru */, { 0, 8780, 1006, 6, 27, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusicalnotation */, { 0, 8858, 9836, 6, 4, UNI_ECOMP } /* ecomp=true */, { 16, 8780, 3241, 6, 8, UNI_INGEORGIAN } /* block=georgian */, { 0, 5739, 0, 12, 0, UNI_GRBASE } /* graphemebase */, { 40, 4928, 0, 5, 0, UNI_TAML } /* tamil */, { 0, 10024, 24, 3, 1, UNI_L } /* gc=l */, { 0, 9768, 9793, 5, 3, UNI_SOGO } /* scx=sogo */, { 25, 1768, 3, 22, 1, -UNI_CWCF } /* changeswhencasefolded=f */, { 29, 1417, 7754, 24, 2, UNI_CCC__11 } /* canonicalcombiningclass=11 */, { 0, 8589, 7651, 7, 4, UNI_ITAL } /* script=ital */, { 0, 9488, 8393, 4, 7, UNI_CJKEXTG } /* blk=cjkextg */, { 1, 9508, 18, 4, 1, UNI_CCC__R } /* ccc=r */, { 34, 8688, 7411, 3, 7, UNI_ASSIGNED } /* isassigned */, { 0, 21, 3295, 2, 18, UNI_LATINEXTADDITIONAL } /* inlatinextadditional */, { 1, 9997, 4464, 4, 14, UNI_BC__BN } /* bc=boundaryneutral */, { 0, 2760, 9, 19, 2, UNI_HST__NA } /* hangulsyllabletype=na */, { 1, 7318, 7806, 10, 1, UNI_IN__6 } /* presentin=6 */, { 43, 10033, 6587, 3, 11, UNI_LB__BB } /* lb=breakbefore */, { 1, 9716, 0, 4, 0, UNI_pcm_values_index } /* pcm= */, { 0, 9277, 1628, 3, 4, UNI_SC__PHAG } /* sc=phag */, { 3, 2529, 9255, 20, 5, -UNI_TERM } /* terminalpunctuation=false */, { 0, 9488, 5032, 4, 5, UNI_ASCII } /* blk=ascii */, { 0, 9488, 8484, 4, 7, UNI_INMANDAIC } /* blk=mandaic */, { 8, 8852, 1, 6, 1, -UNI_CWKCF } /* cwkcf=n */, { 4, 7325, 7867, 3, 3, UNI_IN__3_DOT_1 } /* in=3.1 */, { 0, 9275, 1608, 5, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* insc=consonantprecedingrepha */, { 0, 1273, 9255, 21, 5, -UNI_CE } /* compositionexclusion=false */, { 1, 8996, 1, 6, 1, -UNI_STERM } /* sterm=n */, { 1, 9792, 0, 4, 0, UNI_SOGO } /* sogo */, { 0, 184, 6409, 2, 12, UNI_MEND } /* ismendekikakui */, { 3, 9508, 9168, 4, 2, UNI_CCC__27 } /* ccc=27 */, { 5, 4853, 26, 15, 1, UNI_DT__NONE } /* nfkdquickcheck=y */, { 6, 9277, 8344, 3, 7, UNI_SC__BENG } /* sc=bengali */, { 2, 9277, 2469, 3, 20, UNI_HMNP } /* sc=nyiakengpuachuehmong */, { 1, 1417, 9928, 24, 3, UNI_CCC__BR } /* canonicalcombiningclass=222 */, { 0, 3836, 3937, 17, 4, UNI_BOPO } /* scriptextensions=bopo */, { 4, 3836, 7118, 17, 10, UNI_CHRS } /* scriptextensions=chorasmian */, { 6, 8589, 9756, 7, 4, UNI_RUNR } /* script=runr */, { 0, 9277, 5003, 3, 15, UNI_ZANB } /* sc=zanabazarsquare */, { 0, 2182, 6178, 21, 3, UNI_LB__ZWJ } /* graphemeclusterbreak=zwj */, { 2, 9508, 5377, 4, 2, UNI_CCC__7 } /* ccc=nk */, { 0, 2779, 1, 19, 1, -UNI_IDST } /* idstrinaryoperator=n */, { 2, 9488, 2010, 4, 22, UNI_MISCTECHNICAL } /* blk=miscellaneoustechnical */, { 19, 1966, 0, 22, 0, UNI_insc_values_index } /* indicsyllabiccategory= */, { 0, 9277, 7288, 3, 10, UNI_SOGO } /* sc=oldsogdian */, { 2, 9488, 9688, 4, 3, UNI_INNKO } /* blk=nko */, { 16, 8589, 8123, 7, 4, UNI_SC__BUGI } /* script=bugi */, { 1, 5986, 8756, 13, 3, UNI_NV__900 } /* numericvalue=900 */, { 0, 9235, 3, 5, 1, -UNI_CWCM } /* cwcm=f */, { 6, 8589, 9704, 7, 4, UNI_ORKH } /* script=orkh */, { 4, 8780, 4808, 6, 15, UNI_MISCPICTOGRAPHS } /* block=miscpictographs */, { 2, 9520, 1025, 4, 2, -UNI_CWL } /* cwl=no */, { 0, 9277, 9720, 3, 4, UNI_SC__PHLP } /* sc=phlp */, { 64, 7738, 0, 8, 0, UNI_XIDS } /* xidstart */, { 42, 9768, 5284, 4, 4, UNI_LISU } /* scx=lisu */, { 0, 8561, 0, 4, 0, UNI_OSMA } /* osma */, { 145, 6241, 6664, 12, 11, UNI_JT__D } /* joiningtype=dualjoining */, { 4, 8882, 26, 6, 1, UNI_GREXT } /* grext=y */, { 3, 1552, 1822, 9, 2, UNI_NL } /* category=nl */, { 5, 3529, 10135, 18, 3, UNI_VS } /* variationselector=yes */, { 0, 7675, 0, 4, 0, UNI_PALM } /* palm */, { 0, 10009, 8195, 3, 8, UNI_DT__ISO } /* dt=isolated */, { 16, 7504, 0, 9, 0, UNI_ARABICPFB } /* arabicpfb */, { 0, 9760, 0, 4, 0, UNI_SAMR } /* samr */, { 1, 9508, 7821, 4, 1, UNI_CCC__8 } /* ccc=8 */, { 2, 184, 9503, 2, 2, UNI_MC } /* ismc */, { 2, 3836, 8924, 17, 4, UNI_LEPC } /* scriptextensions=lepc */, { 0, 9556, 70, 4, 2, UNI_GCB__PP } /* gcb=pp */, { 3, 184, 8428, 2, 4, UNI_GRAN } /* isgran */, { 49, 6576, 9836, 11, 4, UNI_XPOSIXALPHA } /* alphabetic=true */, { 0, 10048, 9368, 3, 4, UNI_NV__1_SLASH_20 } /* nv=1/20 */, { 15, 9488, 78, 4, 10, UNI_ARABICMATH } /* blk=arabicmath */, { 0, 8864, 36, 6, 1, UNI_EMOJI } /* emoji=t */, { 1, 9350, 9255, 5, 5, -UNI_XIDS } /* xids=false */, { 1, 7438, 6178, 10, 3, UNI_LB__ZWJ } /* wordbreak=zwj */, { 40, 4928, 0, 8, 0, UNI_TAMILSUP } /* tamilsup */, { 0, 9270, 6518, 3, 11, UNI_PLAYINGCARDS } /* inplayingcards */, { 31, 9275, 4823, 5, 15, UNI_INSC__MODIFYINGLETTER } /* insc=modifyingletter */, { 0, 3836, 9085, 17, 5, UNI_BATK } /* scriptextensions=batak */, { 0, 8688, 3548, 3, 16, UNI_ALCHEMICAL } /* isalchemicalsymbols */, { 0, 9508, 9203, 4, 2, UNI_CCC__34 } /* ccc=34 */, { 7, 2589, 0, 19, 0, UNI_ANCIENTGREEKNUMBERS } /* ancientgreeknumbers */, { 2, 10006, 36, 3, 1, UNI_DI } /* di=t */, { 0, 8997, 9255, 5, 5, -UNI_TERM } /* term=false */, { 0, 10030, 6, 3, 1, UNI_JT__D } /* jt=d */, { 1, 9768, 2203, 4, 14, UNI_ROHG } /* scx=hanifirohingya */, { 1, 184, 24, 2, 1, UNI_L } /* isl */, { 1, 2760, 7238, 19, 10, UNI_LB__H2 } /* hangulsyllabletype=lvsyllable */, { 4, 8589, 8498, 7, 4, UNI_SC__MULT } /* script=mult */, { 0, 1114, 10135, 26, 3, UNI_CWKCF } /* changeswhennfkccasefolded=yes */, { 0, 3985, 0, 16, 0, UNI_PE } /* closepunctuation */, { 10, 9768, 8491, 4, 4, UNI_MARC } /* scx=marc */, { 1, 9768, 4273, 4, 7, UNI_MYMR } /* scx=myanmar */, { 4, 5466, 10135, 14, 3, UNI_NFDQC__Y } /* nfdquickcheck=yes */, { 1, 5986, 8066, 13, 2, UNI_NV__28 } /* numericvalue=28 */, { 1, 7228, 3, 10, 1, -UNI_XPOSIXLOWER } /* lowercase=f */, { 139, 8780, 2912, 6, 9, UNI_INSUNDANESE } /* block=sundanese */, { 0, 5746, 9836, 6, 4, UNI_EBASE } /* ebase=true */, { 1, 5791, 9044, 13, 4, UNI_JG__YUDH } /* joininggroup=yudh */, { 0, 8780, 1654, 6, 23, UNI_COMPATJAMO } /* block=hangulcompatibilityjamo */, { 22, 10132, 138, 3, 2, UNI_WB__FO } /* wb=fo */, { 0, 10027, 10057, 3, 3, UNI_JG__REH } /* jg=reh */, { 0, 5986, 9424, 13, 4, UNI_NV__3_SLASH_64 } /* numericvalue=3/64 */, { 0, 8589, 7359, 8, 9, UNI_SAUR } /* script=saurashtra */, { 4, 1417, 3564, 24, 17, UNI_WB__EB } /* canonicalcombiningclass=attachedbelowleft */, { 0, 10033, 6178, 3, 3, UNI_LB__ZWJ } /* lb=zwj */, { 3, 8762, 1, 6, 1, -UNI_XPOSIXALPHA } /* alpha=n */, { 8, 7088, 8, 10, 2, UNI_BC__AN } /* bidiclass=an */, { 1, 184, 18, 2, 2, UNI_RI } /* isri */, { 17, 10027, 5382, 3, 14, UNI_JG__MANICHAEANQOPH } /* jg=manichaeanqoph */, { 1, 9768, 7660, 4, 4, UNI_PERM } /* scx=perm */, { 0, 3836, 9464, 17, 4, UNI_ARMN } /* scriptextensions=armn */, { 0, 512, 0, 16, 0, UNI_UIDEO } /* unifiedideograph */, { 0, 9488, 2245, 4, 21, UNI_MEETEIMAYEKEXT } /* blk=meeteimayekextensions */, { 3, 7738, 9255, 9, 5, -UNI_XIDS } /* xidstart=false */, { 33, 8694, 10135, 7, 3, UNI_XPOSIXSPACE } /* wspace=yes */, { 17, 9444, 7950, 4, 1, UNI_AGE__9 } /* age=9 */, { 74, 2817, 0, 19, 0, UNI_MERO } /* meroitichieroglyphs */, { 0, 8589, 9620, 7, 4, UNI_LANA } /* script=lana */, { 0, 9768, 5003, 4, 15, UNI_ZANB } /* scx=zanabazarsquare */, { 1, 5746, 1, 6, 1, -UNI_EBASE } /* ebase=n */, { 0, 8780, 9032, 6, 6, UNI_INWANCHO } /* block=wancho */, { 8, 5284, 0, 4, 0, UNI_LISU } /* lisu */, { 20, 1900, 0, 22, 0, UNI_INDICNUMBERFORMS } /* commonindicnumberforms */, { 0, 6576, 10135, 11, 3, UNI_XPOSIXALPHA } /* alphabetic=yes */, { 0, 1006, 0, 17, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusic */, { 0, 5986, 8714, 13, 3, UNI_NV__300 } /* numericvalue=300 */, { 0, 3043, 0, 18, 0, UNI_HALFMARKS } /* combininghalfmarks */, { 0, 9277, 9335, 3, 4, UNI_SC__TAKR } /* sc=takr */, { 8, 7738, 0, 9, 0, UNI_xids_values_index } /* xidstart= */, { 0, 184, 9756, 2, 4, UNI_RUNR } /* isrunr */, { 1, 184, 7188, 2, 4, UNI_KHAR } /* iskhar */, { 3, 8884, 1, 4, 1, -UNI_EXT } /* ext=n */, { 4, 9351, 10135, 4, 3, UNI_IDS } /* ids=yes */, { 1, 184, 3169, 2, 4, UNI_ETHI } /* isethi */, { 10, 2224, 1345, 3, 24, UNI_SYMBOLSFORLEGACYCOMPUTING } /* insymbolsforlegacycomputing */, { 2, 8780, 3026, 7, 17, UNI_CHEROKEESUP } /* block=cherokeesupplement */, { 4, 9444, 9844, 4, 3, UNI_IN__1_DOT_1 } /* age=v11 */, { 0, 9768, 382, 4, 4, UNI_EGYP } /* scx=egyp */, { 89, 3277, 0, 18, 0, UNI_PI } /* initialpunctuation */, { 4, 9488, 9664, 4, 3, UNI_INMRO } /* blk=mro */, { 0, 9277, 8561, 3, 4, UNI_OSMA } /* sc=osma */, { 0, 3098, 0, 5, 0, UNI_ECOMP } /* ecomp */, { 0, 10012, 1204, 3, 9, UNI_EA__F } /* ea=fullwidth */, { 16, 1537, 9, 24, 2, UNI_INPC__NA } /* indicpositionalcategory=na */, { 0, 10048, 7874, 3, 2, UNI_NV__23 } /* nv=23 */, { 0, 5791, 5354, 13, 14, UNI_JG__MANICHAEANHETH } /* joininggroup=manichaeanheth */, { 1, 1114, 1025, 26, 2, -UNI_CWKCF } /* changeswhennfkccasefolded=no */, { 2, 3853, 9255, 17, 5, -UNI_STERM } /* sentenceterminal=false */, { 0, 7088, 2268, 10, 3, UNI_BC__PDI } /* bidiclass=pdi */, { 2, 184, 9616, 2, 4, UNI_KTHI } /* iskthi */, { 4, 10027, 5, 3, 1, UNI_JG__E } /* jg=e */, { 0, 1344, 0, 25, 0, UNI_SYMBOLSFORLEGACYCOMPUTING } /* symbolsforlegacycomputing */, { 0, 2703, 0, 19, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumsup */, { 1, 7318, 9852, 10, 4, UNI_IN__12_DOT_1 } /* presentin=v121 */, { 1, 8589, 2608, 7, 4, UNI_BRAH } /* script=brah */, { 58, 9488, 6109, 4, 12, UNI_CYRILLICEXTB } /* blk=cyrillicextb */, { 35, 6231, 720, 3, 29, UNI_CUNEIFORMNUMBERS } /* incuneiformnumbersandpunctuation */, { 98, 9277, 9828, 3, 4, UNI_THAI } /* sc=thai */, { 37, 2288, 3055, 5, 6, UNI_HALFMARKS } /* inhalfmarks */, { 7, 5986, 8727, 13, 2, UNI_NV__32 } /* numericvalue=32 */, { 0, 8852, 0, 5, 0, UNI_CWKCF } /* cwkcf */, { 2, 9488, 6807, 4, 11, UNI_MISCSYMBOLS } /* blk=miscsymbols */, { 1, 8589, 9872, 7, 4, UNI_XPEO } /* script=xpeo */, { 3, 1979, 5818, 10, 12, UNI_ZL } /* category=lineseparator */, { 3, 1417, 3572, 24, 5, UNI_CCC__B } /* canonicalcombiningclass=below */, { 17, 1369, 0, 24, 0, UNI_ARABICPFA } /* arabicpresentationformsa */, { 82, 9262, 751, 3, 5, UNI_SB__CL } /* sb=close */, { 13, 2529, 0, 21, 0, UNI_TERM } /* terminalpunctuation=t */, { 3, 9488, 4241, 4, 16, UNI_MISCMATHSYMBOLSA } /* blk=miscmathsymbolsa */, { 0, 9488, 8386, 4, 7, UNI_CJKEXTF } /* blk=cjkextf */, { 12, 8780, 1033, 6, 11, UNI_ENCLOSEDCJK } /* block=enclosedcjk */, { 1, 9277, 8428, 3, 7, UNI_SC__GRAN } /* sc=grantha */, { 0, 749, 0, 16, 0, UNI_ENCLOSEDALPHANUM } /* enclosedalphanum */, { 0, 9488, 1369, 4, 24, UNI_ARABICPFA } /* blk=arabicpresentationformsa */, { 2, 3331, 0, 18, 0, UNI_ORNAMENTALDINGBATS } /* ornamentaldingbats */, { 1, 9524, 1, 4, 1, -UNI_CWT } /* cwt=n */, { 0, 7076, 4449, 3, 14, UNI_BAMUMSUP } /* inbamumsupplement */, { 2, 7318, 7469, 10, 1, UNI_IN__5 } /* presentin=5 */, { 0, 9230, 0, 4, 0, UNI_CWCF } /* cwcf */, { 1, 9277, 9688, 3, 3, UNI_NKO } /* sc=nko */, { 0, 8631, 0, 7, 0, UNI_SUPPUAB } /* suppuab */, { 142, 9540, 9255, 4, 5, -UNI_DIA } /* dia=false */, { 2, 4033, 4568, 16, 14, UNI_SC } /* generalcategory=currencysymbol */, { 30, 8870, 26, 6, 1, UNI_EPRES } /* epres=y */, { 1, 9768, 6886, 5, 3, UNI_SHAW } /* scx=shaw */, { 1, 5032, 26, 14, 1, UNI_POSIXXDIGIT } /* asciihexdigit=y */, { 6, 5986, 9910, 13, 3, UNI_NV__1_SLASH_9 } /* numericvalue=1/9 */, { 0, 3836, 9688, 17, 4, UNI_NKO } /* scriptextensions=nkoo */, { 0, 9277, 9780, 3, 4, UNI_SHAW } /* sc=shaw */, { 6, 10048, 7950, 3, 1, UNI_NV__9 } /* nv=9 */, { 0, 7325, 9401, 3, 3, UNI_IN__3 } /* in=3.0 */, { 24, 5739, 26, 13, 1, UNI_GRBASE } /* graphemebase=y */, { 3, 184, 2836, 2, 19, UNI_MODIFIERTONELETTERS } /* ismodifiertoneletters */, { 2, 1834, 0, 22, 0, UNI_cwt_values_index } /* changeswhentitlecased= */, { 0, 184, 951, 2, 28, UNI_VSSUP } /* isvariationselectorssupplement */, { 0, 9768, 9448, 4, 4, UNI_AGHB } /* scx=aghb */, { 1, 9768, 9789, 5, 3, UNI_SHRD } /* scx=shrd */, { 0, 9508, 8805, 5, 5, UNI_CCC__118 } /* ccc=ccc118 */, { 6, 6085, 0, 12, 0, UNI_CHESSSYMBOLS } /* chesssymbols */, { 3, 10048, 8710, 3, 2, UNI_NV__60 } /* nv=60 */, { 0, 3097, 10069, 18, 3, UNI_DT__SQR } /* decompositiontype=sqr */, { 1, 6553, 1, 12, 1, -UNI_XIDC } /* xidcontinue=n */, { 0, 8147, 36, 8, 1, UNI_EXTPICT } /* extpict=t */, { 1, 8780, 809, 6, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* block=enclosedideographicsup */, { 5, 117, 4704, 3, 14, UNI_INIMPERIALARAMAIC } /* inimperialaramaic */, { 24, 9277, 3937, 3, 8, UNI_SC__BOPO } /* sc=bopomofo */, { 0, 8996, 0, 5, 0, UNI_STERM } /* sterm */, { 5, 184, 6620, 2, 6, UNI_DOMINO } /* isdomino */, { 0, 3836, 4478, 17, 7, UNI_BRAI } /* scriptextensions=braille */, { 3, 8147, 0, 8, 0, UNI_extpict_values_index } /* extpict= */, { 1, 4422, 3117, 4, 8, UNI_INDEVANAGARI } /* indevanagari */, { 0, 5578, 751, 14, 2, UNI_SB__CL } /* sentencebreak=cl */, { 0, 10048, 7765, 3, 2, UNI_NV__25 } /* nv=25 */, { 7, 8954, 0, 6, 0, UNI_nchar_values_index } /* nchar= */, { 26, 9488, 7118, 4, 10, UNI_INCHORASMIAN } /* blk=chorasmian */, { 5, 184, 1466, 3, 12, UNI_M } /* iscombiningmark */, { 0, 10296, 10309, 3, 4, UNI_XPOSIXPRINT } /* isprint */, { 1, 10048, 0, 3, 0, UNI_nv_values_index } /* nv= */, { 8, 7218, 7268, 10, 10, UNI_LB__NS } /* linebreak=nonstarter */, { 2, 5791, 4177, 13, 16, UNI_JG__MANICHAEANDALETH } /* joininggroup=manichaeandaleth */, { 5, 8589, 8606, 10, 4, UNI_SHAW } /* script=shavian */, { 1, 9688, 0, 4, 0, UNI_NKO } /* nkoo */, { 0, 8780, 2589, 6, 19, UNI_ANCIENTGREEKNUMBERS } /* block=ancientgreeknumbers */, { 0, 8589, 9696, 7, 4, UNI_OGAM } /* script=ogam */, { 33, 10027, 6774, 3, 11, UNI_JG__MALAYALAMJA } /* jg=malayalamja */, { 0, 3853, 10135, 17, 3, UNI_STERM } /* sentenceterminal=yes */, { 17, 2288, 2724, 4, 17, UNI_JAMOEXTA } /* inhanguljamoextendeda */, { 0, 7155, 9585, 3, 3, UNI_HLUW } /* ishluw */, { 0, 10048, 9376, 3, 4, UNI_NV__1_SLASH_64 } /* nv=1/64 */, { 0, 184, 3133, 2, 5, UNI_EMOJI } /* isemoji */, { 42, 2140, 0, 18, 0, UNI_CYRILLICSUP } /* cyrillicsupplement */, { 4, 184, 4793, 2, 15, UNI_MERC } /* ismeroiticcursive */, { 11, 7540, 9836, 9, 4, UNI_EXT } /* extender=true */, { 0, 78, 0, 6, 0, UNI_ARAB } /* arabic */, { 0, 9520, 9255, 4, 5, -UNI_CWL } /* cwl=false */, { 1, 184, 2032, 2, 21, UNI__PERL_NCHAR } /* isnoncharactercodepoint */, { 5, 8351, 0, 7, 0, UNI_CJKEXTA } /* cjkexta */, { 5, 7438, 4856, 10, 2, UNI_WB__DQ } /* wordbreak=dq */, { 0, 8589, 8299, 7, 8, UNI_TFNG } /* script=tifinagh */, { 13, 4628, 1192, 15, 9, UNI_EA__H } /* eastasianwidth=halfwidth */, { 2, 9508, 9934, 4, 3, UNI_CCC__R } /* ccc=226 */, { 0, 8589, 8990, 7, 6, UNI_RJNG } /* script=rejang */, { 29, 10048, 7803, 3, 8, UNI_NV__1_SLASH_64 } /* nv=1.56e-02 */, { 0, 8780, 951, 6, 28, UNI_VSSUP } /* block=variationselectorssupplement */, { 0, 6484, 0, 4, 0, UNI_HUNG } /* hung */, { 2, 3097, 6421, 18, 12, UNI_DT__NONCANON } /* decompositiontype=noncanonical */, { 0, 3836, 7428, 17, 4, UNI_WARA } /* scriptextensions=wara */, { 6, 10060, 36, 3, 1, UNI_RI } /* ri=t */, { 2, 1188, 8292, 3, 7, UNI_INTAGBANWA } /* intagbanwa */, { 3, 184, 47, 2, 1, UNI_M } /* ism */, { 12, 6710, 3881, 4, 4, UNI_INCARIAN } /* incarian */, { 0, 8780, 4273, 6, 7, UNI_INMYANMAR } /* block=myanmar */, { 3, 9275, 3061, 5, 18, UNI_INSC__CONSONANTSUBJOINED } /* insc=consonantsubjoined */, { 0, 9508, 9221, 5, 4, UNI_CCC__91 } /* ccc=ccc91 */, { 13, 8589, 4385, 7, 4, UNI_TANG } /* script=tang */, { 0, 7088, 2893, 10, 19, UNI_BC__RLO } /* bidiclass=righttoleftoverride */, { 0, 8589, 7558, 7, 9, UNI_SC__QAAI } /* script=inherited */, { 1, 7088, 10018, 10, 3, UNI_BC__FSI } /* bidiclass=fsi */, { 3, 8780, 6505, 6, 12, UNI_PHAISTOS } /* block=phaistosdisc */, { 0, 10024, 10168, 3, 2, UNI_CASEDLETTER } /* gc=l& */, { 2, 10033, 5564, 3, 9, UNI_LB__QU } /* lb=quotation */, { 3, 9488, 1033, 4, 27, UNI_ENCLOSEDCJK } /* blk=enclosedcjklettersandmonths */, { 6, 2224, 780, 3, 29, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsextendeda */, { 1, 184, 3870, 2, 17, UNI_SMALLFORMS } /* issmallformvariants */, { 0, 9808, 0, 4, 0, UNI_TALU } /* talu */, { 5, 6805, 4261, 6, 12, UNI_MISCMATHSYMBOLSB } /* inmiscmathsymbolsb */, { 8, 3836, 9008, 17, 6, UNI_THAA } /* scriptextensions=thaana */, { 6, 9277, 78, 3, 4, UNI_SC__ARAB } /* sc=arab */, { 1, 2218, 9685, 3, 3, UNI_INNEWA } /* innewa */, { 1, 3367, 0, 18, 0, UNI_patws_values_index } /* patternwhitespace= */, { 1, 6061, 10135, 12, 3, UNI_BIDIC } /* bidicontrol=yes */, { 0, 8780, 9305, 6, 5, UNI_INNUSHU } /* block=nushu */, { 1, 9488, 8596, 4, 7, UNI_SC__SHRD } /* blk=sharada */, { 0, 9768, 8344, 4, 4, UNI_BENG } /* scx=beng */, { 6, 3853, 3, 17, 1, -UNI_STERM } /* sentenceterminal=f */, { 1, 779, 0, 30, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsextendeda */, { 1, 9260, 1025, 5, 2, -UNI_IDSB } /* idsb=no */, { 1, 9768, 7621, 4, 9, UNI_NBAT } /* scx=nabataean */, { 3, 8780, 2076, 6, 22, UNI_TRANSPORTANDMAP } /* block=transportandmapsymbols */, { 0, 6469, 0, 12, 0, UNI_nt_values_index } /* numerictype= */, { 0, 7218, 7522, 10, 9, UNI_LB__B2 } /* linebreak=breakboth */, { 0, 9277, 9245, 3, 5, UNI_SC__DOGR } /* sc=dogra */, { 0, 9488, 908, 4, 10, UNI_PUA } /* blk=privateuse */, { 7, 10027, 6906, 3, 11, UNI_JG__ROHINGYAYEH } /* jg=rohingyayeh */, { 3, 2288, 1656, 4, 21, UNI_COMPATJAMO } /* inhangulcompatibilityjamo */, { 2, 3097, 1294, 18, 5, UNI_DT__SUP } /* decompositiontype=super */, { 2, 9488, 4598, 4, 15, UNI_DIACRITICALSEXT } /* blk=diacriticalsext */, { 0, 9508, 7950, 4, 1, UNI_CCC__9 } /* ccc=9 */, { 5, 4065, 0, 16, 0, UNI_HALFANDFULLFORMS } /* halfandfullforms */, { 2, 7088, 3700, 10, 17, UNI_BC__ES } /* bidiclass=europeanseparator */, { 48, 8589, 2855, 7, 9, UNI_SC__MONG } /* script=mongolian */, { 0, 7218, 395, 10, 2, UNI_LB__GL } /* linebreak=gl */, { 1, 9008, 0, 4, 0, UNI_THAA } /* thaa */, { 3, 9488, 6121, 4, 12, UNI_CYRILLICEXTC } /* blk=cyrillicextc */, { 4, 184, 1944, 2, 22, UNI_EARLYDYNASTICCUNEIFORM } /* isearlydynasticcuneiform */, { 8, 10024, 6035, 3, 2, UNI_PF } /* gc=pf */, { 0, 10048, 8750, 3, 4, UNI_NV__8000 } /* nv=8000 */, { 2, 4116, 6, 3, 2, UNI_IDC } /* isidc */, { 7, 10048, 7858, 3, 2, UNI_NV__22 } /* nv=22 */, { 1, 9488, 2609, 5, 5, UNI_INBRAHMI } /* blk=brahmi */, { 0, 8115, 0, 4, 0, UNI_BASS } /* bass */, { 2, 9768, 8477, 4, 7, UNI_MAKA } /* scx=makasar */, { 0, 8780, 570, 7, 29, UNI_CJKEXTC } /* block=cjkunifiedideographsextensionc */, { 0, 10033, 5585, 3, 2, UNI_EBASE } /* lb=eb */, { 14, 2119, 0, 14, 0, UNI_CJKRADICALSSUP } /* cjkradicalssup */, { 0, 493, 0, 3, 0, UNI_HAN } /* han */, { 1, 3836, 2817, 17, 4, UNI_MERO } /* scriptextensions=mero */, { 1, 10288, 6554, 3, 10, UNI_XIDC } /* isxidcontinue */, { 65, 184, 6807, 2, 11, UNI_MISCSYMBOLS } /* ismiscsymbols */, { 65, 9508, 9922, 4, 3, UNI_CCC__214 } /* ccc=214 */, { 100, 8275, 0, 8, 0, UNI_SPECIALS } /* specials */, { 0, 5986, 7890, 13, 2, UNI_NV__33 } /* numericvalue=33 */, { 0, 2288, 1514, 3, 23, UNI_HIGHPUSURROGATES } /* inhighprivateusesurrogates */, { 24, 2760, 5633, 19, 2, UNI_LB__H2 } /* hangulsyllabletype=lv */, { 17, 184, 908, 2, 14, UNI_PUA } /* isprivateusearea */, { 0, 9768, 8659, 4, 7, UNI_TIBT } /* scx=tibetan */, { 4, 10129, 10135, 3, 3, UNI_VS } /* vs=yes */, { 1, 7540, 9255, 9, 5, -UNI_EXT } /* extender=false */, { 1, 9350, 1025, 5, 2, -UNI_XIDS } /* xids=no */, { 1, 9768, 8645, 4, 7, UNI_LANA } /* scx=taitham */, { 0, 8589, 2817, 7, 19, UNI_MERO } /* script=meroitichieroglyphs */, { 11, 9504, 0, 4, 0, UNI_CANS } /* cans */, { 0, 9277, 9580, 3, 4, UNI_SC__HANO } /* sc=hano */, { 15, 10024, 1, 3, 1, UNI_N } /* gc=n */, { 21, 3836, 9740, 17, 4, UNI_QAAI } /* scriptextensions=qaai */, { 22, 10033, 5088, 3, 14, UNI_LB__SA } /* lb=complexcontext */, { 0, 1417, 9223, 24, 2, UNI_CCC__91 } /* canonicalcombiningclass=91 */, { 0, 9596, 6541, 4, 12, UNI_GCB__T } /* hst=trailingjamo */, { 0, 8688, 3923, 4, 14, UNI_ARABICSUP } /* isarabicsupplement */, { 4, 184, 3893, 2, 11, UNI_SGNW } /* issignwriting */, { 0, 7118, 0, 10, 0, UNI_CHRS } /* chorasmian */, { 4, 0, 0, 42, 0, UNI_UCASEXT } /* unifiedcanadianaboriginalsyllabicsextended */, { 3, 10333, 6973, 3, 3, UNI_SYLO } /* issylo */, { 5, 7088, 2509, 10, 11, UNI_BC__R } /* bidiclass=righttoleft */, { 5, 9275, 4417, 5, 5, UNI_INSC__VOWEL } /* insc=vowel */, { 0, 10024, 5494, 3, 14, UNI_MN } /* gc=nonspacingmark */, { 32, 1552, 9225, 9, 5, UNI_XPOSIXCNTRL } /* category=cntrl */, { 16, 9262, 9080, 3, 5, UNI_SB__AT } /* sb=aterm */, { 0, 10033, 908, 3, 2, UNI_LB__PR } /* lb=pr */, { 0, 7318, 7781, 10, 1, UNI_IN__4 } /* presentin=4 */, { 0, 4883, 0, 15, 0, UNI_SARB } /* oldsoutharabian */, { 0, 5791, 4773, 13, 3, UNI_JG__SAD } /* joininggroup=sad */, { 1, 183, 0, 20, 0, UNI_MISCSYMBOLS } /* miscellaneoussymbols */, { 1, 6231, 3081, 4, 16, UNI_COPTICEPACTNUMBERS } /* incopticepactnumbers */, { 1, 5116, 1, 14, 1, -UNI_EMOD } /* emojimodifier=n */, { 0, 3836, 9636, 17, 4, UNI_LINB } /* scriptextensions=linb */, { 32, 8780, 349, 6, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supplementalsymbolsandpictographs */, { 0, 5018, 0, 14, 0, UNI_ANCIENTSYMBOLS } /* ancientsymbols */, { 4, 10048, 7821, 3, 1, UNI_NV__8 } /* nv=8 */, { 3, 5986, 9380, 13, 3, UNI_NV__1_SLASH_8 } /* numericvalue=1/8 */, { 3, 9488, 8379, 4, 7, UNI_CJKEXTE } /* blk=cjkexte */, { 24, 4916, 3458, 3, 10, UNI_TAIXUANJING } /* istaixuanjing */, { 1, 8864, 9255, 6, 5, -UNI_EMOJI } /* emoji=false */, { 1, 3836, 2560, 17, 4, UNI_MAND } /* scriptextensions=mand */, { 1, 8912, 0, 4, 0, UNI_KHOJ } /* khoj */, { 0, 8780, 8243, 6, 8, UNI_INMAHAJANI } /* block=mahajani */, { 1, 9277, 3241, 3, 8, UNI_SC__GEOR } /* sc=georgian */, { 1, 8187, 0, 4, 0, UNI_HIRA } /* hira */, { 23, 184, 2054, 2, 22, UNI_MODIFIERLETTERS } /* isspacingmodifierletters */, { 0, 1417, 7858, 24, 3, UNI_CCC__B } /* canonicalcombiningclass=220 */, { 0, 9290, 9836, 5, 4, UNI_MATH } /* math=true */, { 1, 5986, 9432, 13, 4, UNI_NV__5_SLASH_12 } /* numericvalue=5/12 */, { 1, 9768, 9808, 4, 4, UNI_TALU } /* scx=talu */, { 15, 3529, 9255, 18, 5, -UNI_VS } /* variationselector=false */, { 0, 1537, 7170, 4, 8, UNI_INDIVESAKURU } /* indivesakuru */, { 1, 3529, 9836, 18, 4, UNI_VS } /* variationselector=true */, { 8, 1834, 1, 22, 1, -UNI_CWT } /* changeswhentitlecased=n */, { 0, 3097, 2569, 18, 4, UNI_DT__VERT } /* decompositiontype=vert */, { 2, 4916, 2297, 3, 3, UNI_THAI } /* isthai */, { 51, 9556, 34, 4, 6, UNI_GCB__EX } /* gcb=extend */, { 1, 184, 2350, 3, 19, UNI_PC } /* isconnectorpunctuation */, { 8, 7158, 0, 10, 0, UNI_dia_values_index } /* diacritic= */, { 2, 4033, 728, 16, 6, UNI_N } /* generalcategory=number */, { 0, 10048, 8756, 3, 3, UNI_NV__900 } /* nv=900 */, { 2, 9488, 113, 4, 25, UNI_DIACRITICALS } /* blk=combiningdiacriticalmarks */, { 1, 96, 0, 10, 0, UNI_XPOSIXALPHA } /* alphabetic */, { 0, 9488, 1677, 4, 9, UNI_LATINEXTE } /* blk=latinexte */, { 0, 184, 809, 2, 29, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsupplement */, { 3, 8589, 8876, 7, 4, UNI_GOTH } /* script=goth */, { 0, 10048, 7778, 3, 2, UNI_NV__21 } /* nv=21 */, { 1, 2529, 1025, 20, 2, -UNI_TERM } /* terminalpunctuation=no */, { 1, 184, 5746, 2, 5, UNI_EBASE } /* isebase */, { 0, 8589, 1115, 7, 4, UNI_SC__HANG } /* script=hang */, { 54, 184, 3295, 2, 18, UNI_LATINEXTADDITIONAL } /* islatinextadditional */, { 31, 9488, 3683, 4, 16, UNI_ETHIOPICEXT } /* blk=ethiopicextended */, { 3, 7438, 5746, 10, 5, UNI_WB__EB } /* wordbreak=ebase */, { 5, 8589, 8091, 7, 8, UNI_ARMN } /* script=armenian */, { 22, 7076, 1586, 3, 22, UNI_BYZANTINEMUSIC } /* inbyzantinemusicalsymbols */, { 0, 7155, 8450, 3, 5, UNI_HYPHEN } /* ishyphen */, { 0, 5791, 5, 13, 1, UNI_JG__E } /* joininggroup=e */, { 1, 9277, 9656, 3, 4, UNI_MIAO } /* sc=miao */, { 3, 10132, 8139, 3, 8, UNI_WB__EB } /* wb=ebasegaz */, { 2, 1417, 0, 24, 0, UNI_ccc_values_index } /* canonicalcombiningclass= */, { 1, 2529, 10135, 20, 3, UNI_TERM } /* terminalpunctuation=yes */, { 4, 9816, 0, 4, 0, UNI_TAVT } /* tavt */, { 5, 8768, 36, 6, 1, UNI_BIDIC } /* bidic=t */, { 0, 9768, 8107, 4, 4, UNI_BALI } /* scx=bali */, { 0, 8449, 36, 7, 1, UNI_HYPHEN } /* hyphen=t */, { 1, 9444, 10102, 4, 3, UNI_AGE__5_DOT_2 } /* age=v52 */, { 14, 5986, 8732, 13, 6, UNI_NV__500000 } /* numericvalue=500000 */, { 0, 4916, 8584, 3, 3, UNI_TAGS } /* istags */, { 8, 9788, 0, 4, 0, UNI_SHRD } /* shrd */, { 2, 9488, 4973, 4, 8, UNI_VEDICEXT } /* blk=vedicext */, { 1, 9488, 2855, 4, 12, UNI_MONGOLIANSUP } /* blk=mongoliansup */, { 0, 9020, 36, 6, 1, UNI_XPOSIXUPPER } /* upper=t */, { 24, 1417, 9221, 25, 4, UNI_CCC__91 } /* canonicalcombiningclass=ccc91 */, { 1, 9488, 2429, 4, 20, UNI_ININSCRIPTIONALPAHLAVI } /* blk=inscriptionalpahlavi */, { 1, 6277, 0, 12, 0, UNI_MAHJONG } /* mahjongtiles */, { 0, 184, 8484, 2, 7, UNI_MAND } /* ismandaic */, { 3, 8780, 2666, 7, 18, UNI_COUNTINGROD } /* block=countingrodnumerals */, { 1, 184, 9864, 2, 4, UNI_WCHO } /* iswcho */, { 33, 5060, 1, 14, 1, -UNI_CI } /* caseignorable=n */, { 0, 184, 1, 2, 1, UNI_N } /* isn */, { 7, 8780, 4478, 6, 7, UNI_BRAI } /* block=braille */, { 8, 5578, 1867, 14, 5, UNI_SB__UP } /* sentencebreak=upper */, { 6, 9768, 7651, 4, 4, UNI_ITAL } /* scx=ital */, { 4, 10048, 8738, 3, 6, UNI_NV__600000 } /* nv=600000 */, { 13, 3079, 0, 6, 0, UNI_COPT } /* coptic */, { 8, 8589, 2224, 7, 21, UNI_PRTI } /* script=inscriptionalparthian */, { 1, 3836, 9600, 17, 4, UNI_KALI } /* scriptextensions=kali */, { 47, 1417, 16, 24, 1, UNI_CCC__B } /* canonicalcombiningclass=b */, { 1, 8589, 2913, 8, 8, UNI_SUND } /* script=sundanese */, { 33, 10048, 8019, 3, 8, UNI_NV__2_SLASH_3 } /* nv=6.67e-01 */, { 32, 3424, 1, 3, 41, UNI_UCASEXT } /* inunifiedcanadianaboriginalsyllabicsextended */, { 16, 9768, 8442, 4, 7, UNI_HANO } /* scx=hanunoo */, { 26, 9070, 1025, 5, 2, -UNI_POSIXXDIGIT } /* ahex=no */, { 0, 184, 8936, 2, 6, UNI_LYCI } /* islycian */, { 1, 6253, 0, 12, 0, UNI_KHMERSYMBOLS } /* khmersymbols */, { 0, 9768, 5843, 4, 9, UNI_MLYM } /* scx=malayalam */, { 0, 10024, 341, 3, 2, UNI_PE } /* gc=pe */, { 7, 9488, 3331, 4, 18, UNI_ORNAMENTALDINGBATS } /* blk=ornamentaldingbats */, { 4, 9508, 3015, 4, 5, UNI_CCC__A } /* ccc=above */, { 1, 9488, 3457, 4, 18, UNI_TAIXUANJING } /* blk=taixuanjingsymbols */, { 0, 5791, 7199, 14, 9, UNI_JG__KNOTTEDHEH } /* joininggroup=knottedheh */, { 5, 1417, 8795, 24, 3, UNI_CCC__103 } /* canonicalcombiningclass=103 */, { 1, 5791, 10057, 13, 3, UNI_JG__REH } /* joininggroup=reh */, { 3, 9488, 5688, 5, 12, UNI_BLOCKELEMENTS } /* blk=blockelements */, { 0, 1878, 0, 22, 0, UNI_CJKCOMPATIDEOGRAPHSSUP } /* cjkcompatideographssup */, { 1, 7318, 9840, 10, 4, UNI_IN__10 } /* presentin=v100 */, { 0, 8780, 7291, 6, 7, UNI_INSOGDIAN } /* block=sogdian */, { 24, 9277, 8990, 3, 6, UNI_RJNG } /* sc=rejang */, { 0, 10027, 9648, 3, 4, UNI_JG__MEEM } /* jg=meem */, { 5, 9724, 0, 4, 0, UNI_PHNX } /* phnx */, { 2, 184, 2855, 2, 12, UNI_MONGOLIANSUP } /* ismongoliansup */, { 1, 9768, 3241, 4, 8, UNI_GEOR } /* scx=georgian */, { 4, 10033, 10160, 3, 2, UNI_LB__H3 } /* lb=h3 */, { 2, 9492, 751, 4, 5, UNI_BPT__C } /* bpt=close */, { 8, 8407, 0, 7, 0, UNI_DSRT } /* deseret */, { 56, 10048, 8750, 3, 6, UNI_NV__800000 } /* nv=800000 */, { 1, 2409, 0, 13, 0, UNI_GLAGOLITICSUP } /* glagoliticsup */, { 16, 9768, 9592, 4, 4, UNI_HMNP } /* scx=hmnp */, { 9, 8589, 9584, 7, 4, UNI_HLUW } /* script=hluw */, { 1, 2280, 4885, 4, 13, UNI_SARB } /* isoldsoutharabian */, { 1, 3836, 9664, 17, 4, UNI_MRO } /* scriptextensions=mroo */, { 176, 6420, 9321, 3, 4, UNI_INOSAGE } /* inosage */, { 1, 8780, 8906, 6, 6, UNI_KANBUN } /* block=kanbun */, { 81, 1944, 0, 22, 0, UNI_EARLYDYNASTICCUNEIFORM } /* earlydynasticcuneiform */, { 2, 9277, 382, 3, 4, UNI_EGYP } /* sc=egyp */, { 0, 1087, 3, 27, 1, -UNI_PCM } /* prependedconcatenationmark=f */, { 0, 8589, 7288, 7, 10, UNI_SOGO } /* script=oldsogdian */, { 10, 9488, 5270, 4, 14, UNI_LATINEXTE } /* blk=latinextendede */, { 112, 3836, 9900, 17, 4, UNI_ZZZZ } /* scriptextensions=zzzz */, { 0, 8688, 2590, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* isancientgreeknumbers */, { 65, 9997, 10042, 3, 3, UNI_BC__LRO } /* bc=lro */, { 0, 10033, 1465, 3, 13, UNI_LB__CM } /* lb=combiningmark */, { 28, 8780, 43, 7, 8, UNI_CJKCOMPAT } /* block=cjkcompat */, { 32, 7630, 0, 9, 0, UNI_TALU } /* newtailue */, { 3, 9768, 493, 4, 3, UNI_HAN } /* scx=han */, { 4, 10340, 9861, 3, 3, UNI_VAI } /* isvaii */, { 4, 10027, 7045, 3, 3, UNI_JG__FEH } /* jg=feh */, { 1, 6710, 3583, 4, 15, UNI_UCAS } /* incanadiansyllabics */, { 2, 4791, 6798, 4, 9, UNI_INMEDEFAIDRIN } /* inmedefaidrin */, { 4, 9768, 8456, 4, 7, UNI_KNDA } /* scx=kannada */, { 56, 1527, 0, 9, 0, UNI__PERL_SURROGATE } /* surrogate */, { 1, 8780, 2855, 6, 12, UNI_MONGOLIANSUP } /* block=mongoliansup */, { 0, 6807, 0, 11, 0, UNI_MISCSYMBOLS } /* miscsymbols */, { 1, 9290, 3, 5, 1, -UNI_MATH } /* math=f */, { 0, 8780, 1677, 6, 23, UNI_LATINEXTADDITIONAL } /* block=latinextendedadditional */, { 7, 9071, 10135, 4, 3, UNI_XPOSIXXDIGIT } /* hex=yes */, { 0, 5986, 9203, 13, 2, UNI_NV__34 } /* numericvalue=34 */, { 2, 8780, 540, 7, 29, UNI_CJKEXTB } /* block=cjkunifiedideographsextensionb */, { 0, 9038, 0, 4, 0, UNI_YEZI } /* yezi */, { 33, 5284, 0, 14, 0, UNI_LISUSUP } /* lisusupplement */, { 9, 4033, 4958, 16, 15, UNI_UPPERCASELETTER } /* generalcategory=uppercaseletter */, { 0, 3836, 9808, 17, 4, UNI_TALU } /* scriptextensions=talu */, { 8, 3836, 9860, 17, 3, UNI_VAI } /* scriptextensions=vai */, { 5, 9768, 9008, 4, 6, UNI_THAA } /* scx=thaana */, { 0, 8589, 7278, 7, 10, UNI_XPEO } /* script=oldpersian */, { 0, 3836, 3169, 17, 8, UNI_ETHI } /* scriptextensions=ethiopic */, { 9, 1828, 9255, 6, 5, -UNI_CASED } /* cased=false */, { 0, 10030, 6994, 3, 11, UNI_JT__T } /* jt=transparent */, { 0, 9768, 8421, 4, 4, UNI_ELYM } /* scx=elym */, { 2, 9488, 2061, 4, 15, UNI_MODIFIERLETTERS } /* blk=modifierletters */, { 1, 8589, 9464, 7, 4, UNI_ARMN } /* script=armn */, { 7, 9488, 8372, 4, 7, UNI_CJKEXTD } /* blk=cjkextd */, { 100, 8589, 8912, 7, 6, UNI_SC__KHOJ } /* script=khojki */, { 0, 9488, 4449, 5, 4, UNI_INBAMUM } /* blk=bamum */, { 57, 8780, 8659, 6, 7, UNI_INTIBETAN } /* block=tibetan */, { 2, 9235, 9255, 5, 5, -UNI_CWCM } /* cwcm=false */, { 0, 3904, 3, 17, 1, -UNI_UIDEO } /* unifiedideograph=f */, { 0, 7188, 0, 4, 0, UNI_KHAR } /* khar */, { 2, 8780, 2477, 6, 3, UNI_PUA } /* block=pua */, { 32, 8780, 7248, 6, 10, UNI_MISCARROWS } /* block=miscarrows */, { 138, 9270, 5523, 3, 13, UNI_PHONETICEXTSUP } /* inphoneticextsup */, { 0, 4916, 4929, 3, 14, UNI_TAMILSUP } /* istamilsupplement */, { 1, 3836, 9632, 17, 4, UNI_LINA } /* scriptextensions=lina */, { 0, 8780, 0, 6, 0, UNI_blk_values_index } /* block= */, { 68, 8589, 9002, 7, 4, UNI_SC__TELU } /* script=telu */, { 22, 5578, 339, 14, 2, UNI_SB__LO } /* sentencebreak=lo */, { 0, 2349, 0, 20, 0, UNI_PC } /* connectorpunctuation */, { 1, 184, 5674, 2, 5, UNI_BIDIM } /* isbidim */, { 24, 10024, 908, 3, 10, UNI_CO } /* gc=privateuse */, { 64, 21, 2308, 2, 21, UNI_YIJING } /* inyijinghexagramsymbols */, { 0, 3836, 7648, 17, 9, UNI_ITAL } /* scriptextensions=olditalic */, { 0, 9508, 3007, 4, 18, UNI_CCC__216 } /* ccc=attachedaboveright */, { 2, 9503, 0, 2, 0, UNI_MC } /* mc */, { 8, 9277, 5843, 3, 9, UNI_SC__MLYM } /* sc=malayalam */, { 0, 9716, 1, 4, 1, -UNI_PCM } /* pcm=n */, { 29, 9997, 2266, 3, 21, UNI_BC__PDI } /* bc=popdirectionalisolate */, { 0, 10296, 10308, 7, 5, UNI_POSIXPRINT } /* isposixprint */, { 32, 10027, 4193, 3, 16, UNI_JG__MANICHAEANLAMEDH } /* jg=manichaeanlamedh */, { 138, 10333, 6886, 3, 3, UNI_SHAW } /* isshaw */, { 0, 9488, 5074, 4, 14, UNI_CJKCOMPATFORMS } /* blk=cjkcompatforms */, { 31, 3683, 0, 11, 0, UNI_ETHIOPICEXT } /* ethiopicext */, { 17, 9768, 9740, 4, 4, UNI_QAAI } /* scx=qaai */, { 3, 7218, 495, 10, 7, UNI_LB__NU } /* linebreak=numeric */, { 6, 9540, 0, 4, 0, UNI_dia_values_index } /* dia= */, { 0, 9070, 0, 5, 0, UNI_ahex_values_index } /* ahex= */, { 0, 8780, 3633, 7, 16, UNI_CYRILLICEXTA } /* block=cyrillicextendeda */, { 2, 4385, 0, 16, 0, UNI_TANGUTCOMPONENTS } /* tangutcomponents */, { 50, 8780, 6098, 7, 11, UNI_CYRILLICEXTA } /* block=cyrillicexta */, { 0, 9275, 4113, 5, 16, UNI_INSC__INVISIBLESTACKER } /* insc=invisiblestacker */, { 0, 9488, 1344, 4, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* blk=symbolsforlegacycomputing */, { 1, 4542, 1633, 4, 13, UNI_GEOMETRICSHAPES } /* ingeometricshapes */, { 4, 9488, 6397, 4, 12, UNI_MATHALPHANUM } /* blk=mathalphanum */, { 4, 9345, 0, 5, 0, UNI_xidc_values_index } /* xidc= */, { 1, 3836, 9588, 17, 4, UNI_HMNG } /* scriptextensions=hmng */, { 0, 7228, 9836, 10, 4, UNI_XPOSIXLOWER } /* lowercase=true */, { 166, 10024, 400, 3, 6, UNI_CF } /* gc=format */, { 2, 9488, 5158, 4, 14, UNI_INGREEK } /* blk=greekandcoptic */, { 1, 838, 0, 29, 0, UNI_MISCARROWS } /* miscellaneoussymbolsandarrows */, { 4, 8882, 3, 6, 1, -UNI_GREXT } /* grext=f */, { 16, 2288, 4675, 4, 13, UNI_INHANGUL } /* inhangulsyllables */, { 0, 9270, 2549, 5, 20, UNI_INPC__TOPANDBOTTOMANDRIGHT } /* inpc=topandbottomandright */, { 0, 3921, 0, 16, 0, UNI_ARABICSUP } /* arabicsupplement */, { 8, 21, 2308, 2, 6, UNI_YIJING } /* inyijing */, { 0, 7495, 0, 9, 0, UNI_ARABICPFA } /* arabicpfa */, { 0, 184, 4340, 2, 13, UNI_MATHOPERATORS } /* ismathoperators */, { 0, 9488, 5778, 4, 6, UNI_IPAEXT } /* blk=ipaext */, { 0, 10027, 5620, 3, 10, UNI_JG__TEHMARBUTA } /* jg=tehmarbuta */, { 0, 2182, 73, 21, 2, UNI_WB__EB } /* graphemeclusterbreak=em */, { 0, 1979, 10169, 10, 1, UNI_CASEDLETTER } /* category=l& */, { 0, 9528, 1, 4, 1, -UNI_CWU } /* cwu=n */, { 0, 2760, 7720, 19, 9, UNI_GCB__V } /* hangulsyllabletype=voweljamo */, { 5, 184, 10168, 2, 2, UNI_CASEDLETTER } /* isl& */, { 182, 8365, 0, 7, 0, UNI_CJKEXTC } /* cjkextc */, { 4, 9768, 2224, 4, 21, UNI_PRTI } /* scx=inscriptionalparthian */, { 2, 9320, 0, 5, 0, UNI_OSGE } /* osage */, { 144, 9020, 1025, 6, 2, -UNI_XPOSIXUPPER } /* upper=no */, { 0, 9488, 1900, 4, 22, UNI_INDICNUMBERFORMS } /* blk=commonindicnumberforms */, { 1, 5986, 8075, 13, 8, UNI_NV__7_SLASH_8 } /* numericvalue=8.75e-01 */, { 0, 5116, 1025, 14, 2, -UNI_EMOD } /* emojimodifier=no */, { 141, 9444, 10099, 4, 3, UNI_AGE__5_DOT_1 } /* age=v51 */, { 0, 8688, 5719, 3, 4, UNI_XPOSIXALNUM } /* isalnum */, { 12, 10333, 0, 7, 0, UNI_XPOSIXSPACE } /* isspace */, { 2, 1631, 0, 23, 0, UNI_GEOMETRICSHAPESEXT } /* geometricshapesextended */, { 1, 2288, 8188, 3, 7, UNI_INHIRAGANA } /* inhiragana */, { 3, 9230, 10135, 5, 3, UNI_CWCF } /* cwcf=yes */, { 9, 9508, 9931, 4, 3, UNI_CCC__L } /* ccc=224 */, { 8, 9768, 9245, 4, 4, UNI_DOGR } /* scx=dogr */, { 1, 6420, 7649, 3, 8, UNI_INOLDITALIC } /* inolditalic */, { 0, 9768, 6973, 5, 3, UNI_SYLO } /* scx=sylo */, { 37, 5578, 69, 14, 2, UNI_SB__UP } /* sentencebreak=up */, { 2, 2280, 7290, 4, 8, UNI_SOGO } /* isoldsogdian */, { 0, 5116, 9836, 14, 4, UNI_EMOD } /* emojimodifier=true */, { 0, 9277, 6409, 3, 4, UNI_MEND } /* sc=mend */, { 113, 10333, 2913, 3, 8, UNI_SUND } /* issundanese */, { 2, 3836, 7675, 17, 4, UNI_PALM } /* scriptextensions=palm */, { 34, 8589, 9548, 7, 4, UNI_DSRT } /* script=dsrt */, { 10, 9768, 7118, 4, 10, UNI_CHRS } /* scx=chorasmian */, { 0, 9997, 3374, 3, 10, UNI_BC__WS } /* bc=whitespace */, { 1, 8852, 1025, 6, 2, -UNI_CWKCF } /* cwkcf=no */, { 7, 2477, 0, 3, 0, UNI_PUA } /* pua */, { 1, 184, 809, 2, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* isenclosedideographicsup */, { 0, 1417, 8, 24, 1, UNI_CCC__A } /* canonicalcombiningclass=a */, { 46, 5466, 26, 14, 1, UNI_NFDQC__Y } /* nfdquickcheck=y */, { 0, 2182, 24, 21, 1, UNI_GCB__L } /* graphemeclusterbreak=l */, { 5, 9275, 1244, 5, 9, UNI_INSC__CONSONANT } /* insc=consonant */, { 1, 10048, 8732, 3, 5, UNI_NV__50000 } /* nv=50000 */, { 0, 10024, 10176, 3, 2, UNI_ZL } /* gc=zl */, { 5, 9488, 4883, 4, 15, UNI_SARB } /* blk=oldsoutharabian */, { 43, 184, 5270, 2, 14, UNI_LATINEXTE } /* islatinextendede */, { 0, 10063, 26, 3, 1, UNI_SD } /* sd=y */, { 0, 5791, 5918, 13, 3, UNI_JG__TAW } /* joininggroup=taw */, { 10, 3385, 3, 18, 1, -UNI_RI } /* regionalindicator=f */, { 2, 9488, 7594, 4, 9, UNI_LATINEXTD } /* blk=latinextd */, { 0, 3836, 1900, 17, 6, UNI_ZYYY } /* scriptextensions=common */, { 0, 10033, 10158, 3, 2, UNI_LB__H2 } /* lb=h2 */, { 144, 9768, 7359, 5, 3, UNI_SAUR } /* scx=saur */, { 1, 10048, 7859, 3, 6, UNI_NV__200000 } /* nv=200000 */, { 0, 5986, 7923, 13, 8, UNI_NV__2_SLASH_5 } /* numericvalue=4.00e-01 */, { 32, 184, 2141, 3, 10, UNI_CYRILLICSUP } /* iscyrillicsup */, { 0, 4916, 3458, 3, 17, UNI_TAIXUANJING } /* istaixuanjingsymbols */, { 4, 8780, 2141, 7, 17, UNI_CYRILLICSUP } /* block=cyrillicsupplement */, { 7, 8780, 4448, 6, 5, UNI_INBAMUM } /* block=bamum */, { 1, 8091, 0, 8, 0, UNI_ARMN } /* armenian */, { 32, 184, 0, 3, 0, UNI_C } /* isc */, { 0, 184, 8115, 2, 4, UNI_BASS } /* isbass */, { 3, 184, 4583, 2, 4, UNI_DASH } /* isdash */, { 1, 9488, 4401, 4, 16, UNI_TANGUTSUP } /* blk=tangutsupplement */, { 1, 8780, 4257, 6, 16, UNI_MISCMATHSYMBOLSB } /* block=miscmathsymbolsb */, { 2, 9015, 1, 5, 1, -UNI_IDEO } /* ideo=n */, { 0, 184, 1677, 2, 5, UNI_LATN } /* islatin */, { 12, 10288, 3379, 8, 5, UNI_XPOSIXSPACE } /* isxposixspace */, { 89, 9488, 3439, 4, 18, UNI_SMALLKANAEXT } /* blk=smallkanaextension */, { 1, 2569, 0, 20, 0, UNI_vo_values_index } /* verticalorientation= */, { 0, 10024, 2268, 3, 2, UNI_PD } /* gc=pd */, { 30, 9488, 5256, 4, 14, UNI_LATINEXTD } /* blk=latinextendedd */, { 0, 8780, 567, 6, 2, UNI_NB } /* block=nb */, { 4, 10048, 7859, 3, 2, UNI_NV__20 } /* nv=20 */, { 0, 9444, 10123, 4, 3, UNI_AGE__9 } /* age=v90 */, { 0, 1417, 8811, 25, 5, UNI_CCC__122 } /* canonicalcombiningclass=ccc122 */, { 0, 9488, 7291, 4, 7, UNI_INSOGDIAN } /* blk=sogdian */, { 36, 10003, 1, 3, 1, -UNI_CI } /* ci=n */, { 1, 9277, 2817, 3, 4, UNI_MERO } /* sc=mero */, { 0, 10030, 6529, 3, 12, UNI_JT__R } /* jt=rightjoining */, { 2, 3836, 9325, 17, 5, UNI_RUNR } /* scriptextensions=runic */, { 0, 7058, 0, 10, 0, UNI_ARABICEXTA } /* arabicexta */, { 0, 3836, 8786, 17, 6, UNI_CARI } /* scriptextensions=carian */, { 8, 4658, 1, 15, 1, -UNI_GREXT } /* graphemeextend=n */, { 6, 9768, 1900, 4, 6, UNI_ZYYY } /* scx=common */, { 25, 9488, 2817, 4, 19, UNI_MERO } /* blk=meroitichieroglyphs */, { 0, 21, 5214, 2, 6, UNI_KANGXI } /* inkangxi */, { 65, 9488, 8990, 4, 6, UNI_INREJANG } /* blk=rejang */, { 0, 7318, 9955, 10, 3, UNI_IN__3_DOT_2 } /* presentin=3.2 */, { 0, 7325, 9388, 3, 4, UNI_IN__11 } /* in=11.0 */, { 1, 5791, 4193, 13, 16, UNI_JG__MANICHAEANLAMEDH } /* joininggroup=manichaeanlamedh */, { 3, 10027, 3785, 3, 17, UNI_JG__MANICHAEANDHAMEDH } /* jg=manichaeandhamedh */, { 2, 2855, 0, 19, 0, UNI_MONGOLIANSUP } /* mongoliansupplement */, { 0, 749, 0, 30, 0, UNI_ENCLOSEDALPHANUMSUP } /* enclosedalphanumericsupplement */, { 0, 8780, 6012, 6, 13, UNI_VERTICALFORMS } /* block=verticalforms */, { 1, 7325, 7765, 3, 1, UNI_IN__2 } /* in=2 */, { 2, 9488, 6097, 4, 12, UNI_CYRILLICEXTA } /* blk=cyrillicexta */, { 2, 8589, 0, 7, 0, UNI_sc_values_index } /* script= */, { 3, 446, 0, 18, 0, UNI_IDEOGRAPHICSYMBOLS } /* ideographicsymbols */, { 0, 5986, 9208, 13, 2, UNI_NV__35 } /* numericvalue=35 */, { 0, 9277, 2203, 3, 4, UNI_SC__HAN } /* sc=hani */, { 10, 9277, 2409, 3, 10, UNI_SC__GLAG } /* sc=glagolitic */, { 2, 8984, 9836, 6, 4, UNI_QMARK } /* qmark=true */, { 3, 5452, 9295, 14, 5, UNI_NFCQC__M } /* nfcquickcheck=maybe */, { 0, 9508, 9218, 4, 2, UNI_CCC__84 } /* ccc=84 */, { 1, 5791, 5312, 13, 14, UNI_JG__MANICHAEANAYIN } /* joininggroup=manichaeanayin */, { 3, 184, 3683, 2, 17, UNI_ETHIOPICEXTA } /* isethiopicextendeda */, { 2, 10027, 7055, 3, 3, UNI_JG__QAF } /* jg=qaf */, { 0, 2076, 0, 22, 0, UNI_TRANSPORTANDMAP } /* transportandmapsymbols */, { 2, 21, 8900, 2, 6, UNI_INKAITHI } /* inkaithi */, { 0, 8882, 0, 5, 0, UNI_GREXT } /* grext */, { 24, 9488, 1393, 4, 24, UNI_ARABICPFB } /* blk=arabicpresentationformsb */, { 64, 1552, 4583, 9, 15, UNI_PD } /* category=dashpunctuation */, { 0, 7438, 7730, 11, 8, UNI_WB__WSEGSPACE } /* wordbreak=wsegspace */, { 0, 9768, 9864, 4, 4, UNI_WCHO } /* scx=wcho */, { 1, 10024, 10178, 3, 2, UNI_ZP } /* gc=zp */, { 0, 10027, 6361, 3, 12, UNI_JG__MALAYALAMTTA } /* jg=malayalamtta */, { 40, 5986, 9408, 13, 4, UNI_NV__15_SLASH_2 } /* numericvalue=15/2 */, { 5, 5791, 5410, 13, 14, UNI_JG__MANICHAEANTETH } /* joininggroup=manichaeanteth */, { 13, 7088, 6493, 10, 12, UNI_BC__ON } /* bidiclass=otherneutral */, { 32, 8780, 1060, 7, 5, UNI_INCOPTIC } /* block=coptic */, { 32, 9488, 5186, 4, 14, UNI_HIGHSURROGATES } /* blk=highsurrogates */, { 8, 9768, 7648, 4, 9, UNI_ITAL } /* scx=olditalic */, { 37, 3529, 0, 18, 0, UNI_vs_values_index } /* variationselector= */, { 3, 8624, 0, 7, 0, UNI_SUPPUAA } /* suppuaa */, { 0, 1188, 2077, 3, 14, UNI_TRANSPORTANDMAP } /* intransportandmap */, { 97, 9488, 4449, 5, 7, UNI_BAMUMSUP } /* blk=bamumsup */, { 1, 184, 8344, 2, 4, UNI_BENG } /* isbeng */, { 1, 1417, 9934, 24, 3, UNI_CCC__R } /* canonicalcombiningclass=226 */, { 6, 9768, 9816, 4, 4, UNI_TAVT } /* scx=tavt */, { 82, 7738, 1, 9, 1, -UNI_XIDS } /* xidstart=n */, { 2, 8123, 0, 4, 0, UNI_BUGI } /* bugi */, { 166, 4257, 0, 16, 0, UNI_MISCMATHSYMBOLSB } /* miscmathsymbolsb */, { 56, 5986, 9416, 13, 4, UNI_NV__3_SLASH_16 } /* numericvalue=3/16 */, { 0, 9768, 8924, 4, 6, UNI_LEPC } /* scx=lepcha */, { 33, 8966, 0, 6, 0, UNI_nfdqc_values_index } /* nfdqc= */, { 0, 1087, 9255, 27, 5, -UNI_PCM } /* prependedconcatenationmark=false */, { 0, 8780, 3169, 6, 8, UNI_INETHIOPIC } /* block=ethiopic */, { 0, 184, 5256, 2, 14, UNI_LATINEXTD } /* islatinextendedd */, { 0, 8589, 8115, 7, 4, UNI_BASS } /* script=bass */, { 0, 7155, 1655, 3, 22, UNI_COMPATJAMO } /* ishangulcompatibilityjamo */, { 0, 8780, 3650, 7, 16, UNI_CYRILLICEXTB } /* block=cyrillicextendedb */, { 53, 9997, 5494, 3, 14, UNI_BC__NSM } /* bc=nonspacingmark */, { 0, 5791, 5396, 13, 14, UNI_JG__MANICHAEANRESH } /* joininggroup=manichaeanresh */, { 2, 9556, 18, 4, 2, UNI_RI } /* gcb=ri */, { 2, 8780, 6110, 7, 11, UNI_CYRILLICEXTB } /* block=cyrillicextb */, { 3, 9488, 3079, 4, 6, UNI_INCOPTIC } /* blk=coptic */, { 8, 7155, 6485, 3, 3, UNI_HUNG } /* ishung */, { 0, 5791, 5882, 13, 13, UNI_JG__MANICHAEANNUN } /* joininggroup=manichaeannun */, { 1, 5791, 7038, 13, 10, UNI_JG__AFRICANFEH } /* joininggroup=africanfeh */, { 2, 4628, 1, 15, 1, UNI_EA__N } /* eastasianwidth=n */, { 1, 9768, 3169, 4, 8, UNI_ETHI } /* scx=ethiopic */, { 1, 8780, 7504, 6, 9, UNI_ARABICPFB } /* block=arabicpfb */, { 0, 10033, 10162, 3, 2, UNI_GCB__L } /* lb=jl */, { 0, 9277, 9764, 3, 4, UNI_SARB } /* sc=sarb */, { 3, 21, 5284, 2, 4, UNI_INLISU } /* inlisu */, { 0, 8780, 9452, 6, 4, UNI_INAHOM } /* block=ahom */, { 0, 3097, 8163, 18, 3, UNI_DT__FRA } /* decompositiontype=fra */, { 1, 9260, 10135, 5, 3, UNI_IDSB } /* idsb=yes */, { 3, 9262, 112, 3, 2, UNI_SB__SC } /* sb=sc */, { 6, 9768, 3937, 4, 4, UNI_BOPO } /* scx=bopo */, { 3, 3382, 0, 3, 0, UNI_ce_values_index } /* ce= */, { 0, 5986, 5648, 13, 3, UNI_NV__100 } /* numericvalue=100 */, { 1, 7438, 138, 10, 2, UNI_WB__FO } /* wordbreak=fo */, { 214, 8882, 9255, 6, 5, -UNI_GREXT } /* grext=false */, { 1, 9351, 3, 4, 1, -UNI_IDS } /* ids=f */, { 0, 1273, 1, 21, 1, -UNI_CE } /* compositionexclusion=n */, { 1, 9277, 9788, 3, 4, UNI_SC__SHRD } /* sc=shrd */, { 1, 9488, 4161, 4, 16, UNI_LINEARBSYLLABARY } /* blk=linearbsyllabary */, { 0, 21, 8456, 2, 7, UNI_INKANNADA } /* inkannada */, { 0, 8589, 6181, 7, 12, UNI_SC__GONG } /* script=gunjalagondi */, { 16, 8358, 0, 7, 0, UNI_CJKEXTB } /* cjkextb */, { 1, 9262, 125, 3, 2, UNI_LB__CR } /* sb=cr */, { 1, 10027, 5882, 3, 13, UNI_JG__MANICHAEANNUN } /* jg=manichaeannun */, { 2, 8589, 9564, 7, 4, UNI_SC__GONM } /* script=gonm */, { 0, 9768, 9095, 4, 5, UNI_BUHD } /* scx=buhid */, { 0, 9444, 10096, 4, 3, UNI_AGE__5 } /* age=v50 */, { 2, 1188, 4929, 3, 7, UNI_TAMILSUP } /* intamilsup */, { 8, 7218, 202, 10, 2, UNI_LB__SA } /* linebreak=sa */, { 33, 9277, 7358, 3, 10, UNI_SAUR } /* sc=saurashtra */, { 0, 7218, 988, 10, 2, UNI_LB__CP } /* linebreak=cp */, { 1, 7088, 2489, 10, 20, UNI_BC__PDF } /* bidiclass=popdirectionalformat */, { 5, 10027, 5179, 3, 7, UNI_JG__HEHGOAL } /* jg=hehgoal */, { 8, 10024, 2349, 3, 20, UNI_PC } /* gc=connectorpunctuation */, { 9, 1966, 3061, 22, 18, UNI_INSC__CONSONANTSUBJOINED } /* indicsyllabiccategory=consonantsubjoined */, { 48, 7325, 9396, 3, 4, UNI_IN__12_DOT_1 } /* in=12.1 */, { 0, 7438, 34, 10, 2, UNI_WB__EX } /* wordbreak=ex */, { 24, 10012, 3, 3, 1, UNI_EA__F } /* ea=f */, { 1, 4033, 5040, 16, 5, UNI_XPOSIXDIGIT } /* generalcategory=digit */, { 2, 10333, 8632, 3, 6, UNI_SUPPUAB } /* issuppuab */, { 105, 9768, 9684, 4, 4, UNI_NEWA } /* scx=newa */, { 32, 1166, 1025, 26, 2, -UNI_DI } /* defaultignorablecodepoint=no */, { 3, 9488, 7128, 4, 10, UNI_CJKSTROKES } /* blk=cjkstrokes */, { 0, 5791, 4773, 13, 5, UNI_JG__SADHE } /* joininggroup=sadhe */, { 14, 4033, 467, 16, 11, UNI_P } /* generalcategory=punctuation */, { 0, 8780, 8291, 6, 8, UNI_INTAGBANWA } /* block=tagbanwa */, { 1, 6553, 0, 4, 0, UNI_XIDC } /* xidc */, { 10, 8435, 26, 7, 1, UNI_GRBASE } /* grbase=y */, { 16, 9488, 809, 4, 22, UNI_ENCLOSEDIDEOGRAPHICSUP } /* blk=enclosedideographicsup */, { 36, 6805, 4245, 6, 12, UNI_MISCMATHSYMBOLSA } /* inmiscmathsymbolsa */, { 137, 184, 5752, 2, 8, UNI_GREEKEXT } /* isgreekext */, { 3, 7088, 2266, 10, 21, UNI_BC__PDI } /* bidiclass=popdirectionalisolate */, { 67, 9270, 2455, 5, 5, UNI_INPC__RIGHT } /* inpc=right */, { 0, 1417, 7078, 24, 10, UNI_CCC__BR } /* canonicalcombiningclass=belowright */, { 4, 4916, 4929, 3, 4, UNI_TAML } /* istamil */, { 65, 7088, 2509, 10, 20, UNI_BC__RLE } /* bidiclass=righttoleftembedding */, { 0, 9768, 8421, 4, 7, UNI_ELYM } /* scx=elymaic */, { 9, 8694, 9836, 7, 4, UNI_XPOSIXSPACE } /* wspace=true */, { 0, 3836, 7359, 18, 9, UNI_SAUR } /* scriptextensions=saurashtra */, { 4, 7076, 8124, 3, 7, UNI_INBUGINESE } /* inbuginese */, { 0, 1966, 5102, 22, 14, UNI_INSC__CONSONANTFINAL } /* indicsyllabiccategory=consonantfinal */, { 4, 9768, 8131, 4, 4, UNI_DUPL } /* scx=dupl */, { 0, 8780, 1006, 6, 17, UNI_ANCIENTGREEKMUSIC } /* block=ancientgreekmusic */, { 1, 9488, 8291, 4, 8, UNI_INTAGBANWA } /* blk=tagbanwa */, { 3, 184, 4129, 2, 16, UNI_LATIN1 } /* islatin1supplement */, { 0, 9265, 9836, 5, 4, UNI_IDST } /* idst=true */, { 42, 9488, 5171, 4, 4, UNI_INCHAM } /* blk=cham */, { 3, 9488, 2287, 4, 21, UNI_SINHALAARCHAICNUMBERS } /* blk=sinhalaarchaicnumbers */, { 1, 9488, 7585, 4, 9, UNI_LATINEXTC } /* blk=latinextc */, { 0, 9488, 328, 4, 21, UNI_MATHOPERATORS } /* blk=mathematicaloperators */, { 0, 4628, 9868, 15, 4, UNI_EA__W } /* eastasianwidth=wide */, { 57, 10333, 2288, 3, 6, UNI_SINH } /* issinhala */, { 0, 4033, 3358, 16, 9, UNI_Z } /* generalcategory=separator */, { 12, 5791, 6323, 13, 5, UNI_JG__GAMAL } /* joininggroup=gamal */, { 0, 9488, 5003, 4, 15, UNI_INZANABAZARSQUARE } /* blk=zanabazarsquare */, { 2, 9345, 3, 5, 1, -UNI_XIDC } /* xidc=f */, { 16, 3836, 9880, 17, 4, UNI_YI } /* scriptextensions=yiii */, { 260, 3836, 8666, 17, 7, UNI_TIRH } /* scriptextensions=tirhuta */, { 0, 5791, 8155, 13, 8, UNI_JG__FARSIYEH } /* joininggroup=farsiyeh */, { 0, 8780, 4241, 6, 16, UNI_MISCMATHSYMBOLSA } /* block=miscmathsymbolsa */, { 3, 10009, 5904, 3, 4, UNI_DT__NONE } /* dt=none */, { 275, 184, 8352, 3, 6, UNI_CJKEXTA } /* iscjkexta */, { 0, 9277, 6884, 3, 11, UNI_HMNG } /* sc=pahawhhmong */, { 19, 10033, 5046, 3, 14, UNI_LB__CR } /* lb=carriagereturn */, { 2, 2224, 1562, 3, 23, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupsymbolsandpictographs */, { 5, 9488, 42, 4, 26, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatibilityideographs */, { 93, 7088, 23, 10, 2, UNI_BC__AL } /* bidiclass=al */, { 9, 8780, 5270, 6, 14, UNI_LATINEXTE } /* block=latinextendede */, { 1, 9488, 7168, 4, 10, UNI_INDIVESAKURU } /* blk=divesakuru */, { 2, 184, 4017, 2, 16, UNI_PF } /* isfinalpunctuation */, { 2, 5986, 8067, 13, 8, UNI_NV__17_SLASH_2 } /* numericvalue=8.50e+00 */, { 0, 8780, 8484, 6, 7, UNI_INMANDAIC } /* block=mandaic */, { 6, 8780, 3421, 6, 4, UNI_RUMI } /* block=rumi */, { 0, 10027, 5326, 3, 14, UNI_JG__MANICHAEANBETH } /* jg=manichaeanbeth */, { 0, 3836, 78, 17, 4, UNI_ARAB } /* scriptextensions=arab */, { 5, 3836, 8645, 17, 7, UNI_LANA } /* scriptextensions=taitham */, { 1, 9277, 8477, 3, 4, UNI_MAKA } /* sc=maka */, { 1, 1537, 7298, 24, 10, UNI_INPC__OVERSTRUCK } /* indicpositionalcategory=overstruck */, { 1, 9488, 9800, 4, 4, UNI_TAGS } /* blk=tags */, { 0, 5606, 0, 14, 0, UNI_SUPPUNCTUATION } /* suppunctuation */, { 0, 6554, 0, 3, 0, UNI_IDC } /* idc */, { 86, 3836, 5284, 17, 4, UNI_LISU } /* scriptextensions=lisu */, { 1, 9488, 3887, 4, 17, UNI_SUTTONSIGNWRITING } /* blk=suttonsignwriting */, { 0, 8435, 10135, 7, 3, UNI_GRBASE } /* grbase=yes */, { 0, 184, 4002, 3, 6, UNI_CPRT } /* iscypriot */, { 0, 10033, 9557, 3, 2, UNI_LB__CB } /* lb=cb */, { 0, 8780, 2141, 7, 10, UNI_CYRILLICSUP } /* block=cyrillicsup */, { 1, 3836, 78, 17, 6, UNI_ARAB } /* scriptextensions=arabic */, { 13, 184, 9608, 2, 4, UNI_KITS } /* iskits */, { 137, 184, 7540, 2, 8, UNI_EXT } /* isextender */, { 1, 7325, 7782, 3, 1, UNI_IN__3 } /* in=3 */, { 36, 2308, 0, 21, 0, UNI_YIJING } /* yijinghexagramsymbols */, { 0, 5986, 8010, 13, 2, UNI_NV__36 } /* numericvalue=36 */, { 1, 5578, 1089, 15, 2, UNI_SB__SE } /* sentencebreak=sep */, { 3, 9668, 0, 4, 0, UNI_MTEI } /* mtei */, { 2, 3379, 9836, 6, 4, UNI_XPOSIXSPACE } /* space=true */, { 0, 6061, 9255, 12, 5, -UNI_BIDIC } /* bidicontrol=false */, { 0, 6609, 0, 10, 0, UNI_DEP } /* deprecated */, { 2, 10048, 7947, 3, 8, UNI_NV__3_SLASH_64 } /* nv=4.69e-02 */, { 3, 4643, 9255, 15, 5, -UNI_ECOMP } /* emojicomponent=false */, { 64, 8780, 8631, 6, 7, UNI_SUPPUAB } /* block=suppuab */, { 3, 184, 8498, 2, 4, UNI_MULT } /* ismult */, { 1, 9644, 0, 4, 0, UNI_MEDF } /* medf */, { 0, 10048, 9416, 3, 4, UNI_NV__3_SLASH_16 } /* nv=3/16 */, { 1, 9265, 1025, 5, 2, -UNI_IDST } /* idst=no */, { 0, 1006, 0, 27, 0, UNI_ANCIENTGREEKMUSIC } /* ancientgreekmusicalnotation */, { 1, 8589, 9672, 7, 4, UNI_SC__MYMR } /* script=mymr */, { 1, 21, 3751, 2, 17, UNI_INKHITANSMALLSCRIPT } /* inkhitansmallscript */, { 0, 4116, 415, 3, 31, UNI_INIDC } /* isideographicdescriptioncharacters */, { 3, 10024, 10180, 3, 2, UNI_ZS } /* gc=zs */, { 1, 10033, 340, 3, 2, UNI_LB__OP } /* lb=op */, { 5, 9488, 749, 4, 30, UNI_ENCLOSEDALPHANUMSUP } /* blk=enclosedalphanumericsupplement */, { 14, 184, 1184, 2, 3, UNI_DEP } /* isdep */, { 2, 6231, 2667, 4, 17, UNI_COUNTINGROD } /* incountingrodnumerals */, { 0, 8780, 8526, 6, 7, UNI_NB } /* block=noblock */, { 79, 7438, 7612, 10, 6, UNI_WB__MN } /* wordbreak=midnum */, { 136, 5986, 7955, 13, 8, UNI_NV__1_SLASH_20 } /* numericvalue=5.00e-02 */, { 5, 184, 2161, 2, 20, UNI_EXTPICT } /* isextendedpictographic */, { 3, 2280, 1759, 4, 2, UNI_OLCK } /* isolck */, { 0, 184, 1115, 3, 24, UNI_CWKCF } /* ischangeswhennfkccasefolded */, { 2, 9071, 9255, 4, 5, -UNI_XPOSIXXDIGIT } /* hex=false */, { 0, 184, 1044, 2, 6, UNI_L } /* isletter */, { 0, 9768, 3785, 4, 10, UNI_MANI } /* scx=manichaean */, { 4, 3836, 6484, 17, 4, UNI_HUNG } /* scriptextensions=hung */, { 0, 9488, 979, 4, 27, UNI_ALPHABETICPF } /* blk=alphabeticpresentationforms */, { 4, 5791, 9884, 13, 4, UNI_JG__ZAIN } /* joininggroup=zain */, { 31, 8780, 7239, 6, 2, UNI_INVS } /* block=vs */, { 72, 9997, 4493, 3, 15, UNI_BC__CS } /* bc=commonseparator */, { 2, 1768, 9836, 22, 4, UNI_CWCF } /* changeswhencasefolded=true */, { 0, 7318, 0, 10, 0, UNI_in_values_index } /* presentin= */, { 13, 10024, 4017, 3, 16, UNI_PF } /* gc=finalpunctuation */, { 2, 10048, 9360, 3, 4, UNI_NV___MINUS_1_SLASH_2 } /* nv=-1/2 */, { 0, 4241, 0, 16, 0, UNI_MISCMATHSYMBOLSA } /* miscmathsymbolsa */, { 0, 10048, 8726, 3, 6, UNI_NV__432000 } /* nv=432000 */, { 0, 3836, 9688, 17, 3, UNI_NKO } /* scriptextensions=nko */, { 1, 8780, 6122, 7, 11, UNI_CYRILLICEXTC } /* block=cyrillicextc */, { 4, 8780, 2061, 6, 15, UNI_MODIFIERLETTERS } /* block=modifierletters */, { 0, 8780, 8123, 6, 8, UNI_INBUGINESE } /* block=buginese */, { 3, 8780, 3667, 7, 16, UNI_CYRILLICEXTC } /* block=cyrillicextendedc */, { 137, 414, 0, 32, 0, UNI_INIDC } /* ideographicdescriptioncharacters */, { 290, 9488, 7288, 4, 10, UNI_INOLDSOGDIAN } /* blk=oldsogdian */, { 0, 9786, 8598, 4, 5, UNI_SC__SHRD } /* insharada */, { 0, 9768, 8463, 4, 7, UNI_KALI } /* scx=kayahli */, { 0, 1188, 4402, 3, 8, UNI_TANGUTSUP } /* intangutsup */, { 0, 184, 867, 2, 11, UNI_PHONETICEXT } /* isphoneticext */, { 4, 10296, 7207, 3, 3, UNI_PHLI } /* isphli */, { 11, 9508, 9928, 4, 3, UNI_CCC__BR } /* ccc=222 */, { 8, 3367, 0, 17, 0, UNI__PERL_PATWS } /* patternwhitespace */, { 1, 5986, 7859, 13, 8, UNI_NV__20000000 } /* numericvalue=20000000 */, { 0, 728, 0, 6, 0, UNI_N } /* number */, { 1, 10048, 7779, 3, 8, UNI_NV__1_SLASH_7 } /* nv=1.43e-01 */, { 1, 1166, 1, 26, 1, -UNI_DI } /* defaultignorablecodepoint=n */, { 9, 9752, 0, 4, 0, UNI_ROHG } /* rohg */, { 0, 1966, 3615, 22, 17, UNI_INSC__CONSONANTPREFIXED } /* indicsyllabiccategory=consonantprefixed */, { 6, 8780, 7388, 6, 10, UNI_SUPARROWSB } /* block=suparrowsb */, { 2, 1966, 2369, 22, 20, UNI_INSC__CONSONANTPLACEHOLDER } /* indicsyllabiccategory=consonantplaceholder */, { 0, 5986, 7859, 13, 4, UNI_NV__2000 } /* numericvalue=2000 */, { 4, 4129, 0, 6, 0, UNI_LATIN1 } /* latin1 */, { 4, 10033, 3, 4, 1, UNI_LB__LF } /* lb=lf */, { 5, 9275, 3953, 5, 16, UNI_INSC__CANTILLATIONMARK } /* insc=cantillationmark */, { 36, 4033, 206, 16, 2, UNI_PI } /* generalcategory=pi */, { 7, 9572, 0, 4, 0, UNI_GUJR } /* gujr */, { 1, 6961, 0, 11, 0, UNI_SUPERANDSUB } /* superandsub */, { 5, 9488, 509, 4, 20, UNI_CJK } /* blk=cjkunifiedideographs */, { 0, 1294, 0, 25, 0, UNI_SUPERANDSUB } /* superscriptsandsubscripts */, { 76, 9277, 8659, 3, 7, UNI_TIBT } /* sc=tibetan */, { 1, 7249, 6600, 4, 9, UNI_CASEDLETTER } /* iscasedletter */, { 0, 4033, 3985, 16, 16, UNI_PE } /* generalcategory=closepunctuation */, { 0, 9270, 3475, 5, 10, UNI_INPC__TOPANDLEFT } /* inpc=topandleft */, { 1, 3836, 8115, 17, 4, UNI_BASS } /* scriptextensions=bass */, { 2, 8780, 7027, 6, 11, UNI_YISYLLABLES } /* block=yisyllables */, { 1, 9351, 9836, 4, 4, UNI_IDS } /* ids=true */, { 0, 8379, 0, 7, 0, UNI_CJKEXTE } /* cjkexte */, { 0, 8780, 4129, 6, 16, UNI_LATIN1 } /* block=latin1supplement */, { 43, 9277, 9876, 3, 4, UNI_XSUX } /* sc=xsux */, { 0, 10030, 7, 3, 1, UNI_JT__C } /* jt=c */, { 0, 5986, 7874, 13, 2, UNI_NV__23 } /* numericvalue=23 */, { 0, 9488, 6620, 4, 6, UNI_DOMINO } /* blk=domino */, { 8, 9508, 8568, 4, 7, UNI_CCC__1 } /* ccc=overlay */, { 3, 184, 7388, 2, 10, UNI_SUPARROWSB } /* issuparrowsb */, { 0, 3836, 8597, 18, 6, UNI_SHRD } /* scriptextensions=sharada */, { 39, 9488, 3751, 4, 17, UNI_INKHITANSMALLSCRIPT } /* blk=khitansmallscript */, { 0, 9488, 7576, 4, 9, UNI_LATINEXTB } /* blk=latinextb */, { 31, 8589, 7694, 8, 8, UNI_SAMR } /* script=samaritan */, { 82, 9997, 2449, 3, 20, UNI_BC__LRE } /* bc=lefttorightembedding */, { 1, 9768, 1677, 4, 5, UNI_LATN } /* scx=latin */, { 32, 1537, 4615, 4, 13, UNI_DIACRITICALSSUP } /* indiacriticalssup */, { 0, 4116, 2225, 3, 20, UNI_PRTI } /* isinscriptionalparthian */, { 2, 5037, 0, 9, 0, UNI_hex_values_index } /* hexdigit= */, { 0, 1966, 9300, 22, 5, UNI_INSC__NUKTA } /* indicsyllabiccategory=nukta */, { 1, 6710, 3601, 5, 14, UNI_INCAUCASIANALBANIAN } /* incaucasianalbanian */, { 26, 7155, 5585, 3, 3, UNI_HEBR } /* ishebr */, { 0, 7325, 9967, 3, 3, UNI_IN__5_DOT_1 } /* in=5.1 */, { 65, 1746, 0, 23, 0, UNI_BPT__C } /* bidipairedbrackettype=c */, { 0, 10003, 1025, 3, 2, -UNI_CI } /* ci=no */, { 74, 4033, 598, 16, 2, UNI_XPOSIXCNTRL } /* generalcategory=cc */, { 0, 184, 9085, 2, 5, UNI_BATK } /* isbatak */, { 1, 9488, 4613, 4, 15, UNI_DIACRITICALSSUP } /* blk=diacriticalssup */, { 0, 9488, 2140, 4, 8, UNI_INCYRILLIC } /* blk=cyrillic */, { 1, 3379, 9255, 6, 5, -UNI_XPOSIXSPACE } /* space=false */, { 1, 3836, 6481, 17, 12, UNI_HUNG } /* scriptextensions=oldhungarian */, { 2, 8780, 1192, 6, 26, UNI_HALFANDFULLFORMS } /* block=halfwidthandfullwidthforms */, { 0, 1189, 5040, 3, 5, UNI_NT__DI } /* nt=digit */, { 55, 3836, 3079, 17, 6, UNI_COPT } /* scriptextensions=coptic */, { 16, 184, 5438, 2, 14, UNI_SK } /* ismodifiersymbol */, { 0, 10183, 3379, 4, 5, UNI_POSIXSPACE } /* perlspace */, { 2, 5986, 9413, 13, 3, UNI_NV__7_SLASH_2 } /* numericvalue=7/2 */, { 3, 3133, 10135, 18, 3, UNI_EBASE } /* emojimodifierbase=yes */, { 2, 10027, 7038, 3, 10, UNI_JG__AFRICANFEH } /* jg=africanfeh */, { 1, 8858, 1, 6, 1, -UNI_ECOMP } /* ecomp=n */, { 0, 9488, 1673, 4, 4, UNI_JAMO } /* blk=jamo */, { 0, 5578, 125, 14, 2, UNI_LB__CR } /* sentencebreak=cr */, { 3, 3382, 9836, 3, 4, UNI_CE } /* ce=true */, { 0, 3836, 9668, 17, 4, UNI_MTEI } /* scriptextensions=mtei */, { 2, 8978, 0, 6, 0, UNI_patws_values_index } /* patws= */, { 0, 9768, 7675, 4, 4, UNI_PALM } /* scx=palm */, { 3, 3836, 6193, 17, 4, UNI_HEBR } /* scriptextensions=hebr */, { 1, 3904, 9836, 17, 4, UNI_UIDEO } /* unifiedideograph=true */, { 13, 1552, 1563, 9, 2, UNI_PS } /* category=ps */, { 0, 184, 349, 2, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupplementalsymbolsandpictographs */, { 68, 1087, 1025, 27, 2, -UNI_PCM } /* prependedconcatenationmark=no */, { 73, 9277, 8131, 3, 4, UNI_SC__DUPL } /* sc=dupl */, { 0, 9488, 2140, 4, 11, UNI_CYRILLICSUP } /* blk=cyrillicsup */, { 8, 10340, 4975, 4, 6, UNI_VEDICEXT } /* isvedicext */, { 64, 9488, 8876, 4, 6, UNI_INGOTHIC } /* blk=gothic */, { 1, 8589, 7188, 7, 10, UNI_KHAR } /* script=kharoshthi */, { 2, 1417, 8708, 24, 3, UNI_CCC__216 } /* canonicalcombiningclass=216 */, { 11, 1591, 8415, 3, 6, UNI_INELBASAN } /* inelbasan */, { 142, 8780, 5256, 6, 14, UNI_LATINEXTD } /* block=latinextendedd */, { 138, 9768, 1115, 4, 4, UNI_HANG } /* scx=hang */, { 33, 4688, 7550, 16, 8, UNI_IDENTIFIERTYPE__INCLUSION } /* identifiertype=inclusion */, { 48, 8589, 9684, 7, 4, UNI_NEWA } /* script=newa */, { 58, 9768, 9476, 4, 4, UNI_AVST } /* scx=avst */, { 158, 5508, 26, 14, 1, UNI_PATSYN } /* patternsyntax=y */, { 0, 5986, 9964, 13, 3, UNI_NV__4_SLASH_5 } /* numericvalue=4/5 */, { 0, 9900, 0, 4, 0, UNI_ZZZZ } /* zzzz */, { 24, 10048, 7907, 3, 8, UNI_NV__3_SLASH_8 } /* nv=3.75e-01 */, { 3, 9488, 4273, 4, 16, UNI_MYANMAREXTA } /* blk=myanmarextendeda */, { 0, 9768, 9624, 4, 4, UNI_LAO } /* scx=laoo */, { 1, 5739, 10135, 13, 3, UNI_GRBASE } /* graphemebase=yes */, { 0, 10048, 5648, 3, 3, UNI_NV__100 } /* nv=100 */, { 5, 8852, 36, 6, 1, UNI_CWKCF } /* cwkcf=t */, { 9, 184, 8107, 2, 8, UNI_BALI } /* isbalinese */, { 2, 10048, 9964, 3, 3, UNI_NV__4_SLASH_5 } /* nv=4/5 */, { 1, 9508, 9925, 4, 3, UNI_CCC__BL } /* ccc=218 */, { 0, 9768, 4703, 4, 15, UNI_ARMI } /* scx=imperialaramaic */, { 0, 9488, 5200, 4, 14, UNI_KANASUP } /* blk=kanasupplement */, { 20, 5986, 9984, 13, 2, UNI_NV__37 } /* numericvalue=37 */, { 1, 21, 8227, 2, 8, UNI_KANAEXTA } /* inkanaexta */, { 2, 8131, 0, 4, 0, UNI_DUPL } /* dupl */, { 3, 9768, 9688, 4, 4, UNI_NKO } /* scx=nkoo */, { 0, 3836, 9892, 17, 4, UNI_QAAI } /* scriptextensions=zinh */, { 6, 7218, 7448, 10, 10, UNI_LB__WJ } /* linebreak=wordjoiner */, { 2, 9488, 2245, 4, 11, UNI_INMEETEIMAYEK } /* blk=meeteimayek */, { 5, 9768, 8840, 4, 6, UNI_CAKM } /* scx=chakma */, { 37, 9488, 478, 4, 31, UNI_MATHALPHANUM } /* blk=mathematicalalphanumericsymbols */, { 1, 5791, 5340, 13, 14, UNI_JG__MANICHAEANFIVE } /* joininggroup=manichaeanfive */, { 1, 10048, 9405, 3, 3, UNI_NV__3_SLASH_2 } /* nv=3/2 */, { 1, 184, 7129, 3, 9, UNI_CJKSTROKES } /* iscjkstrokes */, { 0, 3836, 2429, 17, 20, UNI_PHLI } /* scriptextensions=inscriptionalpahlavi */, { 1, 9488, 2409, 4, 10, UNI_INGLAGOLITIC } /* blk=glagolitic */, { 1, 9556, 6170, 5, 11, UNI_WB__EB } /* gcb=glueafterzwj */, { 0, 9997, 37, 3, 2, UNI_BC__EN } /* bc=en */, { 33, 9768, 2469, 4, 20, UNI_HMNP } /* scx=nyiakengpuachuehmong */, { 0, 184, 5817, 2, 13, UNI_ZL } /* islineseparator */, { 13, 3904, 26, 17, 1, UNI_UIDEO } /* unifiedideograph=y */, { 0, 9768, 2485, 4, 4, UNI_MONG } /* scx=mong */, { 0, 5116, 0, 14, 0, UNI_emod_values_index } /* emojimodifier= */, { 0, 10288, 1823, 8, 5, UNI_XPOSIXLOWER } /* isxposixlower */, { 7, 9768, 7278, 4, 10, UNI_XPEO } /* scx=oldpersian */, { 0, 9262, 495, 3, 2, UNI_SB__NU } /* sb=nu */, { 2, 9508, 7477, 4, 9, UNI_CCC__AL } /* ccc=aboveleft */, { 1, 8449, 9836, 7, 4, UNI_HYPHEN } /* hyphen=true */, { 2, 3836, 9568, 17, 4, UNI_GREK } /* scriptextensions=grek */, { 84, 10048, 8720, 3, 6, UNI_NV__400000 } /* nv=400000 */, { 1, 1552, 7408, 9, 10, UNI_CN } /* category=unassigned */, { 0, 7418, 0, 10, 0, UNI_upper_values_index } /* uppercase= */, { 1, 4033, 10176, 16, 2, UNI_ZL } /* generalcategory=zl */, { 2, 4793, 0, 15, 0, UNI_MERC } /* meroiticcursive */, { 0, 8589, 6484, 7, 4, UNI_HUNG } /* script=hung */, { 0, 184, 8942, 2, 6, UNI_LYDI } /* islydian */, { 0, 3367, 3, 18, 1, -UNI__PERL_PATWS } /* patternwhitespace=f */, { 48, 5791, 9744, 13, 4, UNI_JG__QAPH } /* joininggroup=qaph */, { 90, 4916, 8660, 3, 6, UNI_TIBT } /* istibetan */, { 1, 3097, 8163, 18, 8, UNI_DT__FRA } /* decompositiontype=fraction */, { 2, 2784, 3923, 4, 7, UNI_ARABICSUP } /* inarabicsup */, { 3, 184, 3796, 3, 3, UNI_CHAM } /* ischam */, { 0, 4116, 1907, 3, 15, UNI_INDICNUMBERFORMS } /* isindicnumberforms */, { 1, 3836, 2203, 17, 14, UNI_ROHG } /* scriptextensions=hanifirohingya */, { 1, 1966, 4353, 22, 16, UNI_INSC__SYLLABLEMODIFIER } /* indicsyllabiccategory=syllablemodifier */, { 1, 1417, 9931, 24, 3, UNI_CCC__L } /* canonicalcombiningclass=224 */, { 1, 9488, 7099, 5, 9, UNI_BOXDRAWING } /* blk=boxdrawing */, { 0, 8589, 8428, 7, 7, UNI_SC__GRAN } /* script=grantha */, { 1, 9768, 8912, 4, 6, UNI_KHOJ } /* scx=khojki */, { 5, 9488, 9065, 4, 5, UNI_INADLAM } /* blk=adlam */, { 0, 184, 5960, 2, 13, UNI_MISCTECHNICAL } /* ismisctechnical */, { 66, 7325, 7408, 3, 10, UNI_AGE__NA } /* in=unassigned */, { 0, 9556, 911, 4, 1, UNI_GCB__V } /* gcb=v */, { 0, 9275, 4305, 5, 5, UNI_INSC__OTHER } /* insc=other */, { 1, 9600, 0, 4, 0, UNI_KALI } /* kali */, { 0, 8852, 9255, 6, 5, -UNI_CWKCF } /* cwkcf=false */, { 10, 10296, 9225, 7, 5, UNI_POSIXCNTRL } /* isposixcntrl */, { 1, 7318, 9401, 10, 3, UNI_IN__3 } /* presentin=3.0 */, { 28, 8267, 10135, 8, 3, UNI_RADICAL } /* radical=yes */, { 0, 9768, 7513, 4, 9, UNI_BHKS } /* scx=bhaiksuki */, { 0, 5039, 0, 6, 0, UNI_XPOSIXXDIGIT } /* xdigit */, { 0, 9488, 5284, 4, 4, UNI_INLISU } /* blk=lisu */, { 1, 5986, 8708, 13, 6, UNI_NV__216000 } /* numericvalue=216000 */, { 3, 8780, 4928, 6, 8, UNI_TAMILSUP } /* block=tamilsup */, { 16, 8780, 9335, 6, 5, UNI_INTAKRI } /* block=takri */, { 0, 9346, 1, 4, 1, -UNI_IDC } /* idc=n */, { 0, 2032, 3, 22, 1, -UNI__PERL_NCHAR } /* noncharactercodepoint=f */, { 1, 6928, 0, 10, 0, UNI_SD } /* softdotted */, { 0, 3893, 0, 11, 0, UNI_SGNW } /* signwriting */, { 3, 8780, 4065, 6, 16, UNI_HALFANDFULLFORMS } /* block=halfandfullforms */, { 0, 9440, 0, 4, 0, UNI_ADLM } /* adlm */, { 1, 9262, 33, 3, 2, UNI_SB__SE } /* sb=se */, { 0, 4628, 66, 15, 1, UNI_EA__H } /* eastasianwidth=h */, { 66, 1988, 26, 22, 1, UNI_LOE } /* logicalorderexception=y */, { 0, 8780, 7398, 6, 10, UNI_SUPARROWSC } /* block=suparrowsc */, { 20, 7028, 2309, 3, 20, UNI_YIJING } /* isyijinghexagramsymbols */, { 3, 184, 7398, 2, 10, UNI_SUPARROWSC } /* issuparrowsc */, { 0, 9768, 8618, 5, 3, UNI_SOYO } /* scx=soyo */, { 9, 8780, 908, 6, 10, UNI_PUA } /* block=privateuse */, { 0, 1790, 1, 22, 1, -UNI_CWCM } /* changeswhencasemapped=n */, { 34, 8589, 9600, 7, 4, UNI_SC__KALI } /* script=kali */, { 16, 8372, 0, 7, 0, UNI_CJKEXTD } /* cjkextd */, { 0, 1188, 4402, 3, 15, UNI_TANGUTSUP } /* intangutsupplement */, { 69, 9275, 5144, 5, 14, UNI_INSC__GEMINATIONMARK } /* insc=geminationmark */, { 6, 8780, 3169, 6, 11, UNI_ETHIOPICSUP } /* block=ethiopicsup */, { 7, 9488, 414, 4, 32, UNI_INIDC } /* blk=ideographicdescriptioncharacters */, { 1, 8589, 9320, 7, 5, UNI_OSGE } /* script=osage */, { 0, 9768, 8561, 4, 7, UNI_OSMA } /* scx=osmanya */, { 33, 8780, 5522, 6, 14, UNI_PHONETICEXTSUP } /* block=phoneticextsup */, { 4, 10006, 1, 3, 1, -UNI_DI } /* di=n */, { 72, 184, 2061, 2, 15, UNI_MODIFIERLETTERS } /* ismodifierletters */, { 0, 9508, 1756, 4, 2, UNI_CCC__BR } /* ccc=br */, { 0, 5986, 7858, 13, 2, UNI_NV__22 } /* numericvalue=22 */, { 1, 9540, 10135, 4, 3, UNI_DIA } /* dia=yes */, { 35, 6205, 26, 12, 1, UNI_IDEO } /* ideographic=y */, { 4, 4146, 1947, 5, 19, UNI_EARLYDYNASTICCUNEIFORM } /* inearlydynasticcuneiform */, { 1, 6231, 600, 3, 29, UNI_CJKEXTD } /* incjkunifiedideographsextensiond */, { 1, 5674, 36, 13, 1, UNI_BIDIM } /* bidimirrored=t */, { 5, 3836, 8115, 17, 8, UNI_BASS } /* scriptextensions=bassavah */, { 0, 9508, 8082, 4, 2, UNI_CCC__19 } /* ccc=19 */, { 3, 7325, 7469, 3, 3, UNI_IN__5 } /* in=5.0 */, { 2, 7438, 8505, 10, 7, UNI_WB__NL } /* wordbreak=newline */, { 1, 7218, 125, 10, 2, UNI_LB__CR } /* linebreak=cr */, { 7, 9444, 7755, 4, 3, UNI_IN__1_DOT_1 } /* age=1.1 */, { 78, 9488, 2836, 4, 19, UNI_MODIFIERTONELETTERS } /* blk=modifiertoneletters */, { 1, 9488, 4289, 4, 16, UNI_MYANMAREXTB } /* blk=myanmarextendedb */, { 2, 10296, 5040, 7, 5, UNI_POSIXDIGIT } /* isposixdigit */, { 1, 5791, 9281, 14, 4, UNI_JG__KHAPH } /* joininggroup=khaph */, { 0, 7325, 9856, 3, 4, UNI_IN__13 } /* in=v130 */, { 2, 3853, 1025, 17, 2, -UNI_STERM } /* sentenceterminal=no */, { 0, 10024, 4958, 3, 15, UNI_UPPERCASELETTER } /* gc=uppercaseletter */, { 0, 184, 8131, 2, 8, UNI_DUPL } /* isduployan */, { 2, 21, 3768, 2, 17, UNI_LETTERLIKESYMBOLS } /* inletterlikesymbols */, { 7, 7325, 10084, 3, 3, UNI_IN__3_DOT_1 } /* in=v31 */, { 0, 7155, 5219, 3, 3, UNI_HIRA } /* ishira */, { 2, 9508, 184, 4, 2, UNI_CCC__IS } /* ccc=is */, { 197, 1417, 8801, 24, 3, UNI_CCC__107 } /* canonicalcombiningclass=107 */, { 68, 9768, 7288, 4, 10, UNI_SOGO } /* scx=oldsogdian */, { 3, 184, 74, 2, 2, UNI_ME } /* isme */, { 1, 9997, 10018, 3, 3, UNI_BC__FSI } /* bc=fsi */, { 40, 9350, 1, 5, 1, -UNI_XIDS } /* xids=n */, { 10, 7325, 7826, 3, 4, UNI_IN__12 } /* in=12.0 */, { 1, 9488, 3295, 4, 9, UNI_LATINEXTA } /* blk=latinexta */, { 124, 5986, 8720, 13, 4, UNI_NV__4000 } /* numericvalue=4000 */, { 0, 5791, 6301, 13, 12, UNI_JG__MALAYALAMLLA } /* joininggroup=malayalamlla */, { 4, 1631, 0, 15, 0, UNI_GEOMETRICSHAPES } /* geometricshapes */, { 34, 1087, 0, 26, 0, UNI_PCM } /* prependedconcatenationmark */, { 1, 1746, 5904, 22, 4, UNI_BPT__N } /* bidipairedbrackettype=none */, { 1, 2161, 9255, 21, 5, -UNI_EXTPICT } /* extendedpictographic=false */, { 18, 8589, 8107, 7, 4, UNI_BALI } /* script=bali */, { 0, 8673, 0, 7, 0, UNI_UCASEXT } /* ucasext */, { 35, 1417, 1179, 24, 2, UNI_CCC__BL } /* canonicalcombiningclass=bl */, { 0, 8780, 5242, 6, 14, UNI_LATINEXTC } /* block=latinextendedc */, { 1, 184, 8366, 3, 6, UNI_CJKEXTC } /* iscjkextc */, { 0, 9305, 0, 5, 0, UNI_NSHU } /* nushu */, { 6, 9488, 2061, 4, 4, UNI_INMODI } /* blk=modi */, { 0, 2061, 0, 15, 0, UNI_MODIFIERLETTERS } /* modifierletters */, { 149, 8780, 8107, 6, 8, UNI_INBALINESE } /* block=balinese */, { 3, 4628, 8948, 15, 6, UNI_EA__NA } /* eastasianwidth=narrow */, { 0, 7318, 7867, 10, 3, UNI_IN__3_DOT_1 } /* presentin=3.1 */, { 128, 10024, 206, 3, 2, UNI_PI } /* gc=pi */, { 40, 7155, 2507, 3, 3, UNI_HATR } /* ishatr */, { 0, 10310, 8668, 4, 5, UNI_INTIRHUTA } /* intirhuta */, { 10, 9488, 1677, 4, 14, UNI_LATINEXTA } /* blk=latinextendeda */, { 8, 4568, 0, 15, 0, UNI_CURRENCYSYMBOLS } /* currencysymbols */, { 16, 9768, 8123, 4, 8, UNI_BUGI } /* scx=buginese */, { 0, 8780, 8407, 6, 7, UNI_DSRT } /* block=deseret */, { 100, 21, 4161, 2, 16, UNI_LINEARBSYLLABARY } /* inlinearbsyllabary */, { 23, 184, 4337, 2, 16, UNI_SUPMATHOPERATORS } /* issupmathoperators */, { 2, 8780, 183, 6, 34, UNI_MISCPICTOGRAPHS } /* block=miscellaneoussymbolsandpictographs */, { 0, 9556, 4360, 4, 9, UNI_WB__EB } /* gcb=emodifier */, { 0, 8589, 9808, 7, 4, UNI_TALU } /* script=talu */, { 3, 9488, 1218, 4, 26, UNI_KATAKANAEXT } /* blk=katakanaphoneticextensions */, { 0, 9596, 6763, 4, 3, UNI_LB__H3 } /* hst=lvt */, { 0, 9596, 0, 4, 0, UNI_hst_values_index } /* hst= */, { 0, 8171, 0, 8, 0, UNI_GUJR } /* gujarati */, { 34, 9277, 8617, 3, 4, UNI_SOYO } /* sc=soyo */, { 1, 3259, 36, 18, 1, UNI_IDSB } /* idsbinaryoperator=t */, { 2, 8575, 9255, 7, 5, -UNI_PATSYN } /* patsyn=false */, { 0, 10048, 7915, 3, 8, UNI_NV__3_SLASH_80 } /* nv=3.75e-02 */, { 104, 5778, 0, 6, 0, UNI_IPAEXT } /* ipaext */, { 0, 3367, 1025, 18, 2, -UNI__PERL_PATWS } /* patternwhitespace=no */, { 201, 9488, 4273, 4, 7, UNI_INMYANMAR } /* blk=myanmar */, { 1, 349, 0, 33, 0, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* supplementalsymbolsandpictographs */, { 251, 10126, 409, 3, 2, UNI_VO__TR } /* vo=tr */, { 2, 2161, 36, 21, 1, UNI_EXTPICT } /* extendedpictographic=t */, { 1, 9508, 9146, 5, 4, UNI_CCC__23 } /* ccc=ccc23 */, { 0, 6420, 125, 3, 2, UNI_OCR } /* inocr */, { 16, 8589, 0, 14, 0, UNI_SC__SHRD } /* script=sharada */, { 2, 8694, 26, 7, 1, UNI_XPOSIXSPACE } /* wspace=y */, { 195, 1417, 8042, 24, 2, UNI_CCC__18 } /* canonicalcombiningclass=18 */, { 1, 7318, 10123, 10, 3, UNI_IN__9 } /* presentin=v90 */, { 0, 8954, 36, 6, 1, UNI__PERL_NCHAR } /* nchar=t */, { 5, 4628, 7486, 15, 9, UNI_EA__A } /* eastasianwidth=ambiguous */, { 4, 184, 3241, 2, 11, UNI_GEORGIANSUP } /* isgeorgiansup */, { 0, 2224, 3440, 3, 11, UNI_SMALLKANAEXT } /* insmallkanaext */, { 1, 7318, 9400, 10, 4, UNI_IN__13 } /* presentin=13.0 */, { 0, 8589, 2203, 7, 14, UNI_SC__ROHG } /* script=hanifirohingya */, { 0, 1552, 1910, 9, 2, UNI_CN } /* category=cn */, { 2, 184, 4554, 3, 14, UNI_CONTROLPICTURES } /* iscontrolpictures */, { 3, 10027, 6289, 3, 12, UNI_JG__MALAYALAMBHA } /* jg=malayalambha */, { 2, 4116, 7740, 3, 6, UNI_IDS } /* isidstart */, { 6, 9768, 2288, 5, 6, UNI_SINH } /* scx=sinhala */, { 16, 6241, 18, 12, 1, UNI_JT__R } /* joiningtype=r */, { 6, 7318, 7827, 10, 3, UNI_IN__2 } /* presentin=2.0 */, { 0, 10132, 4305, 3, 5, UNI_WB__XX } /* wb=other */, { 4, 10048, 9961, 3, 3, UNI_NV__3_SLASH_5 } /* nv=3/5 */, { 13, 9556, 5008, 5, 2, UNI_WB__EB } /* gcb=gaz */, { 0, 9768, 3079, 4, 6, UNI_COPT } /* scx=coptic */, { 0, 9768, 9612, 4, 4, UNI_KNDA } /* scx=knda */, { 0, 9235, 9836, 5, 4, UNI_CWCM } /* cwcm=true */, { 0, 8780, 5003, 6, 15, UNI_INZANABAZARSQUARE } /* block=zanabazarsquare */, { 8, 5674, 0, 5, 0, UNI_BIDIM } /* bidim */, { 7, 2161, 0, 21, 0, UNI_extpict_values_index } /* extendedpictographic= */, { 1, 9768, 9624, 4, 3, UNI_LAO } /* scx=lao */, { 0, 8780, 2409, 6, 10, UNI_INGLAGOLITIC } /* block=glagolitic */, { 0, 3836, 8936, 17, 4, UNI_LYCI } /* scriptextensions=lyci */, { 5, 4791, 4274, 3, 6, UNI_INMYANMAR } /* inmyanmar */, { 83, 8589, 8680, 7, 7, UNI_ZZZZ } /* script=unknown */, { 1, 9277, 2278, 4, 3, UNI_SC__KALI } /* sc=kali */, { 3, 9488, 8477, 4, 7, UNI_INMAKASAR } /* blk=makasar */, { 32, 4568, 0, 14, 0, UNI_SC } /* currencysymbol */, { 0, 184, 7693, 2, 9, UNI_SAMR } /* issamaritan */, { 2, 5986, 5648, 13, 9, UNI_NV__100000000 } /* numericvalue=100000000 */, { 0, 184, 3026, 3, 10, UNI_CHEROKEESUP } /* ischerokeesup */, { 3, 5718, 0, 5, 0, UNI_XPOSIXALNUM } /* alnum */, { 32, 8780, 414, 6, 32, UNI_INIDC } /* block=ideographicdescriptioncharacters */, { 0, 9488, 6085, 4, 12, UNI_CHESSSYMBOLS } /* blk=chesssymbols */, { 193, 8780, 2409, 6, 13, UNI_GLAGOLITICSUP } /* block=glagoliticsup */, { 2, 8589, 6840, 7, 11, UNI_SC__NAND } /* script=nandinagari */, { 4, 9277, 8498, 3, 7, UNI_SC__MULT } /* sc=multani */, { 1, 7155, 2723, 3, 18, UNI_JAMOEXTA } /* ishanguljamoextendeda */, { 11, 184, 250, 2, 33, UNI_MISCMATHSYMBOLSA } /* ismiscellaneousmathematicalsymbolsa */, { 0, 9488, 7675, 4, 9, UNI_PALM } /* blk=palmyrene */, { 9, 9262, 7702, 3, 9, UNI_SB__SC } /* sb=scontinue */, { 1, 10132, 6178, 3, 3, UNI_LB__ZWJ } /* wb=zwj */, { 4, 8589, 4370, 8, 5, UNI_SC__SYRC } /* script=syriac */, { 33, 9768, 8611, 5, 3, UNI_SIDD } /* scx=sidd */, { 11, 5986, 7939, 13, 8, UNI_NV__9_SLASH_2 } /* numericvalue=4.50e+00 */, { 0, 7158, 36, 10, 1, UNI_DIA } /* diacritic=t */, { 1, 1552, 1, 9, 1, UNI_N } /* category=n */, { 83, 3836, 8618, 18, 6, UNI_SOYO } /* scriptextensions=soyombo */, { 3, 184, 5200, 2, 7, UNI_KANASUP } /* iskanasup */, { 5, 9277, 9283, 3, 4, UNI_PHLI } /* sc=phli */, { 96, 9275, 0, 5, 0, UNI_insc_values_index } /* insc= */, { 0, 8428, 0, 4, 0, UNI_GRAN } /* gran */, { 0, 9346, 9836, 4, 4, UNI_IDC } /* idc=true */, { 2, 3836, 9624, 17, 3, UNI_LAO } /* scriptextensions=lao */, { 0, 21, 1218, 2, 26, UNI_KATAKANAEXT } /* inkatakanaphoneticextensions */, { 17, 2161, 1025, 21, 2, -UNI_EXTPICT } /* extendedpictographic=no */, { 0, 8780, 1218, 6, 26, UNI_KATAKANAEXT } /* block=katakanaphoneticextensions */, { 12, 9768, 2913, 5, 3, UNI_SUND } /* scx=sund */, { 0, 184, 1269, 2, 24, UNI_COMPEX } /* isfullcompositionexclusion */, { 1, 10048, 7827, 3, 8, UNI_NV__1_SLASH_5 } /* nv=2.00e-01 */, { 3, 9488, 6277, 4, 12, UNI_MAHJONG } /* blk=mahjongtiles */, { 352, 9262, 495, 3, 7, UNI_SB__NU } /* sb=numeric */, { 1, 10296, 9725, 3, 3, UNI_PHNX } /* isphnx */, { 2, 8780, 7495, 6, 9, UNI_ARABICPFA } /* block=arabicpfa */, { 0, 6805, 0, 13, 0, UNI_MISCSYMBOLS } /* inmiscsymbols */, { 0, 9716, 0, 3, 0, UNI_PCM } /* pcm */, { 258, 9277, 3598, 3, 17, UNI_AGHB } /* sc=caucasianalbanian */, { 4, 8768, 26, 6, 1, UNI_BIDIC } /* bidic=y */, { 2, 8780, 9095, 6, 5, UNI_INBUHID } /* block=buhid */, { 1, 8393, 0, 7, 0, UNI_CJKEXTG } /* cjkextg */, { 3, 117, 415, 3, 31, UNI_INIDC } /* inideographicdescriptioncharacters */, { 0, 1417, 6631, 24, 11, UNI_CCC__DA } /* canonicalcombiningclass=doubleabove */, { 80, 9265, 1, 5, 1, -UNI_IDST } /* idst=n */, { 63, 9488, 3115, 4, 10, UNI_INDEVANAGARI } /* blk=devanagari */, { 0, 2224, 4370, 3, 5, UNI_INSYRIAC } /* insyriac */, { 0, 6205, 3, 12, 1, -UNI_IDEO } /* ideographic=f */, { 37, 184, 9660, 2, 4, UNI_MLYM } /* ismlym */, { 1, 5791, 4748, 13, 15, UNI_JG__MANICHAEANGIMEL } /* joininggroup=manichaeangimel */, { 1, 184, 5592, 2, 14, UNI_ZS } /* isspaceseparator */, { 9, 6554, 3, 11, 1, -UNI_IDC } /* idcontinue=f */, { 3, 5986, 7778, 13, 2, UNI_NV__21 } /* numericvalue=21 */, { 2, 9508, 7858, 4, 3, UNI_CCC__B } /* ccc=220 */, { 0, 1900, 0, 6, 0, UNI_ZYYY } /* common */, { 25, 3836, 9452, 17, 4, UNI_AHOM } /* scriptextensions=ahom */, { 0, 9508, 9136, 5, 4, UNI_CCC__21 } /* ccc=ccc21 */, { 0, 2529, 0, 20, 0, UNI_term_values_index } /* terminalpunctuation= */, { 1, 8768, 9836, 6, 4, UNI_BIDIC } /* bidic=true */, { 0, 8780, 3785, 6, 10, UNI_INMANICHAEAN } /* block=manichaean */, { 8, 10333, 8625, 3, 6, UNI_SUPPUAA } /* issuppuaa */, { 256, 10024, 112, 3, 2, UNI_SC } /* gc=sc */, { 4, 9508, 8042, 4, 2, UNI_CCC__18 } /* ccc=18 */, { 177, 10048, 8067, 3, 8, UNI_NV__17_SLASH_2 } /* nv=8.50e+00 */, { 96, 9768, 8638, 4, 7, UNI_TGLG } /* scx=tagalog */, { 0, 4791, 2856, 3, 8, UNI_INMONGOLIAN } /* inmongolian */, { 0, 8688, 9477, 3, 3, UNI_AVST } /* isavst */, { 11, 9488, 8498, 4, 7, UNI_INMULTANI } /* blk=multani */, { 42, 6231, 630, 3, 29, UNI_CJKEXTE } /* incjkunifiedideographsextensione */, { 2, 6231, 1061, 4, 4, UNI_INCOPTIC } /* incoptic */, { 1, 7325, 10081, 3, 3, UNI_IN__3 } /* in=v30 */, { 5, 1552, 908, 9, 10, UNI_CO } /* category=privateuse */, { 0, 1591, 8422, 3, 6, UNI_INELYMAIC } /* inelymaic */, { 64, 9275, 9300, 5, 5, UNI_INSC__NUKTA } /* insc=nukta */, { 5, 3836, 9460, 17, 4, UNI_ARMI } /* scriptextensions=armi */, { 0, 8688, 9449, 3, 3, UNI_AGHB } /* isaghb */, { 0, 3097, 3501, 18, 3, UNI_DT__MED } /* decompositiontype=med */, { 0, 184, 8123, 2, 4, UNI_BUGI } /* isbugi */, { 8, 9014, 10135, 6, 3, UNI_UIDEO } /* uideo=yes */, { 5, 9536, 3, 4, 1, -UNI_DEP } /* dep=f */, { 2, 8589, 9888, 7, 4, UNI_ZANB } /* script=zanb */, { 9, 10048, 8732, 3, 3, UNI_NV__500 } /* nv=500 */, { 1, 184, 8870, 2, 5, UNI_EPRES } /* isepres */, { 0, 9277, 8477, 3, 7, UNI_MAKA } /* sc=makasar */, { 10, 3382, 1025, 3, 2, -UNI_CE } /* ce=no */, { 10, 5324, 480, 4, 29, UNI_MATHALPHANUM } /* inmathematicalalphanumericsymbols */, { 1, 10033, 5999, 3, 13, UNI_LB__PR } /* lb=prefixnumeric */, { 1, 2779, 0, 18, 0, UNI_IDST } /* idstrinaryoperator */, { 0, 4033, 5726, 16, 13, UNI_ME } /* generalcategory=enclosingmark */, { 0, 10027, 5364, 3, 4, UNI_JG__HETH } /* jg=heth */, { 0, 1979, 6266, 10, 11, UNI_NL } /* category=letternumber */, { 3, 9488, 2665, 4, 19, UNI_COUNTINGROD } /* blk=countingrodnumerals */, { 208, 8780, 7188, 6, 10, UNI_INKHAROSHTHI } /* block=kharoshthi */, { 84, 184, 8359, 3, 6, UNI_CJKEXTB } /* iscjkextb */, { 0, 9768, 2203, 4, 4, UNI_HAN } /* scx=hani */, { 0, 2182, 1087, 21, 7, UNI_GCB__PP } /* graphemeclusterbreak=prepend */, { 288, 2409, 0, 20, 0, UNI_GLAGOLITICSUP } /* glagoliticsupplement */, { 256, 9488, 2912, 4, 12, UNI_SUNDANESESUP } /* blk=sundanesesup */, { 0, 8780, 4703, 6, 15, UNI_INIMPERIALARAMAIC } /* block=imperialaramaic */, { 6, 9014, 3, 6, 1, -UNI_UIDEO } /* uideo=f */, { 0, 7218, 1186, 10, 2, UNI_LB__PO } /* linebreak=po */, { 0, 7438, 6169, 10, 12, UNI_WB__EB } /* wordbreak=glueafterzwj */, { 0, 184, 6181, 2, 12, UNI_GONG } /* isgunjalagondi */, { 1, 10033, 34, 3, 2, UNI_LB__EX } /* lb=ex */, { 2, 2280, 6874, 3, 10, UNI_SO } /* isothersymbol */, { 1, 9277, 3115, 3, 4, UNI_SC__DEVA } /* sc=deva */, { 0, 9488, 6505, 4, 12, UNI_PHAISTOS } /* blk=phaistosdisc */, { 176, 8780, 5228, 6, 14, UNI_LATINEXTB } /* block=latinextendedb */, { 25, 2533, 6028, 5, 9, UNI_ALPHABETICPF } /* inalphabeticpf */, { 5, 9997, 2509, 3, 11, UNI_BC__R } /* bc=righttoleft */, { 0, 8780, 7288, 6, 10, UNI_INOLDSOGDIAN } /* block=oldsogdian */, { 186, 9277, 8131, 3, 8, UNI_SC__DUPL } /* sc=duployan */, { 45, 1673, 0, 4, 0, UNI_JAMO } /* jamo */, { 66, 6061, 0, 12, 0, UNI_bidic_values_index } /* bidicontrol= */, { 0, 8589, 9038, 7, 6, UNI_SC__YEZI } /* script=yezidi */, { 0, 1856, 3, 22, 1, -UNI_CWU } /* changeswhenuppercased=f */, { 256, 10183, 7438, 4, 4, UNI_POSIXWORD } /* perlword */, { 1, 9070, 3, 5, 1, -UNI_POSIXXDIGIT } /* ahex=f */, { 0, 9277, 8596, 3, 7, UNI_SC__SHRD } /* sc=sharada */, { 3, 5986, 0, 13, 0, UNI_nv_values_index } /* numericvalue= */, { 3, 184, 8243, 2, 8, UNI_MAHJ } /* ismahajani */, { 0, 9240, 26, 5, 1, UNI_DASH } /* dash=y */, { 4, 3025, 0, 11, 0, UNI_CHEROKEESUP } /* cherokeesup */, { 2, 6420, 4884, 3, 14, UNI_SARB } /* inoldsoutharabian */, { 1, 9262, 72, 3, 2, UNI_SB__LE } /* sb=le */, { 0, 9520, 0, 4, 0, UNI_cwl_values_index } /* cwl= */, { 2, 7325, 7806, 3, 1, UNI_IN__6 } /* in=6 */, { 2, 1417, 9922, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=214 */, { 0, 3836, 9283, 17, 4, UNI_PHLI } /* scriptextensions=phli */, { 0, 4916, 47, 5, 1, UNI_TERM } /* isterm */, { 104, 7318, 9388, 10, 4, UNI_IN__11 } /* presentin=11.0 */, { 0, 1417, 8082, 24, 2, UNI_CCC__19 } /* canonicalcombiningclass=19 */, { 0, 2182, 911, 21, 1, UNI_GCB__V } /* graphemeclusterbreak=v */, { 1, 262, 0, 2, 0, UNI_SM } /* sm */, { 98, 1552, 5494, 9, 14, UNI_MN } /* category=nonspacingmark */, { 1, 184, 1222, 2, 4, UNI_KANA } /* iskana */, { 1, 5986, 7469, 13, 8, UNI_NV__1_SLASH_2 } /* numericvalue=5.00e-01 */, { 57, 8780, 8624, 6, 7, UNI_SUPPUAA } /* block=suppuaa */, { 3, 21, 5019, 3, 13, UNI_ANCIENTSYMBOLS } /* inancientsymbols */, { 0, 3836, 4928, 17, 5, UNI_TAML } /* scriptextensions=tamil */, { 0, 1552, 45, 9, 2, UNI_CO } /* category=co */, { 3, 9444, 9388, 4, 4, UNI_AGE__11 } /* age=11.0 */, { 1, 4161, 0, 16, 0, UNI_LINEARBSYLLABARY } /* linearbsyllabary */, { 0, 9768, 2245, 4, 11, UNI_MTEI } /* scx=meeteimayek */, { 3, 10024, 4305, 3, 5, UNI_C } /* gc=other */, { 1, 1768, 1, 22, 1, -UNI_CWCF } /* changeswhencasefolded=n */, { 2, 5752, 0, 8, 0, UNI_GREEKEXT } /* greekext */, { 34, 9768, 8477, 4, 4, UNI_MAKA } /* scx=maka */, { 2, 10048, 9958, 3, 3, UNI_NV__3_SLASH_4 } /* nv=3/4 */, { 20, 184, 749, 2, 16, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanum */, { 0, 9488, 9320, 4, 5, UNI_INOSAGE } /* blk=osage */, { 0, 8227, 0, 8, 0, UNI_KANAEXTA } /* kanaexta */, { 22, 4448, 0, 8, 0, UNI_BAMUMSUP } /* bamumsup */, { 65, 3836, 8888, 17, 6, UNI_HATR } /* scriptextensions=hatran */, { 0, 3904, 9255, 17, 5, -UNI_UIDEO } /* unifiedideograph=false */, { 3, 9444, 9840, 4, 4, UNI_AGE__10 } /* age=v100 */, { 36, 3836, 9548, 17, 4, UNI_DSRT } /* scriptextensions=dsrt */, { 128, 10048, 7795, 3, 8, UNI_NV__3_SLASH_20 } /* nv=1.50e-01 */, { 11, 3529, 1025, 18, 2, -UNI_VS } /* variationselector=no */, { 0, 3768, 0, 17, 0, UNI_LETTERLIKESYMBOLS } /* letterlikesymbols */, { 40, 8400, 3, 7, 1, -UNI_COMPEX } /* compex=f */, { 0, 184, 3751, 2, 17, UNI_KITS } /* iskhitansmallscript */, { 0, 9488, 1654, 4, 23, UNI_COMPATJAMO } /* blk=hangulcompatibilityjamo */, { 1, 10027, 3819, 3, 17, UNI_JG__MANICHAEANTHAMEDH } /* jg=manichaeanthamedh */, { 0, 414, 0, 11, 0, UNI_IDEO } /* ideographic */, { 16, 184, 4448, 2, 5, UNI_BAMU } /* isbamum */, { 259, 10048, 7859, 3, 5, UNI_NV__20000 } /* nv=20000 */, { 1, 1966, 7639, 22, 9, UNI_INSC__NONJOINER } /* indicsyllabiccategory=nonjoiner */, { 0, 9488, 1218, 4, 8, UNI_INKATAKANA } /* blk=katakana */, { 288, 1591, 3170, 3, 10, UNI_ETHIOPICSUP } /* inethiopicsup */, { 9, 8780, 4049, 6, 11, UNI_GEORGIANEXT } /* block=georgianext */, { 4, 9768, 8470, 4, 7, UNI_LINA } /* scx=lineara */, { 1, 3097, 2569, 18, 8, UNI_DT__VERT } /* decompositiontype=vertical */, { 2, 3133, 9255, 18, 5, -UNI_EBASE } /* emojimodifierbase=false */, { 4, 7325, 10117, 3, 3, UNI_IN__7 } /* in=v70 */, { 6, 4033, 1, 16, 1, UNI_N } /* generalcategory=n */, { 296, 9556, 36, 4, 1, UNI_GCB__T } /* gcb=t */, { 0, 1552, 47, 9, 1, UNI_M } /* category=m */, { 1, 5791, 9772, 13, 4, UNI_JG__SEEN } /* joininggroup=seen */, { 1, 9270, 3475, 5, 18, UNI_INPC__TOPANDLEFTANDRIGHT } /* inpc=topandleftandright */, { 33, 9532, 0, 4, 0, UNI_CYRL } /* cyrl */, { 2, 1087, 10135, 27, 3, UNI_PCM } /* prependedconcatenationmark=yes */, { 1, 7318, 9384, 10, 4, UNI_IN__10 } /* presentin=10.0 */, { 0, 5986, 7950, 13, 1, UNI_NV__9 } /* numericvalue=9 */, { 1, 4116, 2780, 3, 17, UNI_IDST } /* isidstrinaryoperator */, { 49, 9768, 8888, 4, 4, UNI_HATR } /* scx=hatr */, { 0, 4116, 59, 3, 3, UNI_IDEO } /* isideo */, { 0, 9488, 951, 4, 18, UNI_INVS } /* blk=variationselectors */, { 289, 3385, 0, 17, 0, UNI_RI } /* regionalindicator */, { 1, 8780, 7378, 6, 10, UNI_SUPARROWSA } /* block=suparrowsa */, { 8, 7088, 25, 10, 1, UNI_BC__S } /* bidiclass=s */, { 1, 1552, 38, 9, 2, UNI_XPOSIXDIGIT } /* category=nd */, { 65, 4448, 0, 4, 0, UNI_BAMU } /* bamu */, { 0, 7438, 495, 10, 2, UNI_WB__NU } /* wordbreak=nu */, { 1, 5324, 5845, 4, 7, UNI_INMALAYALAM } /* inmalayalam */, { 18, 9488, 1922, 4, 22, UNI_DIACRITICALSFORSYMBOLS } /* blk=diacriticalsforsymbols */, { 3, 3785, 0, 10, 0, UNI_MANI } /* manichaean */, { 98, 6231, 150, 4, 33, UNI_DIACRITICALSSUP } /* incombiningdiacriticalmarkssupplement */, { 10, 1273, 9836, 21, 4, UNI_CE } /* compositionexclusion=true */, { 1, 6481, 0, 12, 0, UNI_HUNG } /* oldhungarian */, { 0, 8386, 0, 7, 0, UNI_CJKEXTF } /* cjkextf */, { 4, 3385, 1025, 18, 2, -UNI_RI } /* regionalindicator=no */, { 16, 2224, 2288, 3, 6, UNI_INSINHALA } /* insinhala */, { 0, 8589, 6409, 7, 12, UNI_MEND } /* script=mendekikakui */, { 1, 4989, 1868, 3, 8, UNI_XPOSIXUPPER } /* isuppercase */, { 0, 5791, 2223, 13, 3, UNI_JG__AIN } /* joininggroup=ain */, { 197, 8780, 328, 6, 21, UNI_MATHOPERATORS } /* block=mathematicaloperators */, { 0, 6420, 8548, 3, 6, UNI_OLCK } /* inolchiki */, { 0, 9488, 8345, 5, 6, UNI_INBENGALI } /* blk=bengali */, { 0, 9488, 4553, 4, 15, UNI_CONTROLPICTURES } /* blk=controlpictures */, { 130, 184, 7378, 2, 10, UNI_SUPARROWSA } /* issuparrowsa */, { 4, 10048, 8750, 3, 5, UNI_NV__80000 } /* nv=80000 */, { 17, 9488, 7666, 4, 9, UNI_INOLDTURKIC } /* blk=oldturkic */, { 5, 3836, 8582, 17, 7, UNI_PHAG } /* scriptextensions=phagspa */, { 2, 1552, 133, 9, 4, UNI_M } /* category=mark */, { 1, 5986, 7859, 13, 2, UNI_NV__20 } /* numericvalue=20 */, { 32, 9776, 0, 4, 0, UNI_SGNW } /* sgnw */, { 1, 8780, 4337, 6, 16, UNI_SUPMATHOPERATORS } /* block=supmathoperators */, { 0, 6231, 660, 3, 29, UNI_CJKEXTF } /* incjkunifiedideographsextensionf */, { 0, 9508, 9131, 5, 4, UNI_CCC__20 } /* ccc=ccc20 */, { 0, 7428, 0, 10, 0, UNI_WARA } /* warangciti */, { 0, 7438, 6653, 10, 11, UNI_WB__DQ } /* wordbreak=doublequote */, { 1, 250, 0, 33, 0, UNI_MISCMATHSYMBOLSA } /* miscellaneousmathematicalsymbolsa */, { 0, 3367, 10135, 18, 3, UNI__PERL_PATWS } /* patternwhitespace=yes */, { 21, 9277, 2329, 3, 20, UNI_HLUW } /* sc=anatolianhieroglyphs */, { 3, 1033, 0, 27, 0, UNI_ENCLOSEDCJK } /* enclosedcjklettersandmonths */, { 3, 9768, 9584, 4, 4, UNI_HLUW } /* scx=hluw */, { 35, 6231, 8359, 3, 6, UNI_CJKEXTB } /* incjkextb */, { 0, 7325, 9970, 3, 3, UNI_IN__5_DOT_2 } /* in=5.2 */, { 1, 8512, 26, 7, 1, UNI_NFKCQC__Y } /* nfkcqc=y */, { 0, 8589, 9325, 7, 5, UNI_RUNR } /* script=runic */, { 0, 3836, 9095, 17, 5, UNI_BUHD } /* scriptextensions=buhid */, { 0, 9488, 2912, 4, 19, UNI_SUNDANESESUP } /* blk=sundanesesupplement */, { 1, 184, 8984, 2, 5, UNI_QMARK } /* isqmark */, { 1, 10170, 0, 2, 0, UNI_CASEDLETTER } /* l_ */, { 0, 4033, 8855, 16, 2, UNI_CF } /* generalcategory=cf */, { 1, 10290, 9225, 6, 5, UNI_XPOSIXCNTRL } /* xposixcntrl */, { 18, 9488, 1013, 4, 5, UNI_INGREEK } /* blk=greek */, { 64, 9488, 3025, 4, 11, UNI_CHEROKEESUP } /* blk=cherokeesup */, { 0, 2560, 0, 4, 0, UNI_MAND } /* mand */, { 3, 9270, 7298, 5, 10, UNI_INPC__OVERSTRUCK } /* inpc=overstruck */, { 0, 9277, 9860, 3, 4, UNI_VAI } /* sc=vaii */, { 97, 3836, 9480, 17, 4, UNI_BATK } /* scriptextensions=batk */, { 12, 9488, 9452, 4, 4, UNI_INAHOM } /* blk=ahom */, { 0, 9277, 3169, 3, 4, UNI_ETHI } /* sc=ethi */, { 47, 184, 10180, 2, 2, UNI_ZS } /* iszs */, { 0, 5171, 0, 4, 0, UNI_CHAM } /* cham */, { 4, 5674, 1025, 13, 2, -UNI_BIDIM } /* bidimirrored=no */, { 19, 2684, 0, 19, 0, UNI_EGYP } /* egyptianhieroglyphs */, { 0, 10009, 3439, 3, 5, UNI_DT__SML } /* dt=small */, { 1, 8780, 9285, 6, 5, UNI_INLIMBU } /* block=limbu */, { 0, 9596, 7238, 4, 10, UNI_LB__H2 } /* hst=lvsyllable */, { 5, 7318, 9397, 10, 3, UNI_IN__2_DOT_1 } /* presentin=2.1 */, { 36, 6229, 10135, 12, 3, UNI_JOINC } /* joincontrol=yes */, { 130, 9768, 3894, 5, 10, UNI_SGNW } /* scx=signwriting */, { 6, 3717, 0, 17, 0, UNI_identifierstatus_values_index } /* identifierstatus= */, { 112, 8589, 6253, 7, 5, UNI_KHMR } /* script=khmer */, { 2, 8780, 2329, 6, 20, UNI_INANATOLIANHIEROGLYPHS } /* block=anatolianhieroglyphs */, { 0, 1273, 0, 21, 0, UNI_ce_values_index } /* compositionexclusion= */, { 1, 10024, 1186, 3, 2, UNI_PO } /* gc=po */, { 4, 9488, 8659, 4, 7, UNI_INTIBETAN } /* blk=tibetan */, { 394, 5674, 9255, 13, 5, -UNI_BIDIM } /* bidimirrored=false */, { 22, 9488, 5242, 4, 14, UNI_LATINEXTC } /* blk=latinextendedc */, { 1, 8780, 1677, 6, 14, UNI_LATINEXTA } /* block=latinextendeda */, { 0, 184, 8380, 3, 6, UNI_CJKEXTE } /* iscjkexte */, { 0, 9488, 2855, 4, 19, UNI_MONGOLIANSUP } /* blk=mongoliansupplement */, { 0, 3052, 0, 9, 0, UNI_HALFMARKS } /* halfmarks */, { 0, 8780, 1944, 6, 22, UNI_EARLYDYNASTICCUNEIFORM } /* block=earlydynasticcuneiform */, { 0, 8780, 9008, 6, 6, UNI_INTHAANA } /* block=thaana */, { 6, 8884, 3, 4, 1, -UNI_EXT } /* ext=f */, { 2, 184, 1988, 2, 21, UNI_LOE } /* islogicalorderexception */, { 0, 5986, 8738, 13, 5, UNI_NV__60000 } /* numericvalue=60000 */, { 0, 21, 3549, 4, 15, UNI_ALCHEMICAL } /* inalchemicalsymbols */, { 2, 5986, 7867, 13, 8, UNI_NV__1_SLASH_32 } /* numericvalue=3.12e-02 */, { 0, 5986, 7971, 13, 8, UNI_NV__7_SLASH_12 } /* numericvalue=5.83e-01 */, { 0, 5508, 36, 14, 1, UNI_PATSYN } /* patternsyntax=t */, { 0, 5739, 9836, 13, 4, UNI_GRBASE } /* graphemebase=true */, { 0, 2182, 18, 21, 2, UNI_RI } /* graphemeclusterbreak=ri */, { 4, 4033, 6862, 16, 11, UNI_NO } /* generalcategory=othernumber */, { 0, 8780, 5778, 6, 13, UNI_IPAEXT } /* block=ipaextensions */, { 0, 9768, 9712, 4, 4, UNI_OSGE } /* scx=osge */, { 0, 9262, 1194, 3, 2, UNI_LB__LF } /* sb=lf */, { 182, 2218, 9306, 3, 4, UNI_INNUSHU } /* innushu */, { 0, 117, 2431, 4, 18, UNI_ININSCRIPTIONALPAHLAVI } /* ininscriptionalpahlavi */, { 0, 3836, 1628, 17, 4, UNI_PHAG } /* scriptextensions=phag */, { 2, 5284, 0, 7, 0, UNI_LISUSUP } /* lisusup */, { 0, 7325, 7814, 3, 1, UNI_IN__7 } /* in=7 */, { 1, 9997, 10036, 3, 3, UNI_BC__LRE } /* bc=lre */, { 10, 6231, 2141, 3, 17, UNI_CYRILLICSUP } /* incyrillicsupplement */, { 0, 8780, 9800, 6, 4, UNI_TAGS } /* block=tags */, { 56, 10048, 8714, 3, 4, UNI_NV__3000 } /* nv=3000 */, { 0, 8780, 3439, 6, 12, UNI_SMALLKANAEXT } /* block=smallkanaext */, { 0, 1591, 3684, 3, 10, UNI_ETHIOPICEXT } /* inethiopicext */, { 0, 7318, 10081, 10, 3, UNI_IN__3 } /* presentin=v30 */, { 3, 10009, 7, 3, 3, UNI_DT__CAN } /* dt=can */, { 0, 5791, 5424, 13, 14, UNI_JG__MANICHAEANYODH } /* joininggroup=manichaeanyodh */, { 3, 1188, 2297, 3, 3, UNI_INTHAI } /* inthai */, { 0, 8589, 6940, 8, 10, UNI_SORA } /* script=sorasompeng */, { 0, 9277, 7191, 6, 7, UNI_KHAR } /* sc=kharoshthi */, { 20, 184, 9513, 3, 3, UNI_CHRS } /* ischrs */, { 0, 8780, 5687, 6, 13, UNI_BLOCKELEMENTS } /* block=blockelements */, { 5, 1552, 6851, 9, 11, UNI_LO } /* category=otherletter */, { 0, 9488, 3241, 4, 18, UNI_GEORGIANSUP } /* blk=georgiansupplement */, { 11, 3836, 9684, 17, 4, UNI_NEWA } /* scriptextensions=newa */, { 0, 9524, 3, 4, 1, -UNI_CWT } /* cwt=f */, { 2, 9488, 8924, 4, 6, UNI_INLEPCHA } /* blk=lepcha */, { 32, 1441, 0, 10, 0, UNI_CJKSYMBOLS } /* cjksymbols */, { 0, 6420, 7289, 3, 9, UNI_INOLDSOGDIAN } /* inoldsogdian */, { 1, 7438, 495, 10, 7, UNI_WB__NU } /* wordbreak=numeric */, { 0, 8589, 5550, 7, 14, UNI_SC__PHLP } /* script=psalterpahlavi */, { 3, 10048, 7755, 3, 8, UNI_NV__1_SLASH_9 } /* nv=1.11e-01 */, { 0, 8589, 9828, 7, 4, UNI_THAI } /* script=thai */, { 2, 10033, 6217, 3, 12, UNI_LB__IS } /* lb=infixnumeric */, { 0, 8852, 26, 6, 1, UNI_CWKCF } /* cwkcf=y */, { 3, 184, 2409, 2, 4, UNI_GLAG } /* isglag */, { 2, 6061, 0, 5, 0, UNI_BIDIC } /* bidic */, { 85, 5578, 72, 14, 2, UNI_SB__LE } /* sentencebreak=le */, { 162, 1966, 1489, 22, 24, UNI_INSC__CONSONANTSUCCEEDINGREPHA } /* indicsyllabiccategory=consonantsucceedingrepha */, { 0, 3836, 9664, 17, 3, UNI_MRO } /* scriptextensions=mro */, { 0, 5986, 5648, 13, 8, UNI_NV__10000000 } /* numericvalue=10000000 */, { 0, 184, 5075, 3, 13, UNI_CJKCOMPATFORMS } /* iscjkcompatforms */, { 0, 10033, 7108, 3, 10, UNI_LB__BA } /* lb=breakafter */, { 0, 2182, 4360, 21, 9, UNI_WB__EB } /* graphemeclusterbreak=emodifier */, { 21, 6231, 1442, 3, 23, UNI_CJKSYMBOLS } /* incjksymbolsandpunctuation */, { 35, 6873, 0, 11, 0, UNI_SO } /* othersymbol */, { 0, 8589, 9860, 7, 3, UNI_VAI } /* script=vai */, { 0, 8688, 6026, 3, 11, UNI_ALPHABETICPF } /* isalphabeticpf */, { 0, 9277, 8457, 4, 6, UNI_SC__KNDA } /* sc=kannada */, { 38, 6805, 5176, 4, 2, UNI_INMIAO } /* inmiao */, { 8, 9768, 8888, 4, 6, UNI_HATR } /* scx=hatran */, { 0, 184, 749, 2, 21, UNI_ENCLOSEDALPHANUM } /* isenclosedalphanumerics */, { 0, 8589, 9315, 7, 5, UNI_SC__ORYA } /* script=oriya */, { 133, 7438, 5012, 10, 2, UNI_WB__SQ } /* wordbreak=sq */, { 0, 9275, 9026, 5, 6, UNI_INSC__VIRAMA } /* insc=virama */, { 2, 4973, 0, 8, 0, UNI_VEDICEXT } /* vedicext */, { 52, 74, 0, 2, 0, UNI_ME } /* me */, { 26, 1979, 0, 10, 0, UNI_L } /* category=l */, { 0, 5986, 9060, 13, 5, UNI_NV__11_SLASH_12 } /* numericvalue=11/12 */, { 1, 8589, 8219, 7, 4, UNI_SC__JAVA } /* script=java */, { 0, 4033, 47, 16, 1, UNI_M } /* generalcategory=m */, { 6, 10048, 7787, 3, 8, UNI_NV__3_SLASH_2 } /* nv=1.50e+00 */, { 1, 1966, 4113, 22, 16, UNI_INSC__INVISIBLESTACKER } /* indicsyllabiccategory=invisiblestacker */, { 1, 4033, 4943, 16, 15, UNI_TITLE } /* generalcategory=titlecaseletter */, { 0, 8589, 6840, 7, 4, UNI_SC__NAND } /* script=nand */, { 1, 10060, 10135, 3, 3, UNI_RI } /* ri=yes */, { 256, 9488, 78, 4, 35, UNI_ARABICMATH } /* blk=arabicmathematicalalphabeticsymbols */, { 0, 9716, 10135, 4, 3, UNI_PCM } /* pcm=yes */, { 6, 9768, 9285, 4, 5, UNI_LIMB } /* scx=limbu */, { 1, 9768, 8484, 4, 7, UNI_MAND } /* scx=mandaic */, { 5, 3836, 1013, 17, 5, UNI_GREK } /* scriptextensions=greek */, { 6, 7325, 10087, 3, 3, UNI_IN__3_DOT_2 } /* in=v32 */, { 0, 5324, 4342, 4, 11, UNI_MATHOPERATORS } /* inmathoperators */, { 1, 4001, 0, 16, 0, UNI_CYPRIOTSYLLABARY } /* cypriotsyllabary */, { 0, 8299, 0, 8, 0, UNI_TFNG } /* tifinagh */, { 196, 2288, 1656, 4, 4, UNI_INHANGUL } /* inhangul */, { 2, 5986, 7821, 13, 1, UNI_NV__8 } /* numericvalue=8 */, { 64, 184, 7428, 2, 10, UNI_WARA } /* iswarangciti */, { 1, 3836, 6409, 17, 12, UNI_MEND } /* scriptextensions=mendekikakui */, { 3, 5986, 8744, 13, 5, UNI_NV__70000 } /* numericvalue=70000 */, { 1, 9488, 4129, 4, 9, UNI_LATIN1 } /* blk=latin1sup */, { 0, 7088, 18, 10, 1, UNI_BC__R } /* bidiclass=r */, { 0, 6231, 8366, 3, 6, UNI_CJKEXTC } /* incjkextc */, { 2, 183, 0, 34, 0, UNI_MISCPICTOGRAPHS } /* miscellaneoussymbolsandpictographs */, { 0, 2280, 6863, 3, 10, UNI_NO } /* isothernumber */, { 0, 9528, 36, 4, 1, UNI_CWU } /* cwu=t */, { 265, 8589, 8900, 7, 6, UNI_SC__KTHI } /* script=kaithi */, { 46, 6231, 43, 3, 15, UNI_CJKCOMPAT } /* incjkcompatibility */, { 0, 9277, 8484, 3, 7, UNI_SC__MAND } /* sc=mandaic */, { 4, 184, 9624, 2, 4, UNI_LAO } /* islaoo */, { 3, 3836, 9692, 17, 4, UNI_NSHU } /* scriptextensions=nshu */, { 1, 3151, 36, 18, 1, UNI_EPRES } /* emojipresentation=t */, { 58, 3836, 7292, 18, 3, UNI_SOGD } /* scriptextensions=sogd */, { 81, 9488, 8561, 4, 7, UNI_INOSMANYA } /* blk=osmanya */, { 3, 21, 8990, 2, 6, UNI_INREJANG } /* inrejang */, { 32, 7088, 10039, 10, 3, UNI_BC__LRI } /* bidiclass=lri */, { 4, 10024, 1563, 3, 2, UNI_PS } /* gc=ps */, { 1, 3836, 8680, 17, 7, UNI_ZZZZ } /* scriptextensions=unknown */, { 1, 9768, 9672, 4, 4, UNI_MYMR } /* scx=mymr */, { 0, 9071, 26, 4, 1, UNI_XPOSIXXDIGIT } /* hex=y */, { 0, 5986, 9168, 13, 2, UNI_NV__27 } /* numericvalue=27 */, { 0, 10033, 495, 3, 2, UNI_LB__NU } /* lb=nu */, { 31, 8780, 2722, 6, 19, UNI_JAMOEXTA } /* block=hanguljamoextendeda */, { 1, 184, 8414, 2, 4, UNI_ELBA } /* iselba */, { 99, 2784, 80, 4, 33, UNI_ARABICMATH } /* inarabicmathematicalalphabeticsymbols */, { 0, 6277, 0, 4, 0, UNI_MAHJ } /* mahj */, { 35, 117, 3736, 4, 15, UNI_INDICSIYAQNUMBERS } /* inindicsiyaqnumbers */, { 1, 8589, 9330, 7, 5, UNI_SC__TALE } /* script=taile */, { 0, 9277, 9085, 3, 5, UNI_BATK } /* sc=batak */, { 0, 9488, 4928, 4, 5, UNI_INTAMIL } /* blk=tamil */, { 49, 3341, 0, 8, 0, UNI_DINGBATS } /* dingbats */, { 0, 9488, 2665, 4, 11, UNI_COUNTINGROD } /* blk=countingrod */, { 35, 4033, 0, 16, 0, UNI_gc_values_index } /* generalcategory= */, { 4, 1114, 1, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=n */, { 7, 6231, 690, 3, 29, UNI_CJKEXTG } /* incjkunifiedideographsextensiong */, { 3, 7438, 18, 10, 2, UNI_RI } /* wordbreak=ri */, { 0, 184, 10178, 2, 2, UNI_ZP } /* iszp */, { 3, 5986, 9916, 13, 3, UNI_NV__2_SLASH_5 } /* numericvalue=2/5 */, { 2, 8780, 8900, 6, 6, UNI_INKAITHI } /* block=kaithi */, { 0, 2817, 0, 4, 0, UNI_MERO } /* mero */, { 0, 10024, 4583, 3, 15, UNI_PD } /* gc=dashpunctuation */, { 0, 7675, 0, 9, 0, UNI_PALM } /* palmyrene */, { 16, 184, 2141, 3, 17, UNI_CYRILLICSUP } /* iscyrillicsupplement */, { 3, 8780, 5830, 6, 13, UNI_LOWSURROGATES } /* block=lowsurrogates */, { 0, 4033, 9225, 16, 5, UNI_XPOSIXCNTRL } /* generalcategory=cntrl */, { 8, 21, 8936, 2, 6, UNI_INLYCIAN } /* inlycian */, { 16, 5791, 9075, 13, 5, UNI_JG__ALAPH } /* joininggroup=alaph */, { 3, 4989, 4959, 3, 14, UNI_UPPERCASELETTER } /* isuppercaseletter */, { 120, 184, 3937, 2, 8, UNI_BOPO } /* isbopomofo */, { 0, 10132, 8323, 3, 7, UNI_WB__LE } /* wb=aletter */, { 4, 8589, 9245, 7, 5, UNI_SC__DOGR } /* script=dogra */, { 67, 3853, 1, 17, 1, -UNI_STERM } /* sentenceterminal=n */, { 0, 10182, 1159, 33, 5, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START } /* _perl_problematic_locale_foldeds_start */, { 3, 9768, 9002, 4, 6, UNI_TELU } /* scx=telugu */, { 0, 5040, 0, 5, 0, UNI_XPOSIXDIGIT } /* digit */, { 2, 5564, 1025, 14, 2, -UNI_QMARK } /* quotationmark=no */, { 0, 7, 0, 1, 0, UNI_C } /* c */, { 1, 9640, 1, 4, 1, -UNI_LOE } /* loe=n */, { 0, 8780, 3921, 6, 9, UNI_ARABICSUP } /* block=arabicsup */, { 0, 9828, 0, 4, 0, UNI_THAI } /* thai */, { 0, 9488, 3241, 4, 8, UNI_INGEORGIAN } /* blk=georgian */, { 0, 3836, 9440, 17, 4, UNI_ADLM } /* scriptextensions=adlm */, { 163, 6609, 10135, 11, 3, UNI_DEP } /* deprecated=yes */, { 4, 10296, 62, 7, 5, UNI_POSIXGRAPH } /* isposixgraph */, { 0, 184, 8373, 3, 6, UNI_CJKEXTD } /* iscjkextd */, { 103, 9488, 5228, 4, 14, UNI_LATINEXTB } /* blk=latinextendedb */, { 1, 4791, 0, 17, 0, UNI_INMEROITICCURSIVE } /* inmeroiticcursive */, { 4, 1812, 9255, 22, 5, -UNI_CWL } /* changeswhenlowercased=false */, { 0, 9768, 8498, 4, 7, UNI_MULT } /* scx=multani */, { 1, 9277, 4369, 3, 6, UNI_SC__SYRC } /* sc=syriac */, { 1, 9270, 7676, 3, 8, UNI_PALM } /* inpalmyrene */, { 0, 9277, 9325, 3, 5, UNI_RUNR } /* sc=runic */, { 474, 1552, 467, 9, 5, UNI_P } /* category=punct */, { 0, 4116, 6555, 3, 9, UNI_IDC } /* isidcontinue */, { 0, 9716, 3, 4, 1, -UNI_PCM } /* pcm=f */, { 0, 6620, 0, 6, 0, UNI_DOMINO } /* domino */, { 0, 3836, 4868, 17, 15, UNI_NARB } /* scriptextensions=oldnortharabian */, { 2, 184, 4973, 2, 15, UNI_VEDICEXT } /* isvedicextensions */, { 11, 1828, 36, 6, 1, UNI_CASED } /* cased=t */, { 20, 9488, 8315, 4, 8, UNI_INUGARITIC } /* blk=ugaritic */, { 0, 7218, 184, 10, 2, UNI_LB__IS } /* linebreak=is */, { 0, 7739, 1025, 8, 2, -UNI_IDS } /* idstart=no */, { 4, 9488, 9038, 4, 6, UNI_INYEZIDI } /* blk=yezidi */, { 0, 8589, 9285, 7, 5, UNI_SC__LIMB } /* script=limbu */, { 2, 7325, 7987, 3, 3, UNI_IN__6_DOT_2 } /* in=6.2 */, { 3, 7155, 2723, 3, 9, UNI_JAMO } /* ishanguljamo */, { 0, 7318, 10084, 10, 3, UNI_IN__3_DOT_1 } /* presentin=v31 */, { 1, 3097, 9868, 18, 4, UNI_EA__F } /* decompositiontype=wide */, { 106, 9277, 6939, 3, 11, UNI_SORA } /* sc=sorasompeng */, { 0, 9488, 8211, 4, 8, UNI_JAMOEXTB } /* blk=jamoextb */, { 12, 9556, 0, 4, 0, UNI_gcb_values_index } /* gcb= */, { 41, 2182, 36, 21, 1, UNI_GCB__T } /* graphemeclusterbreak=t */, { 0, 7325, 7781, 3, 1, UNI_IN__4 } /* in=4 */, { 3, 8762, 10135, 6, 3, UNI_XPOSIXALPHA } /* alpha=yes */, { 0, 1552, 6873, 9, 11, UNI_SO } /* category=othersymbol */, { 5, 1059, 0, 2, 0, UNI_SO } /* so */, { 0, 9556, 1194, 4, 2, UNI_LB__LF } /* gcb=lf */, { 0, 3836, 8786, 17, 4, UNI_CARI } /* scriptextensions=cari */, { 0, 10333, 8611, 3, 6, UNI_SIDD } /* issiddham */, { 7, 5986, 9994, 13, 3, UNI_NV__9_SLASH_2 } /* numericvalue=9/2 */, { 48, 5578, 138, 14, 2, UNI_SB__FO } /* sentencebreak=fo */, { 6, 9277, 8638, 3, 7, UNI_SC__TGLG } /* sc=tagalog */, { 69, 4643, 26, 15, 1, UNI_ECOMP } /* emojicomponent=y */, { 128, 5200, 0, 14, 0, UNI_KANASUP } /* kanasupplement */, { 1, 5986, 8042, 13, 2, UNI_NV__18 } /* numericvalue=18 */, { 0, 8906, 0, 6, 0, UNI_KANBUN } /* kanbun */, { 2, 4916, 9336, 3, 3, UNI_TAKR } /* istakr */, { 1, 184, 2120, 3, 13, UNI_CJKRADICALSSUP } /* iscjkradicalssup */, { 18, 3097, 1253, 18, 4, UNI_DT__INIT } /* decompositiontype=init */, { 3, 9640, 0, 4, 0, UNI_loe_values_index } /* loe= */, { 25, 3097, 5904, 18, 4, UNI_DT__NONE } /* decompositiontype=none */, { 9, 7318, 10120, 10, 3, UNI_IN__8 } /* presentin=v80 */, { 0, 6097, 0, 12, 0, UNI_CYRILLICEXTA } /* cyrillicexta */, { 88, 9488, 2119, 4, 21, UNI_CJKRADICALSSUP } /* blk=cjkradicalssupplement */, { 6, 184, 7621, 2, 9, UNI_NBAT } /* isnabataean */, { 1, 8780, 7368, 6, 10, UNI_SMALLFORMS } /* block=smallforms */, { 1, 8884, 9836, 4, 4, UNI_EXT } /* ext=true */, { 3, 8610, 0, 7, 0, UNI_SIDD } /* siddham */, { 344, 5116, 3, 14, 1, -UNI_EMOD } /* emojimodifier=f */, { 0, 9508, 9940, 4, 3, UNI_CCC__A } /* ccc=230 */, { 1, 908, 0, 10, 0, UNI_CO } /* privateuse */, { 1, 184, 10303, 2, 5, UNI_XPOSIXBLANK } /* isblank */, { 0, 3836, 9672, 17, 4, UNI_MYMR } /* scriptextensions=mymr */, { 0, 9768, 9512, 4, 4, UNI_CHRS } /* scx=chrs */, { 38, 6231, 5075, 3, 13, UNI_CJKCOMPATFORMS } /* incjkcompatforms */, { 5, 5564, 0, 13, 0, UNI_QMARK } /* quotationmark */, { 0, 184, 283, 2, 33, UNI_MISCMATHSYMBOLSB } /* ismiscellaneousmathematicalsymbolsb */, { 5, 1417, 9937, 24, 3, UNI_CCC__AL } /* canonicalcombiningclass=228 */, { 1, 1188, 9009, 3, 5, UNI_INTHAANA } /* inthaana */, { 0, 4033, 24, 16, 1, UNI_L } /* generalcategory=l */, { 8, 9277, 2817, 3, 19, UNI_MERO } /* sc=meroitichieroglyphs */, { 4, 3836, 9628, 17, 4, UNI_LATN } /* scriptextensions=latn */, { 1, 1834, 3, 22, 1, -UNI_CWT } /* changeswhentitlecased=f */, { 2, 8774, 36, 6, 1, UNI_BIDIM } /* bidim=t */, { 0, 5791, 5856, 13, 13, UNI_JG__MALAYALAMNNNA } /* joininggroup=malayalamnnna */, { 11, 5791, 6289, 13, 12, UNI_JG__MALAYALAMBHA } /* joininggroup=malayalambha */, { 99, 7218, 4538, 10, 15, UNI_LB__CB } /* linebreak=contingentbreak */, { 84, 2218, 6842, 4, 9, UNI_INNANDINAGARI } /* innandinagari */, { 5, 4916, 9009, 3, 3, UNI_THAA } /* isthaa */, { 1, 1552, 7, 9, 1, UNI_C } /* category=c */, { 150, 2218, 1912, 3, 10, UNI_NUMBERFORMS } /* innumberforms */, { 5, 9277, 9285, 3, 5, UNI_SC__LIMB } /* sc=limbu */, { 135, 9768, 9797, 5, 3, UNI_SYRC } /* scx=syrc */, { 10, 184, 4273, 2, 7, UNI_MYMR } /* ismyanmar */, { 3, 8780, 4598, 6, 15, UNI_DIACRITICALSEXT } /* block=diacriticalsext */, { 0, 9488, 3025, 4, 18, UNI_CHEROKEESUP } /* blk=cherokeesupplement */, { 1, 1790, 0, 21, 0, UNI_CWCM } /* changeswhencasemapped */, { 1, 7155, 2742, 3, 18, UNI_JAMOEXTB } /* ishanguljamoextendedb */, { 23, 8780, 4478, 6, 15, UNI_BRAI } /* block=braillepatterns */, { 0, 10333, 10183, 7, 4, UNI_XPOSIXSPACE } /* isspaceperl */, { 6, 10027, 5179, 3, 3, UNI_JG__HEH } /* jg=heh */, { 0, 8589, 9580, 7, 4, UNI_SC__HANO } /* script=hano */, { 26, 10182, 7739, 6, 7, UNI__PERL_IDSTART } /* _perl_idstart */, { 0, 9350, 36, 5, 1, UNI_XIDS } /* xids=t */, { 306, 2224, 3888, 3, 16, UNI_SUTTONSIGNWRITING } /* insuttonsignwriting */, { 88, 7325, 9982, 3, 3, UNI_IN__6_DOT_3 } /* in=6.3 */, { 258, 10006, 9836, 3, 4, UNI_DI } /* di=true */, { 0, 8954, 17, 7, 1, -UNI__PERL_NCHAR } /* nchar=no */, { 0, 184, 1723, 2, 23, UNI_SUPPUNCTUATION } /* issupplementalpunctuation */, { 0, 10024, 1527, 3, 9, UNI__PERL_SURROGATE } /* gc=surrogate */, { 0, 3836, 9724, 17, 4, UNI_PHNX } /* scriptextensions=phnx */, { 232, 6840, 0, 4, 0, UNI_NAND } /* nand */, { 1, 10027, 5892, 3, 3, UNI_JG__NUN } /* jg=nun */, { 32, 10327, 3379, 6, 5, UNI_POSIXSPACE } /* isperlspace */, { 0, 7168, 0, 10, 0, UNI_DIAK } /* divesakuru */, { 1, 2836, 0, 19, 0, UNI_MODIFIERTONELETTERS } /* modifiertoneletters */, { 1, 8858, 10135, 6, 3, UNI_ECOMP } /* ecomp=yes */, { 0, 9768, 9500, 4, 4, UNI_CAKM } /* scx=cakm */, { 1, 7218, 9713, 10, 2, UNI_LB__SG } /* linebreak=sg */, { 0, 9768, 7558, 4, 9, UNI_QAAI } /* scx=inherited */, { 33, 9250, 10135, 5, 3, UNI_EMOD } /* emod=yes */, { 0, 1273, 36, 21, 1, UNI_CE } /* compositionexclusion=t */, { 0, 1417, 5377, 24, 2, UNI_CCC__7 } /* canonicalcombiningclass=nk */, { 0, 1979, 0, 10, 1, UNI_UPPERCASELETTER } /* category=lu */, { 1, 9488, 6181, 4, 12, UNI_INGUNJALAGONDI } /* blk=gunjalagondi */, { 0, 9277, 9305, 3, 5, UNI_NSHU } /* sc=nushu */, { 2, 7128, 0, 10, 0, UNI_CJKSTROKES } /* cjkstrokes */, { 1, 9488, 7358, 4, 10, UNI_INSAURASHTRA } /* blk=saurashtra */, { 2, 184, 9624, 2, 3, UNI_LAO } /* islao */, { 0, 5986, 8002, 13, 2, UNI_NV__26 } /* numericvalue=26 */, { 0, 7218, 10162, 10, 2, UNI_GCB__L } /* linebreak=jl */, { 32, 9508, 9141, 5, 4, UNI_CCC__22 } /* ccc=ccc22 */, { 3, 3836, 8900, 17, 6, UNI_KTHI } /* scriptextensions=kaithi */, { 1, 4360, 0, 4, 0, UNI_EMOD } /* emod */, { 97, 10132, 1822, 3, 2, UNI_WB__NL } /* wb=nl */, { 1, 3836, 9500, 17, 4, UNI_CAKM } /* scriptextensions=cakm */, { 1, 9768, 2429, 4, 20, UNI_PHLI } /* scx=inscriptionalpahlavi */, { 0, 9488, 9335, 4, 5, UNI_INTAKRI } /* blk=takri */, { 0, 5438, 0, 14, 0, UNI_SK } /* modifiersymbol */, { 0, 8512, 10135, 7, 3, UNI_NFKCQC__Y } /* nfkcqc=yes */, { 64, 9768, 9876, 4, 4, UNI_XSUX } /* scx=xsux */, { 0, 5037, 10135, 9, 3, UNI_XPOSIXXDIGIT } /* hexdigit=yes */, { 11, 2161, 10135, 21, 3, UNI_EXTPICT } /* extendedpictographic=yes */, { 1, 6928, 9255, 11, 5, -UNI_SD } /* softdotted=false */, { 0, 1189, 5904, 3, 4, UNI_NV__NAN } /* nt=none */, { 32, 1856, 10135, 22, 3, UNI_CWU } /* changeswhenuppercased=yes */, { 4, 9488, 0, 4, 42, UNI_UCASEXT } /* blk=unifiedcanadianaboriginalsyllabicsextended */, { 6, 8315, 0, 4, 0, UNI_UGAR } /* ugar */, { 81, 5986, 8732, 13, 3, UNI_NV__500 } /* numericvalue=500 */, { 12, 6928, 0, 11, 0, UNI_sd_values_index } /* softdotted= */, { 0, 9277, 7675, 3, 9, UNI_PALM } /* sc=palmyrene */, { 1, 9768, 4370, 5, 5, UNI_SYRC } /* scx=syriac */, { 2, 7438, 1218, 10, 2, UNI_WB__KA } /* wordbreak=ka */, { 4, 9768, 9676, 4, 4, UNI_NARB } /* scx=narb */, { 0, 2760, 0, 19, 0, UNI_hst_values_index } /* hangulsyllabletype= */, { 9, 2760, 6541, 19, 12, UNI_GCB__T } /* hangulsyllabletype=trailingjamo */, { 3, 3836, 6886, 18, 3, UNI_SHAW } /* scriptextensions=shaw */, { 332, 6061, 26, 12, 1, UNI_BIDIC } /* bidicontrol=y */, { 0, 3836, 7, 17, 18, UNI_CANS } /* scriptextensions=canadianaboriginal */, { 30, 7228, 1025, 10, 2, -UNI_XPOSIXLOWER } /* lowercase=no */, { 8, 9444, 9400, 4, 4, UNI_AGE__13 } /* age=13.0 */, { 4, 2032, 9836, 22, 4, UNI__PERL_NCHAR } /* noncharactercodepoint=true */, { 0, 6840, 0, 11, 0, UNI_NAND } /* nandinagari */, { 1, 10333, 6792, 3, 3, UNI_SAMR } /* issamr */, { 0, 9488, 2119, 4, 14, UNI_CJKRADICALSSUP } /* blk=cjkradicalssup */, { 0, 5550, 0, 14, 0, UNI_PHLP } /* psalterpahlavi */, { 0, 9768, 9496, 4, 4, UNI_BUHD } /* scx=buhd */, { 0, 2280, 7650, 4, 7, UNI_ITAL } /* isolditalic */, { 4, 10048, 7789, 3, 2, UNI_NV__50 } /* nv=50 */, { 532, 9277, 9532, 3, 4, UNI_SC__CYRL } /* sc=cyrl */, { 117, 5791, 10000, 13, 3, UNI_JG__BEH } /* joininggroup=beh */, { 0, 8589, 8942, 7, 4, UNI_LYDI } /* script=lydi */, { 4, 8589, 8666, 7, 4, UNI_SC__TIRH } /* script=tirh */, { 512, 9277, 3169, 3, 8, UNI_ETHI } /* sc=ethiopic */, { 0, 9768, 9860, 4, 3, UNI_VAI } /* scx=vai */, { 544, 4688, 7208, 15, 10, UNI_IDENTIFIERTYPE__LIMITEDUSE } /* identifiertype=limiteduse */, { 0, 9488, 1723, 4, 23, UNI_SUPPUNCTUATION } /* blk=supplementalpunctuation */, { 0, 7218, 5046, 10, 14, UNI_LB__CR } /* linebreak=carriagereturn */, { 0, 184, 8394, 3, 6, UNI_CJKEXTG } /* iscjkextg */, { 2, 4916, 4188, 3, 3, UNI_TALE } /* istale */, { 0, 6609, 9255, 11, 5, -UNI_DEP } /* deprecated=false */, { 26, 8780, 3115, 6, 18, UNI_DEVANAGARIEXT } /* block=devanagariextended */, { 1, 9488, 2589, 4, 19, UNI_ANCIENTGREEKNUMBERS } /* blk=ancientgreeknumbers */, { 0, 5324, 8245, 4, 6, UNI_INMAHAJANI } /* inmahajani */, { 0, 8858, 3, 6, 1, -UNI_ECOMP } /* ecomp=f */, { 0, 9768, 6796, 4, 11, UNI_MEDF } /* scx=medefaidrin */, { 0, 5986, 8082, 13, 2, UNI_NV__19 } /* numericvalue=19 */, { 0, 7318, 7408, 10, 10, UNI_AGE__NA } /* presentin=unassigned */, { 32, 6231, 8841, 3, 5, UNI_INCHAKMA } /* inchakma */, { 0, 1087, 0, 27, 0, UNI_pcm_values_index } /* prependedconcatenationmark= */, { 1, 8780, 9828, 6, 4, UNI_INTHAI } /* block=thai */, { 0, 2287, 0, 21, 0, UNI_SINHALAARCHAICNUMBERS } /* sinhalaarchaicnumbers */, { 0, 9290, 1, 5, 1, -UNI_MATH } /* math=n */, { 40, 9768, 2061, 4, 4, UNI_MODI } /* scx=modi */, { 0, 1060, 0, 27, 0, UNI_OCR } /* opticalcharacterrecognition */, { 0, 3097, 1309, 18, 3, UNI_DT__SUB } /* decompositiontype=sub */, { 82, 10027, 7148, 3, 10, UNI_JG__DALATHRISH } /* jg=dalathrish */, { 0, 7318, 10087, 10, 3, UNI_IN__3_DOT_2 } /* presentin=v32 */, { 65, 10033, 751, 3, 2, UNI_LB__CL } /* lb=cl */, { 0, 9240, 3, 5, 1, -UNI_DASH } /* dash=f */, { 0, 3836, 9544, 17, 4, UNI_DIAK } /* scriptextensions=diak */, { 0, 9275, 1244, 5, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* insc=consonantinitialpostfixed */, { 1, 4116, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* isideographicsymbolsandpunctuation */, { 0, 9488, 7648, 4, 9, UNI_INOLDITALIC } /* blk=olditalic */, { 1, 7325, 7469, 3, 1, UNI_IN__5 } /* in=5 */, { 11, 4628, 1204, 15, 9, UNI_EA__F } /* eastasianwidth=fullwidth */, { 9, 3133, 9836, 18, 4, UNI_EBASE } /* emojimodifierbase=true */, { 73, 9277, 6972, 3, 4, UNI_SC__SYLO } /* sc=sylo */, { 4, 6061, 9836, 12, 4, UNI_BIDIC } /* bidicontrol=true */, { 0, 184, 5284, 2, 4, UNI_LISU } /* islisu */, { 1, 3836, 8421, 17, 7, UNI_ELYM } /* scriptextensions=elymaic */, { 0, 9230, 0, 5, 0, UNI_cwcf_values_index } /* cwcf= */, { 0, 184, 1561, 2, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* issupsymbolsandpictographs */, { 0, 4658, 3, 15, 1, -UNI_GREXT } /* graphemeextend=f */, { 1, 9488, 217, 4, 33, UNI_DIACRITICALSEXT } /* blk=combiningdiacriticalmarksextended */, { 1, 5578, 6556, 15, 8, UNI_SB__SC } /* sentencebreak=scontinue */, { 3, 9250, 9836, 5, 4, UNI_EMOD } /* emod=true */, { 98, 9260, 36, 5, 1, UNI_IDSB } /* idsb=t */, { 173, 1966, 6457, 22, 12, UNI_INSC__NUMBERJOINER } /* indicsyllabiccategory=numberjoiner */, { 104, 4688, 0, 15, 0, UNI_identifiertype_values_index } /* identifiertype= */, { 260, 8589, 9576, 7, 4, UNI_SC__GURU } /* script=guru */, { 16, 3836, 9696, 17, 4, UNI_OGAM } /* scriptextensions=ogam */, { 1, 8400, 9255, 7, 5, -UNI_COMPEX } /* compex=false */, { 36, 10296, 3379, 7, 5, UNI_POSIXSPACE } /* isposixspace */, { 0, 9508, 9946, 4, 3, UNI_CCC__DB } /* ccc=233 */, { 0, 6109, 0, 12, 0, UNI_CYRILLICEXTB } /* cyrillicextb */, { 0, 184, 8900, 2, 6, UNI_KTHI } /* iskaithi */, { 0, 951, 0, 28, 0, UNI_VSSUP } /* variationselectorssupplement */, { 276, 9596, 5973, 4, 13, UNI_HST__NA } /* hst=notapplicable */, { 61, 1723, 0, 23, 0, UNI_SUPPUNCTUATION } /* supplementalpunctuation */, { 3, 3097, 4017, 18, 5, UNI_DT__FIN } /* decompositiontype=final */, { 0, 9345, 9836, 5, 4, UNI_XIDC } /* xidc=true */, { 461, 8589, 9793, 8, 3, UNI_SOGO } /* script=sogo */, { 0, 8780, 5032, 6, 5, UNI_ASCII } /* block=ascii */, { 0, 8589, 9624, 7, 4, UNI_LAO } /* script=laoo */, { 5, 2288, 2205, 4, 12, UNI_INHANIFIROHINGYA } /* inhanifirohingya */, { 3, 42, 0, 26, 0, UNI_CJKCOMPATIDEOGRAPHS } /* cjkcompatibilityideographs */, { 1, 8780, 5284, 6, 14, UNI_LISUSUP } /* block=lisusupplement */, { 0, 8291, 0, 4, 0, UNI_TAGB } /* tagb */, { 0, 4989, 7409, 3, 9, UNI_CN } /* isunassigned */, { 10, 8870, 36, 6, 1, UNI_EPRES } /* epres=t */, { 1, 9488, 5960, 4, 13, UNI_MISCTECHNICAL } /* blk=misctechnical */, { 6, 8589, 8645, 7, 7, UNI_LANA } /* script=taitham */, { 5, 9488, 1006, 4, 27, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusicalnotation */, { 0, 4113, 4974, 3, 7, UNI_VEDICEXT } /* invedicext */, { 2, 122, 0, 9, 0, UNI_DIA } /* diacritic */, { 0, 1812, 1, 22, 1, -UNI_CWL } /* changeswhenlowercased=n */, { 71, 9488, 3870, 4, 17, UNI_SMALLFORMS } /* blk=smallformvariants */, { 0, 2224, 1724, 3, 22, UNI_SUPPUNCTUATION } /* insupplementalpunctuation */, { 32, 184, 84, 2, 4, UNI_MATH } /* ismath */, { 0, 6231, 1879, 3, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* incjkcompatideographssup */, { 0, 8780, 7648, 6, 9, UNI_INOLDITALIC } /* block=olditalic */, { 0, 9768, 8179, 4, 8, UNI_GURU } /* scx=gurmukhi */, { 3, 184, 1171, 2, 2, UNI_TITLE } /* islt */, { 0, 3836, 6840, 17, 11, UNI_NAND } /* scriptextensions=nandinagari */, { 0, 1966, 2844, 22, 10, UNI_INSC__TONELETTER } /* indicsyllabiccategory=toneletter */, { 1, 3547, 0, 17, 0, UNI_ALCHEMICAL } /* alchemicalsymbols */, { 0, 8421, 0, 7, 0, UNI_ELYM } /* elymaic */, { 3, 10048, 10152, 3, 2, UNI_NV__49 } /* nv=49 */, { 0, 9488, 9315, 4, 5, UNI_INORIYA } /* blk=oriya */, { 35, 9277, 8315, 3, 4, UNI_UGAR } /* sc=ugar */, { 0, 9508, 9156, 5, 4, UNI_CCC__25 } /* ccc=ccc25 */, { 36, 3836, 5171, 17, 4, UNI_CHAM } /* scriptextensions=cham */, { 6, 4033, 1186, 16, 2, UNI_PO } /* generalcategory=po */, { 2, 8882, 1, 6, 1, -UNI_GREXT } /* grext=n */, { 17, 9277, 9816, 3, 4, UNI_TAVT } /* sc=tavt */, { 0, 1563, 0, 2, 0, UNI_PS } /* ps */, { 66, 9488, 8906, 4, 6, UNI_KANBUN } /* blk=kanbun */, { 0, 9444, 8043, 4, 3, UNI_AGE__8 } /* age=8.0 */, { 0, 9290, 1025, 5, 2, -UNI_MATH } /* math=no */, { 11, 1979, 36, 10, 1, UNI_TITLE } /* category=lt */, { 3, 10048, 9976, 3, 3, UNI_NV__5_SLASH_8 } /* nv=5/8 */, { 0, 8997, 0, 6, 0, UNI_TERM } /* term=t */, { 0, 184, 6730, 2, 11, UNI_KATAKANAEXT } /* iskatakanaext */, { 262, 8780, 3600, 6, 4, UNI_UCAS } /* block=ucas */, { 8, 7155, 9593, 3, 3, UNI_HMNP } /* ishmnp */, { 5, 7155, 1193, 3, 25, UNI_HALFANDFULLFORMS } /* ishalfwidthandfullwidthforms */, { 316, 9768, 8597, 5, 6, UNI_SHRD } /* scx=sharada */, { 0, 1988, 36, 22, 1, UNI_LOE } /* logicalorderexception=t */, { 0, 3374, 1, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=n */, { 0, 9444, 10075, 4, 3, UNI_AGE__2 } /* age=v20 */, { 8, 9444, 9955, 4, 3, UNI_AGE__3_DOT_2 } /* age=3.2 */, { 0, 2288, 8444, 4, 5, UNI_INHANUNOO } /* inhanunoo */, { 0, 6231, 510, 3, 29, UNI_CJKEXTA } /* incjkunifiedideographsextensiona */, { 2, 184, 6098, 3, 11, UNI_CYRILLICEXTA } /* iscyrillicexta */, { 0, 10060, 1, 3, 1, -UNI_RI } /* ri=n */, { 0, 6231, 8352, 3, 6, UNI_CJKEXTA } /* incjkexta */, { 0, 1988, 9255, 22, 5, -UNI_LOE } /* logicalorderexception=false */, { 2, 5791, 7045, 13, 3, UNI_JG__FEH } /* joininggroup=feh */, { 64, 4116, 325, 3, 3, UNI_ITAL } /* isital */, { 0, 7088, 10042, 10, 3, UNI_BC__LRO } /* bidiclass=lro */, { 47, 7155, 8, 3, 2, UNI_HAN } /* ishan */, { 0, 5986, 7765, 13, 2, UNI_NV__25 } /* numericvalue=25 */, { 3, 9488, 4340, 4, 13, UNI_MATHOPERATORS } /* blk=mathoperators */, { 0, 10033, 8680, 3, 7, UNI_LB__XX } /* lb=unknown */, { 2, 10024, 1059, 3, 2, UNI_SO } /* gc=so */, { 8, 7088, 407, 10, 2, UNI_BC__ON } /* bidiclass=on */, { 3, 4245, 0, 10, 0, UNI_SM } /* mathsymbol */, { 32, 8780, 4928, 6, 5, UNI_INTAMIL } /* block=tamil */, { 0, 9488, 5550, 4, 14, UNI_INPSALTERPAHLAVI } /* blk=psalterpahlavi */, { 3, 8870, 1025, 6, 2, -UNI_EPRES } /* epres=no */, { 4, 9876, 0, 4, 0, UNI_XSUX } /* xsux */, { 3, 8966, 0, 7, 0, UNI_DT__CAN } /* nfdqc=n */, { 4, 9265, 9255, 5, 5, -UNI_IDST } /* idst=false */, { 11, 7218, 5088, 10, 14, UNI_LB__SA } /* linebreak=complexcontext */, { 1, 3836, 3598, 17, 17, UNI_AGHB } /* scriptextensions=caucasianalbanian */, { 0, 8780, 4049, 6, 16, UNI_GEORGIANEXT } /* block=georgianextended */, { 10, 3385, 1, 18, 1, -UNI_RI } /* regionalindicator=n */, { 0, 8589, 9095, 7, 5, UNI_SC__BUHD } /* script=buhid */, { 1, 10024, 10170, 3, 2, UNI_CASEDLETTER } /* gc=l_ */, { 1, 5791, 6774, 13, 11, UNI_JG__MALAYALAMJA } /* joininggroup=malayalamja */, { 4, 117, 5779, 3, 12, UNI_IPAEXT } /* inipaextensions */, { 56, 5986, 8756, 13, 6, UNI_NV__900000 } /* numericvalue=900000 */, { 2, 8589, 3169, 7, 8, UNI_ETHI } /* script=ethiopic */, { 0, 10033, 2444, 3, 2, UNI_LB__HL } /* lb=hl */, { 6, 1114, 9255, 26, 5, -UNI_CWKCF } /* changeswhennfkccasefolded=false */, { 0, 10027, 9044, 3, 4, UNI_JG__YUDH } /* jg=yudh */, { 2, 4385, 0, 6, 0, UNI_TANG } /* tangut */, { 2, 8780, 2245, 6, 14, UNI_MEETEIMAYEKEXT } /* block=meeteimayekext */, { 32, 3836, 9330, 17, 5, UNI_TALE } /* scriptextensions=taile */, { 0, 3836, 8107, 17, 4, UNI_BALI } /* scriptextensions=bali */, { 32, 5986, 5648, 13, 7, UNI_NV__1000000 } /* numericvalue=1000000 */, { 24, 8780, 4369, 6, 6, UNI_INSYRIAC } /* block=syriac */, { 206, 4838, 17, 16, 1, UNI_NFKCQC__N } /* nfkcquickcheck=no */, { 2, 6061, 3, 12, 1, -UNI_BIDIC } /* bidicontrol=f */, { 0, 9277, 8344, 3, 4, UNI_SC__BENG } /* sc=beng */, { 0, 9277, 9544, 3, 4, UNI_DIAK } /* sc=diak */, { 426, 4369, 0, 16, 0, UNI_SYRIACSUP } /* syriacsupplement */, { 1, 6231, 1902, 4, 20, UNI_INDICNUMBERFORMS } /* incommonindicnumberforms */, { 1, 10027, 9075, 3, 5, UNI_JG__ALAPH } /* jg=alaph */, { 2, 4478, 0, 7, 0, UNI_BRAI } /* braille */, { 1, 8589, 1654, 7, 6, UNI_SC__HANG } /* script=hangul */, { 68, 9508, 8817, 5, 5, UNI_CCC__129 } /* ccc=ccc129 */, { 0, 9015, 3, 5, 1, -UNI_IDEO } /* ideo=f */, { 8, 1417, 9472, 24, 3, UNI_CCC__202 } /* canonicalcombiningclass=atb */, { 24, 184, 4613, 2, 15, UNI_DIACRITICALSSUP } /* isdiacriticalssup */, { 0, 9488, 4337, 4, 16, UNI_SUPMATHOPERATORS } /* blk=supmathoperators */, { 7, 1594, 0, 14, 0, UNI_MUSIC } /* musicalsymbols */, { 97, 4791, 2247, 4, 12, UNI_MEETEIMAYEKEXT } /* inmeeteimayekext */, { 3, 184, 1344, 2, 25, UNI_SYMBOLSFORLEGACYCOMPUTING } /* issymbolsforlegacycomputing */, { 51, 9488, 446, 4, 18, UNI_IDEOGRAPHICSYMBOLS } /* blk=ideographicsymbols */, { 10, 9488, 5284, 4, 14, UNI_LISUSUP } /* blk=lisusupplement */, { 0, 9620, 0, 4, 0, UNI_LANA } /* lana */, { 0, 9488, 1631, 4, 23, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesextended */, { 0, 6231, 1442, 3, 9, UNI_CJKSYMBOLS } /* incjksymbols */, { 0, 10132, 727, 3, 2, UNI_WB__MN } /* wb=mn */, { 68, 1166, 10135, 26, 3, UNI_DI } /* defaultignorablecodepoint=yes */, { 0, 1188, 8639, 3, 6, UNI_INTAGALOG } /* intagalog */, { 320, 9488, 6796, 4, 11, UNI_INMEDEFAIDRIN } /* blk=medefaidrin */, { 402, 3836, 8491, 17, 4, UNI_MARC } /* scriptextensions=marc */, { 4, 9488, 5752, 4, 8, UNI_GREEKEXT } /* blk=greekext */, { 1, 7088, 4465, 12, 13, UNI_BC__BN } /* bidiclass=boundaryneutral */, { 91, 8688, 863, 4, 4, UNI_ARROWS } /* isarrows */, { 0, 184, 867, 2, 18, UNI_PHONETICEXT } /* isphoneticextensions */, { 0, 8107, 0, 4, 0, UNI_BALI } /* bali */, { 1, 10333, 4370, 3, 8, UNI_SYRIACSUP } /* issyriacsup */, { 0, 8337, 0, 7, 0, UNI_AVST } /* avestan */, { 8, 184, 43, 3, 2, UNI_CJK } /* iscjk */, { 0, 9488, 8470, 4, 7, UNI_INLINEARA } /* blk=lineara */, { 0, 9768, 4145, 4, 7, UNI_LINB } /* scx=linearb */, { 496, 7325, 7979, 3, 3, UNI_IN__6 } /* in=6.0 */, { 0, 2218, 7623, 4, 7, UNI_INNABATAEAN } /* innabataean */, { 22, 9748, 0, 4, 0, UNI_RJNG } /* rjng */, { 0, 3836, 9736, 17, 4, UNI_COPT } /* scriptextensions=qaac */, { 97, 2784, 4435, 4, 13, UNI_ARABICEXTA } /* inarabicextendeda */, { 38, 9444, 9967, 4, 3, UNI_AGE__5_DOT_1 } /* age=5.1 */, { 121, 3836, 8876, 17, 4, UNI_GOTH } /* scriptextensions=goth */, { 5, 10033, 83, 3, 2, UNI_LB__CM } /* lb=cm */, { 4, 9997, 102, 3, 2, UNI_BC__ET } /* bc=et */, { 0, 5452, 10135, 14, 3, UNI_NFCQC__Y } /* nfcquickcheck=yes */, { 12, 9488, 3025, 4, 8, UNI_INCHEROKEE } /* blk=cherokee */, { 72, 9524, 10135, 4, 3, UNI_CWT } /* cwt=yes */, { 22, 9277, 2485, 3, 4, UNI_SC__MONG } /* sc=mong */, { 136, 8267, 1, 8, 1, -UNI_RADICAL } /* radical=n */, { 68, 8219, 0, 8, 0, UNI_JAVA } /* javanese */, { 1, 21, 9066, 3, 4, UNI_INADLAM } /* inadlam */, { 385, 1966, 1608, 22, 23, UNI_INSC__CONSONANTPRECEDINGREPHA } /* indicsyllabiccategory=consonantprecedingrepha */, { 0, 6576, 3, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=f */, { 8, 5986, 7978, 13, 2, UNI_NV__16 } /* numericvalue=16 */, { 41, 1552, 598, 9, 2, UNI_XPOSIXCNTRL } /* category=cc */, { 8, 6241, 0, 12, 1, UNI_JT__U } /* joiningtype=u */, { 2, 10024, 6598, 3, 11, UNI_CASEDLETTER } /* gc=casedletter */, { 0, 9250, 1, 5, 1, -UNI_EMOD } /* emod=n */, { 1, 6121, 0, 12, 0, UNI_CYRILLICEXTC } /* cyrillicextc */, { 0, 6554, 0, 10, 0, UNI_IDC } /* idcontinue */, { 0, 2760, 6741, 19, 11, UNI_GCB__L } /* hangulsyllabletype=leadingjamo */, { 2, 5986, 9988, 13, 3, UNI_NV__7_SLASH_8 } /* numericvalue=7/8 */, { 38, 5578, 1194, 14, 2, UNI_LB__LF } /* sentencebreak=lf */, { 7, 10132, 3385, 3, 17, UNI_RI } /* wb=regionalindicator */, { 2, 8589, 8428, 7, 4, UNI_SC__GRAN } /* script=gran */, { 1, 4838, 9295, 15, 5, UNI_NFCQC__M } /* nfkcquickcheck=maybe */, { 0, 9768, 9310, 4, 5, UNI_OGAM } /* scx=ogham */, { 1, 3424, 1, 3, 33, UNI_UCAS } /* inunifiedcanadianaboriginalsyllabics */, { 12, 21, 5804, 2, 13, UNI_KANAEXTA } /* inkanaextendeda */, { 1, 1044, 0, 6, 0, UNI_L } /* letter */, { 106, 9508, 9943, 4, 3, UNI_CCC__AR } /* ccc=232 */, { 0, 7738, 3, 9, 1, -UNI_XIDS } /* xidstart=f */, { 0, 184, 8491, 2, 7, UNI_MARC } /* ismarchen */, { 32, 8589, 3751, 7, 17, UNI_KITS } /* script=khitansmallscript */, { 0, 2280, 4899, 3, 14, UNI_PS } /* isopenpunctuation */, { 1, 8780, 3241, 6, 11, UNI_GEORGIANSUP } /* block=georgiansup */, { 1, 5791, 2203, 13, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* joininggroup=hanifirohingyakinnaya */, { 92, 1966, 5144, 22, 14, UNI_INSC__GEMINATIONMARK } /* indicsyllabiccategory=geminationmark */, { 0, 9768, 9085, 4, 5, UNI_BATK } /* scx=batak */, { 1, 9768, 9652, 4, 4, UNI_MERC } /* scx=merc */, { 0, 96, 0, 5, 0, UNI_XPOSIXALPHA } /* alpha */, { 12, 8589, 9632, 7, 4, UNI_SC__LINA } /* script=lina */, { 4, 8498, 0, 7, 0, UNI_MULT } /* multani */, { 17, 1966, 9026, 22, 6, UNI_INSC__VIRAMA } /* indicsyllabiccategory=virama */, { 0, 7438, 2444, 10, 2, UNI_LB__HL } /* wordbreak=hl */, { 258, 7318, 9844, 10, 4, UNI_IN__11 } /* presentin=v110 */, { 0, 9768, 9440, 4, 4, UNI_ADLM } /* scx=adlm */, { 0, 8589, 7118, 7, 10, UNI_CHRS } /* script=chorasmian */, { 36, 5508, 9836, 14, 4, UNI_PATSYN } /* patternsyntax=true */, { 2, 3836, 9656, 17, 4, UNI_MIAO } /* scriptextensions=miao */, { 25, 3097, 8195, 18, 8, UNI_DT__ISO } /* decompositiontype=isolated */, { 45, 5791, 5336, 13, 4, UNI_JG__BETH } /* joininggroup=beth */, { 3, 10048, 10150, 3, 2, UNI_NV__48 } /* nv=48 */, { 4, 4853, 1025, 15, 2, UNI_NFKDQC__N } /* nfkdquickcheck=no */, { 1, 10048, 8756, 3, 6, UNI_NV__900000 } /* nv=900000 */, { 7, 9346, 36, 4, 1, UNI_IDC } /* idc=t */, { 1, 10024, 5438, 3, 14, UNI_SK } /* gc=modifiersymbol */, { 0, 9444, 7923, 4, 3, UNI_AGE__4 } /* age=4.0 */, { 1, 9488, 4369, 4, 6, UNI_INSYRIAC } /* blk=syriac */, { 69, 4916, 9004, 4, 4, UNI_TELU } /* istelugu */, { 8, 184, 1287, 2, 2, UNI_UPPERCASELETTER } /* islu */, { 0, 8589, 2203, 7, 4, UNI_SC__HAN } /* script=hani */, { 1, 6928, 36, 11, 1, UNI_SD } /* softdotted=t */, { 14, 9508, 9472, 4, 3, UNI_CCC__202 } /* ccc=atb */, { 3, 3836, 9816, 17, 4, UNI_TAVT } /* scriptextensions=tavt */, { 0, 9277, 9620, 3, 4, UNI_LANA } /* sc=lana */, { 0, 7739, 1, 8, 1, -UNI_IDS } /* idstart=n */, { 5, 7218, 8449, 10, 2, UNI_LB__HY } /* linebreak=hy */, { 49, 8780, 3331, 6, 18, UNI_ORNAMENTALDINGBATS } /* block=ornamentaldingbats */, { 0, 8780, 8091, 6, 8, UNI_INARMENIAN } /* block=armenian */, { 41, 9488, 4049, 4, 11, UNI_GEORGIANEXT } /* blk=georgianext */, { 0, 9351, 1, 4, 1, -UNI_IDS } /* ids=n */, { 49, 9444, 10078, 4, 3, UNI_AGE__2_DOT_1 } /* age=v21 */, { 134, 10009, 1309, 3, 3, UNI_DT__SUB } /* dt=sub */, { 296, 9277, 9464, 3, 4, UNI_ARMN } /* sc=armn */, { 6, 8780, 7168, 6, 10, UNI_INDIVESAKURU } /* block=divesakuru */, { 0, 8694, 3, 7, 1, -UNI_XPOSIXSPACE } /* wspace=f */, { 100, 10132, 7729, 3, 9, UNI_WB__WSEGSPACE } /* wb=wsegspace */, { 1, 5791, 5480, 13, 14, UNI_JG__NOJOININGGROUP } /* joininggroup=nojoininggroup */, { 257, 3259, 9836, 18, 4, UNI_IDSB } /* idsbinaryoperator=true */, { 590, 5986, 9961, 13, 3, UNI_NV__3_SLASH_5 } /* numericvalue=3/5 */, { 2, 7218, 5536, 10, 14, UNI_LB__PO } /* linebreak=postfixnumeric */, { 39, 7428, 0, 4, 0, UNI_WARA } /* wara */, { 0, 6231, 8387, 3, 6, UNI_CJKEXTF } /* incjkextf */, { 0, 184, 8123, 2, 8, UNI_BUGI } /* isbuginese */, { 0, 8509, 811, 4, 20, UNI_ENCLOSEDIDEOGRAPHICSUP } /* inenclosedideographicsup */, { 1, 5986, 7922, 13, 2, UNI_NV__24 } /* numericvalue=24 */, { 0, 9277, 7630, 3, 9, UNI_TALU } /* sc=newtailue */, { 32, 8780, 2741, 6, 19, UNI_JAMOEXTB } /* block=hanguljamoextendedb */, { 2, 10346, 1182, 5, 4, UNI_ANY } /* isunicode */, { 128, 5060, 36, 14, 1, UNI_CI } /* caseignorable=t */, { 0, 9508, 9151, 5, 4, UNI_CCC__24 } /* ccc=ccc24 */, { 0, 9071, 36, 4, 1, UNI_XPOSIXXDIGIT } /* hex=t */, { 0, 6231, 540, 3, 29, UNI_CJKEXTB } /* incjkunifiedideographsextensionb */, { 107, 10296, 0, 3, 0, UNI_P } /* isp */, { 0, 8115, 0, 8, 0, UNI_BASS } /* bassavah */, { 16, 7540, 0, 9, 0, UNI_ext_values_index } /* extender= */, { 128, 184, 9484, 2, 4, UNI_BHKS } /* isbhks */, { 21, 8864, 26, 6, 1, UNI_EMOJI } /* emoji=y */, { 0, 5986, 5648, 13, 11, UNI_NV__10000000000 } /* numericvalue=10000000000 */, { 0, 4340, 0, 13, 0, UNI_MATHOPERATORS } /* mathoperators */, { 0, 9768, 7359, 5, 9, UNI_SAUR } /* scx=saurashtra */, { 6, 10132, 7612, 3, 9, UNI_WB__MB } /* wb=midnumlet */, { 66, 1066, 0, 2, 0, UNI_CASEDLETTER } /* lc */, { 0, 10027, 7112, 3, 3, UNI_JG__KAF } /* jg=kaf */, { 0, 8876, 0, 4, 0, UNI_GOTH } /* goth */, { 6, 6231, 2141, 3, 7, UNI_INCYRILLIC } /* incyrillic */, { 0, 8589, 1165, 9, 2, UNI_SC__SHRD } /* script=shrd */, { 40, 1552, 10180, 9, 2, UNI_ZS } /* category=zs */, { 0, 4033, 5713, 16, 13, UNI_XPOSIXDIGIT } /* generalcategory=decimalnumber */, { 577, 9015, 9255, 5, 5, -UNI_IDEO } /* ideo=false */, { 0, 8780, 9688, 6, 3, UNI_INNKO } /* block=nko */, { 132, 9277, 8414, 3, 7, UNI_ELBA } /* sc=elbasan */, { 0, 10048, 8720, 3, 3, UNI_NV__400 } /* nv=400 */, { 2, 1828, 26, 6, 1, UNI_CASED } /* cased=y */, { 0, 184, 8912, 2, 4, UNI_KHOJ } /* iskhoj */, { 32, 9768, 6181, 4, 12, UNI_GONG } /* scx=gunjalagondi */, { 21, 184, 6517, 2, 12, UNI_PLAYINGCARDS } /* isplayingcards */, { 0, 3097, 2280, 18, 3, UNI_DT__ISO } /* decompositiontype=iso */, { 0, 4033, 6598, 16, 11, UNI_CASEDLETTER } /* generalcategory=casedletter */, { 10, 8780, 4868, 6, 15, UNI_NARB } /* block=oldnortharabian */, { 0, 184, 3133, 2, 13, UNI_EMOD } /* isemojimodifier */, { 68, 10048, 8720, 3, 5, UNI_NV__40000 } /* nv=40000 */, { 4, 10048, 7819, 3, 8, UNI_NV__3_SLASH_16 } /* nv=1.88e-01 */, { 2, 9488, 6620, 4, 11, UNI_DOMINO } /* blk=dominotiles */, { 428, 9345, 1, 5, 1, -UNI_XIDC } /* xidc=n */, { 0, 3836, 2855, 17, 9, UNI_MONG } /* scriptextensions=mongolian */, { 5, 10333, 8277, 4, 6, UNI_SPECIALS } /* isspecials */, { 32, 10048, 7867, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.12e-02 */, { 0, 7088, 32, 10, 2, UNI_BC__CS } /* bidiclass=cs */, { 1, 9488, 7458, 4, 10, UNI_YIRADICALS } /* blk=yiradicals */, { 0, 4838, 0, 15, 0, UNI_nfkcqc_values_index } /* nfkcquickcheck= */, { 1, 8589, 8115, 7, 8, UNI_BASS } /* script=bassavah */, { 71, 7438, 4305, 10, 5, UNI_WB__XX } /* wordbreak=other */, { 1, 9277, 8498, 3, 4, UNI_SC__MULT } /* sc=mult */, { 3, 5817, 0, 13, 0, UNI_ZL } /* lineseparator */, { 5, 9277, 9832, 3, 4, UNI_TIBT } /* sc=tibt */, { 1, 10033, 10156, 3, 2, UNI_LB__BK } /* lb=bk */, { 0, 10030, 6664, 3, 11, UNI_JT__D } /* jt=dualjoining */, { 17, 184, 8344, 2, 7, UNI_BENG } /* isbengali */, { 108, 6231, 115, 4, 33, UNI_DIACRITICALSFORSYMBOLS } /* incombiningdiacriticalmarksforsymbols */, { 0, 9277, 8666, 3, 4, UNI_SC__TIRH } /* sc=tirh */, { 39, 184, 6110, 3, 11, UNI_CYRILLICEXTB } /* iscyrillicextb */, { 1, 6972, 0, 4, 0, UNI_SYLO } /* sylo */, { 60, 84, 0, 4, 0, UNI_MATH } /* math */, { 3, 1552, 3985, 9, 16, UNI_PE } /* category=closepunctuation */, { 0, 9768, 9032, 4, 6, UNI_WCHO } /* scx=wancho */, { 5, 7325, 9979, 3, 3, UNI_IN__6_DOT_1 } /* in=6.1 */, { 0, 1269, 9836, 25, 4, UNI_COMPEX } /* fullcompositionexclusion=true */, { 0, 6231, 4002, 3, 15, UNI_CYPRIOTSYLLABARY } /* incypriotsyllabary */, { 16, 7438, 34, 10, 6, UNI_WB__EXTEND } /* wordbreak=extend */, { 0, 9275, 2389, 5, 20, UNI_INSC__CONSONANTWITHSTACKER } /* insc=consonantwithstacker */, { 20, 9277, 9664, 3, 4, UNI_MRO } /* sc=mroo */, { 0, 1417, 6445, 24, 12, UNI_CCC__0 } /* canonicalcombiningclass=notreordered */, { 100, 9277, 9564, 3, 4, UNI_SC__GONM } /* sc=gonm */, { 0, 9444, 7867, 4, 3, UNI_AGE__3_DOT_1 } /* age=3.1 */, { 0, 4145, 0, 16, 0, UNI_LINEARBIDEOGRAMS } /* linearbideograms */, { 1, 7076, 3938, 3, 15, UNI_BOPOMOFOEXT } /* inbopomofoextended */, { 1, 8780, 7428, 6, 10, UNI_INWARANGCITI } /* block=warangciti */, { 1, 5564, 0, 14, 0, UNI_qmark_values_index } /* quotationmark= */, { 27, 9444, 7469, 4, 3, UNI_AGE__5 } /* age=5.0 */, { 0, 9488, 8203, 4, 8, UNI_JAMOEXTA } /* blk=jamoexta */, { 16, 8780, 1654, 6, 6, UNI_INHANGUL } /* block=hangul */, { 1, 8884, 10135, 4, 3, UNI_EXT } /* ext=yes */, { 0, 9002, 0, 4, 0, UNI_TELU } /* telu */, { 1, 10003, 10135, 3, 3, UNI_CI } /* ci=yes */, { 3, 9768, 4149, 5, 3, UNI_SARB } /* scx=sarb */, { 1, 5986, 7963, 13, 8, UNI_NV__11_SLASH_2 } /* numericvalue=5.50e+00 */, { 549, 6231, 7140, 4, 8, UNI_COMPATJAMO } /* incompatjamo */, { 0, 8780, 3241, 6, 18, UNI_GEORGIANSUP } /* block=georgiansupplement */, { 3, 4643, 36, 15, 1, UNI_ECOMP } /* emojicomponent=t */, { 0, 1269, 9255, 25, 5, -UNI_COMPEX } /* fullcompositionexclusion=false */, { 4, 1552, 467, 9, 11, UNI_P } /* category=punctuation */, { 3, 6241, 36, 12, 1, UNI_JT__T } /* joiningtype=t */, { 3, 21, 8463, 2, 7, UNI_KALI } /* inkayahli */, { 334, 9508, 2449, 4, 4, UNI_CCC__L } /* ccc=left */, { 41, 10033, 8251, 3, 8, UNI_LB__NL } /* lb=nextline */, { 6, 9335, 0, 5, 0, UNI_TAKR } /* takri */, { 2, 9488, 861, 4, 6, UNI_ARROWS } /* blk=arrows */, { 0, 9350, 9836, 5, 4, UNI_XIDS } /* xids=true */, { 7, 5986, 7933, 13, 2, UNI_NV__17 } /* numericvalue=17 */, { 0, 184, 8107, 2, 4, UNI_BALI } /* isbali */, { 0, 8780, 8617, 6, 7, UNI_INSOYOMBO } /* block=soyombo */, { 0, 10048, 7955, 3, 8, UNI_NV__1_SLASH_20 } /* nv=5.00e-02 */, { 4, 3836, 8187, 17, 8, UNI_HIRA } /* scriptextensions=hiragana */, { 512, 3836, 8611, 18, 3, UNI_SIDD } /* scriptextensions=sidd */, { 0, 9488, 8912, 4, 6, UNI_INKHOJKI } /* blk=khojki */, { 3, 9444, 0, 4, 0, UNI_age_values_index } /* age= */, { 67, 7666, 0, 9, 0, UNI_ORKH } /* oldturkic */, { 1, 10333, 4370, 3, 5, UNI_SYRC } /* issyriac */, { 399, 184, 8694, 2, 6, UNI_XPOSIXSPACE } /* iswspace */, { 64, 184, 1594, 2, 14, UNI_MUSIC } /* ismusicalsymbols */, { 16, 9488, 6505, 4, 8, UNI_PHAISTOS } /* blk=phaistos */, { 4, 9277, 7513, 3, 9, UNI_BHKS } /* sc=bhaiksuki */, { 164, 3836, 8337, 17, 7, UNI_AVST } /* scriptextensions=avestan */, { 5, 8589, 7513, 7, 9, UNI_BHKS } /* script=bhaiksuki */, { 18, 9508, 23, 4, 2, UNI_CCC__AL } /* ccc=al */, { 0, 8780, 6409, 6, 12, UNI_INMENDEKIKAKUI } /* block=mendekikakui */, { 104, 9768, 9752, 4, 4, UNI_ROHG } /* scx=rohg */, { 234, 2010, 0, 22, 0, UNI_MISCTECHNICAL } /* miscellaneoustechnical */, { 0, 3836, 2203, 17, 4, UNI_HAN } /* scriptextensions=hani */, { 6, 10333, 107, 3, 5, UNI_S } /* issymbol */, { 0, 6851, 0, 11, 0, UNI_LO } /* otherletter */, { 1, 5791, 4203, 13, 3, UNI_JG__LAM } /* joininggroup=lam */, { 0, 7438, 4360, 10, 9, UNI_WB__EB } /* wordbreak=emodifier */, { 263, 10027, 2203, 3, 21, UNI_JG__HANIFIROHINGYAKINNAYA } /* jg=hanifirohingyakinnaya */, { 0, 7218, 3985, 10, 16, UNI_LB__CL } /* linebreak=closepunctuation */, { 0, 9277, 9872, 3, 4, UNI_XPEO } /* sc=xpeo */, { 128, 10320, 3379, 7, 5, UNI_XPOSIXSPACE } /* isxperlspace */, { 280, 9488, 1878, 4, 19, UNI_CJKCOMPATIDEOGRAPHS } /* blk=cjkcompatideographs */, { 0, 8780, 2287, 6, 7, UNI_INSINHALA } /* block=sinhala */, { 2, 10033, 8701, 3, 7, UNI_LB__ZW } /* lb=zwspace */, { 7, 9488, 1594, 4, 14, UNI_MUSIC } /* blk=musicalsymbols */, { 64, 10288, 96, 8, 5, UNI_XPOSIXALPHA } /* isxposixalpha */, { 0, 184, 3169, 2, 18, UNI_ETHIOPICSUP } /* isethiopicsupplement */, { 0, 8688, 7060, 4, 8, UNI_ARABICEXTA } /* isarabicexta */, { 38, 10033, 6675, 3, 11, UNI_LB__EX } /* lb=exclamation */, { 12, 6231, 8394, 3, 6, UNI_CJKEXTG } /* incjkextg */, { 1, 9277, 9896, 3, 4, UNI_SC__ZYYY } /* sc=zyyy */, { 0, 5986, 9372, 13, 4, UNI_NV__1_SLASH_40 } /* numericvalue=1/40 */, { 2, 21, 9453, 3, 3, UNI_INAHOM } /* inahom */, { 512, 9277, 9752, 3, 4, UNI_SC__ROHG } /* sc=rohg */, { 11, 9444, 7931, 4, 3, UNI_AGE__4_DOT_1 } /* age=4.1 */, { 0, 4838, 10135, 15, 3, UNI_NFKCQC__Y } /* nfkcquickcheck=yes */, { 0, 8780, 3683, 6, 16, UNI_ETHIOPICEXT } /* block=ethiopicextended */, { 7, 9508, 1219, 4, 3, UNI_CCC__214 } /* ccc=ata */, { 0, 9277, 9460, 3, 4, UNI_ARMI } /* sc=armi */, { 512, 184, 2666, 3, 18, UNI_COUNTINGROD } /* iscountingrodnumerals */, { 3, 9277, 1900, 3, 6, UNI_SC__ZYYY } /* sc=common */, { 0, 5986, 8043, 13, 8, UNI_NV__4_SLASH_5 } /* numericvalue=8.00e-01 */, { 1, 7218, 6073, 10, 12, UNI_LB__SY } /* linebreak=breaksymbols */, { 0, 3836, 2140, 17, 8, UNI_CYRL } /* scriptextensions=cyrillic */, { 2, 867, 0, 28, 0, UNI_PHONETICEXTSUP } /* phoneticextensionssupplement */, { 2, 8780, 1033, 6, 27, UNI_ENCLOSEDCJK } /* block=enclosedcjklettersandmonths */, { 0, 8449, 26, 7, 1, UNI_HYPHEN } /* hyphen=y */, { 4, 1166, 3, 26, 1, -UNI_DI } /* defaultignorablecodepoint=f */, { 0, 1273, 26, 21, 1, UNI_CE } /* compositionexclusion=y */, { 132, 10048, 7875, 3, 8, UNI_NV__1_SLASH_32 } /* nv=3.13e-02 */, { 17, 8589, 9708, 7, 4, UNI_SC__ORYA } /* script=orya */, { 0, 9997, 2268, 3, 3, UNI_BC__PDI } /* bc=pdi */, { 44, 9265, 36, 5, 1, UNI_IDST } /* idst=t */, { 35, 1552, 4958, 9, 15, UNI_UPPERCASELETTER } /* category=uppercaseletter */, { 6, 9556, 73, 4, 2, UNI_WB__EB } /* gcb=em */, { 0, 10048, 8011, 3, 8, UNI_NV__13_SLASH_2 } /* nv=6.50e+00 */, { 1, 9250, 1025, 5, 2, -UNI_EMOD } /* emod=no */, { 0, 5986, 7763, 13, 8, UNI_NV__1_SLASH_8 } /* numericvalue=1.25e-01 */, { 0, 9020, 26, 6, 1, UNI_XPOSIXUPPER } /* upper=y */, { 0, 9277, 6277, 3, 4, UNI_SC__MAHJ } /* sc=mahj */, { 0, 5037, 3, 9, 1, -UNI_XPOSIXXDIGIT } /* hexdigit=f */, { 135, 9277, 1677, 3, 5, UNI_SC__LATN } /* sc=latin */, { 36, 10024, 1044, 3, 6, UNI_L } /* gc=letter */, { 15, 4033, 1066, 16, 2, UNI_CASEDLETTER } /* generalcategory=lc */, { 0, 10048, 8744, 3, 3, UNI_NV__700 } /* nv=700 */, { 0, 9508, 9166, 5, 4, UNI_CCC__27 } /* ccc=ccc27 */, { 3, 184, 6122, 3, 11, UNI_CYRILLICEXTC } /* iscyrillicextc */, { 64, 9262, 34, 3, 2, UNI_SB__EX } /* sb=ex */, { 0, 184, 9892, 2, 4, UNI_QAAI } /* iszinh */, { 1, 10024, 262, 3, 2, UNI_SM } /* gc=sm */, { 393, 9768, 7567, 4, 9, UNI_SIND } /* scx=khudawadi */, { 0, 10129, 1, 3, 1, -UNI_VS } /* vs=n */, { 2, 4369, 0, 9, 0, UNI_SYRIACSUP } /* syriacsup */, { 177, 21, 2590, 3, 18, UNI_ANCIENTGREEKNUMBERS } /* inancientgreeknumbers */, { 2, 3836, 4385, 17, 6, UNI_TANG } /* scriptextensions=tangut */, { 5, 10048, 8714, 3, 5, UNI_NV__30000 } /* nv=30000 */, { 2, 5986, 7747, 13, 8, UNI_NV__1_SLASH_10 } /* numericvalue=1.00e-01 */, { 1, 184, 9672, 2, 4, UNI_MYMR } /* ismymr */, { 1, 3836, 9065, 17, 5, UNI_ADLM } /* scriptextensions=adlam */, { 17, 8997, 9837, 6, 3, UNI_TERM } /* term=true */, { 0, 9556, 3385, 4, 17, UNI_RI } /* gcb=regionalindicator */, { 1, 7318, 9985, 10, 3, UNI_IN__7 } /* presentin=7.0 */, { 0, 10132, 6145, 3, 12, UNI_WB__EX } /* wb=extendnumlet */, { 0, 10333, 7292, 3, 6, UNI_SOGD } /* issogdian */, { 1, 7513, 0, 9, 0, UNI_BHKS } /* bhaiksuki */, { 0, 1114, 0, 25, 0, UNI_CWKCF } /* changeswhennfkccasefolded */, { 1, 3836, 7292, 18, 6, UNI_SOGD } /* scriptextensions=sogdian */, { 6, 1966, 2608, 22, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* indicsyllabiccategory=brahmijoiningnumber */, { 3, 10033, 866, 3, 2, UNI_LB__SP } /* lb=sp */, { 22, 9488, 5200, 4, 7, UNI_KANASUP } /* blk=kanasup */, { 0, 184, 6253, 2, 5, UNI_KHMR } /* iskhmer */, { 4, 9664, 0, 3, 0, UNI_MRO } /* mro */, { 1, 1911, 0, 11, 0, UNI_NUMBERFORMS } /* numberforms */, { 3, 9768, 9600, 4, 4, UNI_KALI } /* scx=kali */, { 1, 10033, 4898, 3, 15, UNI_LB__OP } /* lb=openpunctuation */, { 1, 4033, 4245, 16, 10, UNI_SM } /* generalcategory=mathsymbol */, { 0, 8589, 7621, 7, 9, UNI_NBAT } /* script=nabataean */, { 5, 9488, 3938, 5, 7, UNI_INBOPOMOFO } /* blk=bopomofo */, { 0, 9488, 3115, 4, 18, UNI_DEVANAGARIEXT } /* blk=devanagariextended */, { 5, 117, 6, 3, 2, UNI_INIDC } /* inidc */, { 5, 9277, 3135, 5, 2, UNI_SC__KHOJ } /* sc=khoj */, { 598, 1319, 0, 25, 0, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* symbolsandpictographsexta */, { 0, 9768, 9580, 4, 4, UNI_HANO } /* scx=hano */, { 79, 8780, 1594, 6, 14, UNI_MUSIC } /* block=musicalsymbols */, { 0, 5791, 6157, 13, 12, UNI_JG__FINALSEMKATH } /* joininggroup=finalsemkath */, { 64, 4033, 4898, 16, 15, UNI_PS } /* generalcategory=openpunctuation */, { 1, 4989, 8674, 3, 6, UNI_UCASEXT } /* isucasext */, { 0, 184, 3785, 2, 10, UNI_MANI } /* ismanichaean */, { 0, 184, 1813, 3, 20, UNI_CWL } /* ischangeswhenlowercased */, { 0, 9740, 0, 4, 0, UNI_QAAI } /* qaai */, { 0, 5986, 8083, 13, 8, UNI_NV__11_SLASH_12 } /* numericvalue=9.17e-01 */, { 0, 9488, 1631, 4, 18, UNI_GEOMETRICSHAPESEXT } /* blk=geometricshapesext */, { 0, 184, 8463, 2, 7, UNI_KALI } /* iskayahli */, { 4, 10027, 4081, 3, 16, UNI_JG__HANIFIROHINGYAPA } /* jg=hanifirohingyapa */, { 0, 3836, 9512, 17, 4, UNI_CHRS } /* scriptextensions=chrs */, { 19, 7318, 7826, 10, 2, UNI_IN__12 } /* presentin=12 */, { 64, 9556, 262, 4, 2, UNI_GCB__SM } /* gcb=sm */, { 3, 10132, 5851, 3, 2, UNI_WB__ML } /* wb=ml */, { 1, 9488, 1586, 5, 13, UNI_BYZANTINEMUSIC } /* blk=byzantinemusic */, { 3, 3133, 0, 18, 0, UNI_ebase_values_index } /* emojimodifierbase= */, { 206, 10027, 9355, 3, 5, UNI_JG__ZHAIN } /* jg=zhain */, { 204, 9277, 3937, 3, 4, UNI_SC__BOPO } /* sc=bopo */, { 1, 10291, 9225, 5, 5, UNI_POSIXCNTRL } /* posixcntrl */, { 3, 34, 0, 3, 0, UNI_EXT } /* ext */, { 25, 7088, 2449, 10, 11, UNI_BC__L } /* bidiclass=lefttoright */, { 2, 5986, 9958, 13, 3, UNI_NV__3_SLASH_4 } /* numericvalue=3/4 */, { 66, 4973, 0, 15, 0, UNI_VEDICEXT } /* vedicextensions */, { 1, 9444, 9401, 4, 3, UNI_AGE__3 } /* age=3.0 */, { 41, 9014, 0, 6, 0, UNI_uideo_values_index } /* uideo= */, { 26, 9768, 3079, 4, 4, UNI_COPT } /* scx=copt */, { 0, 10024, 6873, 3, 11, UNI_SO } /* gc=othersymbol */, { 14, 9277, 6484, 3, 4, UNI_HUNG } /* sc=hung */, { 0, 1834, 9836, 22, 4, UNI_CWT } /* changeswhentitlecased=true */, { 0, 6277, 0, 7, 0, UNI_MAHJONG } /* mahjong */, { 41, 9015, 1025, 5, 2, -UNI_IDEO } /* ideo=no */, { 208, 9488, 8219, 4, 8, UNI_INJAVANESE } /* blk=javanese */, { 1, 9488, 1033, 4, 11, UNI_ENCLOSEDCJK } /* blk=enclosedcjk */, { 5, 9277, 6193, 3, 4, UNI_HEBR } /* sc=hebr */, { 0, 1217, 0, 2, 0, UNI_SK } /* sk */, { 4, 10024, 7408, 3, 10, UNI_CN } /* gc=unassigned */, { 0, 10030, 6753, 4, 10, UNI_JT__L } /* jt=leftjoining */, { 0, 9277, 9032, 3, 6, UNI_WCHO } /* sc=wancho */, { 16, 9444, 5648, 4, 2, UNI_AGE__10 } /* age=10 */, { 0, 2280, 9705, 3, 3, UNI_ORKH } /* isorkh */, { 0, 4658, 26, 15, 1, UNI_GREXT } /* graphemeextend=y */, { 0, 9997, 3187, 3, 18, UNI_BC__ET } /* bc=europeanterminator */, { 329, 7155, 2204, 3, 13, UNI_ROHG } /* ishanifirohingya */, { 0, 9508, 8799, 5, 5, UNI_CCC__107 } /* ccc=ccc107 */, { 74, 9508, 9216, 5, 4, UNI_CCC__84 } /* ccc=ccc84 */, { 1, 8589, 8463, 7, 7, UNI_SC__KALI } /* script=kayahli */, { 0, 10291, 467, 5, 5, UNI_POSIXPUNCT } /* posixpunct */, { 0, 8780, 2855, 6, 19, UNI_MONGOLIANSUP } /* block=mongoliansupplement */, { 0, 5986, 7930, 13, 2, UNI_NV__14 } /* numericvalue=14 */, { 1, 8589, 3894, 8, 10, UNI_SGNW } /* script=signwriting */, { 88, 10182, 10215, 6, 21, UNI__PERL_IS_IN_MULTI_CHAR_FOLD } /* _perl_is_in_multi_char_fold */, { 14, 8589, 3115, 7, 4, UNI_SC__DEVA } /* script=deva */, { 5, 7318, 5648, 10, 2, UNI_IN__10 } /* presentin=10 */, { 9, 6229, 9836, 12, 4, UNI_JOINC } /* joincontrol=true */, { 4, 9508, 8793, 5, 5, UNI_CCC__103 } /* ccc=ccc103 */, { 10, 9488, 1944, 4, 22, UNI_EARLYDYNASTICCUNEIFORM } /* blk=earlydynasticcuneiform */, { 1, 9508, 9949, 4, 3, UNI_CCC__DA } /* ccc=234 */, { 224, 3836, 9620, 17, 4, UNI_LANA } /* scriptextensions=lana */, { 292, 9488, 4433, 4, 15, UNI_ARABICEXTA } /* blk=arabicextendeda */, { 0, 2224, 8625, 3, 6, UNI_SUPPUAA } /* insuppuaa */, { 1, 184, 8387, 3, 6, UNI_CJKEXTF } /* iscjkextf */, { 1, 3424, 1129, 3, 3, UNI_UCAS } /* inucas */, { 516, 5508, 10135, 14, 3, UNI_PATSYN } /* patternsyntax=yes */, { 5, 8688, 27, 3, 2, UNI_ALL } /* isall */, { 0, 184, 8876, 2, 6, UNI_GOTH } /* isgothic */, { 0, 5739, 36, 13, 1, UNI_GRBASE } /* graphemebase=t */, { 2, 9556, 4305, 4, 5, UNI_GCB__XX } /* gcb=other */, { 21, 21, 1677, 2, 23, UNI_LATINEXTADDITIONAL } /* inlatinextendedadditional */, { 0, 184, 400, 2, 6, UNI_CF } /* isformat */, { 261, 7739, 0, 8, 0, UNI_ids_values_index } /* idstart= */, { 0, 21, 8906, 2, 6, UNI_KANBUN } /* inkanbun */, { 37, 21, 5214, 2, 14, UNI_KANGXI } /* inkangxiradicals */, { 334, 9235, 26, 5, 1, UNI_CWCM } /* cwcm=y */, { 37, 8780, 6253, 6, 12, UNI_KHMERSYMBOLS } /* block=khmersymbols */, { 0, 10048, 7883, 3, 8, UNI_NV__1_SLASH_320 } /* nv=3.13e-03 */, { 36, 4033, 10170, 16, 2, UNI_CASEDLETTER } /* generalcategory=l_ */, { 0, 184, 4369, 2, 16, UNI_SYRIACSUP } /* issyriacsupplement */, { 5, 8688, 7506, 4, 7, UNI_ARABICPFB } /* isarabicpfb */, { 0, 7739, 0, 7, 0, UNI_IDS } /* idstart */, { 1, 184, 6939, 2, 11, UNI_SORA } /* issorasompeng */, { 0, 7088, 2449, 10, 20, UNI_BC__LRE } /* bidiclass=lefttorightembedding */, { 0, 1966, 2646, 22, 19, UNI_INSC__CONSONANTHEADLETTER } /* indicsyllabiccategory=consonantheadletter */, { 135, 7218, 1822, 10, 2, UNI_LB__NL } /* linebreak=nl */, { 1, 9768, 2409, 4, 10, UNI_GLAG } /* scx=glagolitic */, { 0, 8589, 4883, 7, 15, UNI_SARB } /* script=oldsoutharabian */, { 207, 3133, 0, 5, 0, UNI_EMOJI } /* emoji */, { 5, 9444, 7754, 4, 2, UNI_AGE__11 } /* age=11 */, { 0, 4033, 4583, 16, 15, UNI_PD } /* generalcategory=dashpunctuation */, { 32, 5522, 0, 14, 0, UNI_PHONETICEXTSUP } /* phoneticextsup */, { 128, 9508, 1755, 4, 2, UNI_CCC__DB } /* ccc=db */, { 0, 9488, 6840, 4, 11, UNI_INNANDINAGARI } /* blk=nandinagari */, { 392, 1537, 3481, 24, 12, UNI_INPC__LEFTANDRIGHT } /* indicpositionalcategory=leftandright */, { 0, 8997, 26, 5, 1, UNI_TERM } /* term=y */, { 1, 9277, 9748, 3, 4, UNI_RJNG } /* sc=rjng */, { 0, 1790, 3, 22, 1, -UNI_CWCM } /* changeswhencasemapped=f */, { 0, 184, 6133, 2, 12, UNI_ETHIOPICEXTA } /* isethiopicexta */, { 26, 3241, 0, 18, 0, UNI_GEORGIANSUP } /* georgiansupplement */, { 0, 2280, 7659, 4, 7, UNI_PERM } /* isoldpermic */, { 8, 5986, 7782, 13, 1, UNI_NV__3 } /* numericvalue=3 */, { 9, 9488, 9330, 4, 5, UNI_INTAILE } /* blk=taile */, { 33, 6229, 3, 12, 1, -UNI_JOINC } /* joincontrol=f */, { 128, 184, 1879, 3, 18, UNI_CJKCOMPATIDEOGRAPHS } /* iscjkcompatideographs */, { 3, 10030, 6708, 3, 11, UNI_JT__C } /* jt=joincausing */, { 141, 6231, 570, 3, 29, UNI_CJKEXTC } /* incjkunifiedideographsextensionc */, { 32, 9277, 3025, 3, 8, UNI_CHER } /* sc=cherokee */, { 0, 3836, 8344, 17, 4, UNI_BENG } /* scriptextensions=beng */, { 2, 3151, 9836, 18, 4, UNI_EPRES } /* emojipresentation=true */, { 0, 9262, 751, 3, 2, UNI_SB__CL } /* sb=cl */, { 37, 6231, 8373, 3, 6, UNI_CJKEXTD } /* incjkextd */, { 4, 3836, 9793, 18, 3, UNI_SOGO } /* scriptextensions=sogo */, { 1, 3836, 8456, 17, 7, UNI_KNDA } /* scriptextensions=kannada */, { 4, 9488, 4385, 4, 6, UNI_INTANGUT } /* blk=tangut */, { 17, 8428, 0, 7, 0, UNI_GRAN } /* grantha */, { 48, 10006, 3, 3, 1, -UNI_DI } /* di=f */, { 32, 1552, 1529, 11, 7, UNI__PERL_SURROGATE } /* category=surrogate */, { 18, 10313, 3379, 7, 5, UNI_XPOSIXBLANK } /* ishorizspace */, { 0, 8589, 3025, 7, 4, UNI_CHER } /* script=cher */, { 193, 9270, 6983, 5, 11, UNI_INPC__TOPANDRIGHT } /* inpc=topandright */, { 0, 2779, 10135, 19, 3, UNI_IDST } /* idstrinaryoperator=yes */, { 0, 10027, 5424, 3, 14, UNI_JG__MANICHAEANYODH } /* jg=manichaeanyodh */, { 1, 10296, 468, 3, 4, UNI_P } /* ispunct */, { 0, 9508, 9161, 5, 4, UNI_CCC__26 } /* ccc=ccc26 */, { 290, 5986, 8744, 13, 2, UNI_NV__70 } /* numericvalue=70 */, { 1, 7218, 4898, 10, 15, UNI_LB__OP } /* linebreak=openpunctuation */, { 0, 7088, 3205, 10, 18, UNI_BC__FSI } /* bidiclass=firststrongisolate */, { 3, 6025, 0, 12, 0, UNI_ALPHABETICPF } /* alphabeticpf */, { 0, 9768, 9065, 4, 5, UNI_ADLM } /* scx=adlam */, { 257, 8519, 0, 9, 0, UNI_NFKDQC__N } /* nfkdqc=no */, { 4, 9488, 3785, 4, 10, UNI_INMANICHAEAN } /* blk=manichaean */, { 0, 117, 447, 3, 17, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbols */, { 10, 8780, 867, 6, 28, UNI_PHONETICEXTSUP } /* block=phoneticextensionssupplement */, { 33, 8589, 9008, 7, 6, UNI_SC__THAA } /* script=thaana */, { 1, 2314, 0, 3, 0, UNI_XPOSIXXDIGIT } /* hex */, { 1, 9508, 7754, 4, 2, UNI_CCC__11 } /* ccc=11 */, { 34, 5791, 5908, 13, 13, UNI_JG__MANICHAEANTAW } /* joininggroup=manichaeantaw */, { 0, 3836, 8123, 17, 4, UNI_BUGI } /* scriptextensions=bugi */, { 118, 10048, 7891, 3, 8, UNI_NV__1_SLASH_3 } /* nv=3.33e-01 */, { 0, 8575, 1025, 7, 2, -UNI_PATSYN } /* patsyn=no */, { 0, 184, 1087, 2, 26, UNI_PCM } /* isprependedconcatenationmark */, { 0, 9015, 10135, 5, 3, UNI_IDEO } /* ideo=yes */, { 75, 10296, 468, 3, 10, UNI_P } /* ispunctuation */, { 108, 5986, 8756, 13, 5, UNI_NV__90000 } /* numericvalue=90000 */, { 32, 8589, 8652, 7, 7, UNI_TAVT } /* script=taiviet */, { 4, 2224, 1320, 3, 24, UNI_SYMBOLSANDPICTOGRAPHSEXTA } /* insymbolsandpictographsexta */, { 90, 8435, 9255, 7, 5, -UNI_GRBASE } /* grbase=false */, { 30, 1552, 3277, 9, 18, UNI_PI } /* category=initialpunctuation */, { 0, 8344, 0, 4, 0, UNI_BENG } /* beng */, { 1, 3169, 0, 8, 0, UNI_ETHI } /* ethiopic */, { 1, 1417, 8714, 24, 2, UNI_CCC__30 } /* canonicalcombiningclass=30 */, { 0, 9508, 16, 4, 1, UNI_CCC__B } /* ccc=b */, { 593, 9488, 9325, 4, 5, UNI_INRUNIC } /* blk=runic */, { 1, 7218, 5298, 10, 14, UNI_LB__BK } /* linebreak=mandatorybreak */, { 96, 3439, 0, 12, 0, UNI_SMALLKANAEXT } /* smallkanaext */, { 321, 3836, 9002, 17, 6, UNI_TELU } /* scriptextensions=telugu */, { 2, 9768, 9504, 4, 4, UNI_CANS } /* scx=cans */, { 338, 8688, 9453, 3, 3, UNI_AHOM } /* isahom */, { 0, 7318, 7826, 10, 4, UNI_IN__12 } /* presentin=12.0 */, { 518, 8688, 980, 3, 26, UNI_ALPHABETICPF } /* isalphabeticpresentationforms */, { 0, 2409, 0, 10, 0, UNI_GLAG } /* glagolitic */, { 1, 9508, 8813, 4, 3, UNI_CCC__122 } /* ccc=122 */, { 185, 1417, 1219, 24, 3, UNI_CCC__214 } /* canonicalcombiningclass=ata */, { 47, 9444, 9970, 4, 3, UNI_AGE__5_DOT_2 } /* age=5.2 */, { 70, 9260, 9836, 5, 4, UNI_IDSB } /* idsb=true */, { 416, 2224, 2913, 3, 18, UNI_SUNDANESESUP } /* insundanesesupplement */, { 0, 10048, 5648, 3, 5, UNI_NV__10000 } /* nv=10000 */, { 0, 10027, 5869, 3, 13, UNI_JG__MANICHAEANMEM } /* jg=manichaeanmem */, { 72, 10132, 5585, 3, 2, UNI_WB__EB } /* wb=eb */, { 1, 6241, 6752, 12, 11, UNI_JT__L } /* joiningtype=leftjoining */, { 129, 7318, 7877, 10, 2, UNI_IN__13 } /* presentin=13 */, { 0, 8575, 26, 7, 1, UNI_PATSYN } /* patsyn=y */, { 68, 9270, 4988, 5, 15, UNI_LOE } /* inpc=visualorderleft */, { 8, 5674, 9836, 13, 4, UNI_BIDIM } /* bidimirrored=true */, { 1, 5746, 0, 5, 0, UNI_EBASE } /* ebase */, { 7, 10027, 9280, 3, 5, UNI_JG__KHAPH } /* jg=khaph */, { 0, 9277, 8924, 3, 4, UNI_LEPC } /* sc=lepc */, { 0, 9277, 9676, 3, 4, UNI_NARB } /* sc=narb */, { 0, 21, 5284, 2, 14, UNI_LISUSUP } /* inlisusupplement */, { 2, 10024, 3349, 3, 18, UNI_ZP } /* gc=paragraphseparator */, { 84, 10126, 3493, 3, 18, UNI_VO__TR } /* vo=transformedrotated */, { 0, 9277, 9660, 3, 4, UNI_SC__MLYM } /* sc=mlym */, { 192, 9768, 3895, 5, 3, UNI_SGNW } /* scx=sgnw */, { 25, 6229, 0, 12, 0, UNI_joinc_values_index } /* joincontrol= */, { 0, 184, 1769, 3, 20, UNI_CWCF } /* ischangeswhencasefolded */, { 0, 8780, 1901, 7, 21, UNI_INDICNUMBERFORMS } /* block=commonindicnumberforms */, { 0, 9768, 7666, 4, 9, UNI_ORKH } /* scx=oldturkic */, { 5, 8780, 8463, 6, 7, UNI_KALI } /* block=kayahli */, { 6, 8147, 9836, 8, 4, UNI_EXTPICT } /* extpict=true */, { 0, 8780, 2245, 6, 11, UNI_INMEETEIMAYEK } /* block=meeteimayek */, { 3, 9277, 9692, 3, 4, UNI_NSHU } /* sc=nshu */, { 2, 2245, 0, 11, 0, UNI_MTEI } /* meeteimayek */, { 512, 9508, 8807, 4, 3, UNI_CCC__118 } /* ccc=118 */, { 135, 9270, 2988, 5, 19, UNI_INPC__TOPANDBOTTOMANDLEFT } /* inpc=topandbottomandleft */, { 1, 2485, 0, 4, 0, UNI_MONG } /* mong */, { 0, 9488, 3457, 4, 11, UNI_TAIXUANJING } /* blk=taixuanjing */, { 150, 10048, 5648, 3, 8, UNI_NV__10000000 } /* nv=10000000 */, { 2, 9488, 8888, 4, 6, UNI_INHATRAN } /* blk=hatran */, { 0, 2280, 8562, 3, 6, UNI_OSMA } /* isosmanya */, { 1, 9488, 9860, 4, 3, UNI_INVAI } /* blk=vai */, { 714, 9277, 8901, 4, 5, UNI_SC__KTHI } /* sc=kaithi */, { 69, 10296, 3599, 3, 3, UNI_PAUC } /* ispauc */, { 184, 1552, 8855, 9, 2, UNI_CF } /* category=cf */, { 2, 10027, 7045, 3, 2, UNI_JG__FE } /* jg=fe */, { 198, 10048, 7859, 3, 3, UNI_NV__200 } /* nv=200 */, { 288, 10027, 10072, 3, 3, UNI_JG__TAH } /* jg=tah */, { 128, 3097, 1253, 18, 7, UNI_DT__INIT } /* decompositiontype=initial */, { 1, 3836, 8912, 17, 6, UNI_KHOJ } /* scriptextensions=khojki */, { 0, 3836, 7684, 17, 4, UNI_PAUC } /* scriptextensions=pauc */, { 0, 5242, 0, 14, 0, UNI_LATINEXTC } /* latinextendedc */, { 11, 2569, 0, 20, 1, UNI_VO__U } /* verticalorientation=u */, { 585, 5986, 9108, 13, 2, UNI_NV__15 } /* numericvalue=15 */, { 0, 3241, 0, 4, 0, UNI_GEOR } /* geor */, { 0, 1013, 0, 5, 0, UNI_GREK } /* greek */, { 0, 184, 5214, 2, 14, UNI_KANGXI } /* iskangxiradicals */, { 12, 4943, 0, 15, 0, UNI_TITLE } /* titlecaseletter */, { 11, 9596, 6763, 4, 11, UNI_LB__H3 } /* hst=lvtsyllable */, { 0, 5324, 8487, 5, 4, UNI_INMANDAIC } /* inmandaic */, { 0, 6576, 0, 11, 0, UNI_alpha_values_index } /* alphabetic= */, { 0, 3836, 8428, 17, 7, UNI_GRAN } /* scriptextensions=grantha */, { 513, 5986, 8744, 13, 3, UNI_NV__700 } /* numericvalue=700 */, { 0, 10009, 567, 3, 2, UNI_DT__NB } /* dt=nb */, { 4, 8589, 8219, 7, 8, UNI_SC__JAVA } /* script=javanese */, { 9, 8780, 2054, 6, 22, UNI_MODIFIERLETTERS } /* block=spacingmodifierletters */, { 516, 3457, 0, 18, 0, UNI_TAIXUANJING } /* taixuanjingsymbols */, { 4, 7088, 6037, 10, 12, UNI_BC__AL } /* bidiclass=arabicletter */, { 128, 9488, 382, 4, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* blk=egyptianhieroglyphformatcontrols */, { 25, 148, 0, 35, 0, UNI_DIACRITICALSSUP } /* combiningdiacriticalmarkssupplement */, { 0, 1552, 2061, 9, 14, UNI_LM } /* category=modifierletter */, { 2, 9015, 9836, 5, 4, UNI_IDEO } /* ideo=true */, { 2, 7325, 10090, 3, 3, UNI_IN__4 } /* in=v40 */, { 1, 7158, 9255, 10, 5, -UNI_DIA } /* diacritic=false */, { 2, 3836, 9580, 17, 4, UNI_HANO } /* scriptextensions=hano */, { 7, 8780, 1585, 6, 23, UNI_BYZANTINEMUSIC } /* block=byzantinemusicalsymbols */, { 0, 5791, 5172, 13, 14, UNI_JG__HAMZAONHEHGOAL } /* joininggroup=hamzaonhehgoal */, { 13, 2280, 6483, 4, 10, UNI_HUNG } /* isoldhungarian */, { 0, 8589, 9636, 7, 4, UNI_SC__LINB } /* script=linb */, { 0, 8780, 78, 6, 35, UNI_ARABICMATH } /* block=arabicmathematicalalphabeticsymbols */, { 0, 8344, 0, 7, 0, UNI_BENG } /* bengali */, { 0, 8291, 0, 8, 0, UNI_TAGB } /* tagbanwa */, { 3, 10132, 2444, 3, 2, UNI_LB__HL } /* wb=hl */, { 0, 8589, 9860, 7, 4, UNI_VAI } /* script=vaii */, { 320, 8589, 8936, 7, 6, UNI_LYCI } /* script=lycian */, { 0, 9260, 26, 5, 1, UNI_IDSB } /* idsb=y */, { 20, 9524, 0, 3, 0, UNI_CWT } /* cwt */, { 512, 8978, 26, 6, 1, UNI__PERL_PATWS } /* patws=y */, { 256, 9892, 0, 4, 0, UNI_QAAI } /* zinh */, { 3, 10048, 8732, 3, 4, UNI_NV__5000 } /* nv=5000 */, { 0, 9488, 7514, 5, 8, UNI_INBHAIKSUKI } /* blk=bhaiksuki */, { 99, 9488, 2950, 4, 19, UNI_SUPARROWSB } /* blk=supplementalarrowsb */, { 11, 8786, 0, 4, 0, UNI_CARI } /* cari */, { 2, 2779, 9255, 19, 5, -UNI_IDST } /* idstrinaryoperator=false */, { 2, 5986, 7765, 13, 1, UNI_NV__2 } /* numericvalue=2 */, { 129, 184, 8498, 2, 7, UNI_MULT } /* ismultani */, { 3, 10027, 3802, 3, 17, UNI_JG__MANICHAEANHUNDRED } /* jg=manichaeanhundred */, { 27, 4033, 1899, 16, 2, UNI_PC } /* generalcategory=pc */, { 2, 10024, 6862, 3, 11, UNI_NO } /* gc=othernumber */, { 0, 184, 4257, 2, 16, UNI_MISCMATHSYMBOLSB } /* ismiscmathsymbolsb */, { 65, 3887, 0, 17, 0, UNI_SUTTONSIGNWRITING } /* suttonsignwriting */, { 0, 8519, 10135, 7, 3, UNI_DT__NONE } /* nfkdqc=yes */, { 47, 7249, 2, 5, 1, UNI_CARI } /* iscari */, { 0, 8888, 0, 6, 0, UNI_HATR } /* hatran */, { 0, 3097, 8948, 18, 6, UNI_DT__NAR } /* decompositiontype=narrow */, { 3, 9488, 9305, 4, 5, UNI_INNUSHU } /* blk=nushu */, { 12, 9277, 9609, 4, 3, UNI_KITS } /* sc=kits */, { 0, 9346, 26, 4, 1, UNI_IDC } /* idc=y */, { 0, 6928, 26, 11, 1, UNI_SD } /* softdotted=y */, { 1, 184, 3374, 2, 10, UNI_XPOSIXSPACE } /* iswhitespace */, { 290, 6554, 1, 11, 1, -UNI_IDC } /* idcontinue=n */, { 48, 7438, 1822, 10, 2, UNI_WB__NL } /* wordbreak=nl */, { 53, 4916, 1287, 4, 2, UNI_TELU } /* istelu */, { 97, 184, 2141, 3, 7, UNI_CYRL } /* iscyrillic */, { 513, 9277, 4928, 3, 5, UNI_SC__TAML } /* sc=tamil */, { 6, 3836, 8477, 17, 4, UNI_MAKA } /* scriptextensions=maka */, { 1, 6205, 1, 12, 1, -UNI_IDEO } /* ideographic=n */, { 153, 184, 5606, 2, 14, UNI_SUPPUNCTUATION } /* issuppunctuation */, { 2, 7358, 0, 4, 0, UNI_SAUR } /* saur */, { 4, 9508, 9937, 4, 3, UNI_CCC__AL } /* ccc=228 */, { 0, 8780, 5200, 6, 14, UNI_KANASUP } /* block=kanasupplement */, { 9, 9277, 8179, 3, 8, UNI_SC__GURU } /* sc=gurmukhi */, { 0, 9488, 9002, 4, 6, UNI_INTELUGU } /* blk=telugu */, { 6, 6231, 8380, 3, 6, UNI_CJKEXTE } /* incjkexte */, { 249, 10333, 0, 3, 0, UNI_S } /* iss */, { 1, 8589, 9740, 7, 4, UNI_SC__QAAI } /* script=qaai */, { 1, 9508, 9176, 5, 4, UNI_CCC__29 } /* ccc=ccc29 */, { 7, 10033, 533, 3, 2, UNI_LB__NS } /* lb=ns */, { 24, 7540, 0, 8, 0, UNI_EXT } /* extender */, { 1, 8780, 3115, 6, 10, UNI_INDEVANAGARI } /* block=devanagari */, { 1, 9277, 78, 3, 6, UNI_SC__ARAB } /* sc=arabic */, { 3, 9768, 9720, 4, 4, UNI_PHLP } /* scx=phlp */, { 0, 8589, 9452, 7, 4, UNI_AHOM } /* script=ahom */, { 10, 8414, 0, 4, 0, UNI_ELBA } /* elba */, { 0, 9508, 5648, 4, 2, UNI_CCC__10 } /* ccc=10 */, { 0, 10024, 1217, 3, 2, UNI_SK } /* gc=sk */, { 4, 10182, 10279, 6, 9, UNI__PERL_QUOTEMETA } /* _perl_quotemeta */, { 0, 4033, 38, 16, 2, UNI_XPOSIXDIGIT } /* generalcategory=nd */, { 131, 3853, 0, 16, 0, UNI_STERM } /* sentenceterminal */, { 37, 184, 5804, 2, 13, UNI_KANAEXTA } /* iskanaextendeda */, { 357, 861, 0, 6, 0, UNI_ARROWS } /* arrows */, { 133, 184, 8147, 2, 7, UNI_EXTPICT } /* isextpict */, { 64, 3836, 8638, 17, 7, UNI_TGLG } /* scriptextensions=tagalog */, { 1, 21, 2330, 3, 19, UNI_INANATOLIANHIEROGLYPHS } /* inanatolianhieroglyphs */, { 7, 184, 7438, 2, 4, UNI_XPOSIXWORD } /* isword */, { 2, 184, 7630, 2, 9, UNI_TALU } /* isnewtailue */, { 35, 5986, 9913, 13, 3, UNI_NV__2_SLASH_3 } /* numericvalue=2/3 */, { 146, 9350, 26, 5, 1, UNI_XIDS } /* xids=y */, { 0, 8780, 2120, 7, 20, UNI_CJKRADICALSSUP } /* block=cjkradicalssupplement */, { 33, 1922, 0, 12, 0, UNI_DIACRITICALS } /* diacriticals */, { 0, 1552, 10178, 9, 2, UNI_ZP } /* category=zp */, { 0, 10027, 8918, 3, 6, UNI_JG__LAMADH } /* jg=lamadh */, { 0, 8400, 0, 7, 0, UNI_compex_values_index } /* compex= */, { 215, 7278, 0, 10, 0, UNI_XPEO } /* oldpersian */, { 256, 4916, 4386, 3, 5, UNI_TANG } /* istangut */, { 516, 3853, 36, 17, 1, UNI_STERM } /* sentenceterminal=t */, { 0, 10333, 2288, 3, 3, UNI_SINH } /* issinh */, { 0, 9277, 3893, 3, 11, UNI_SGNW } /* sc=signwriting */, { 171, 1269, 1, 25, 1, -UNI_COMPEX } /* fullcompositionexclusion=n */, { 311, 9270, 2555, 5, 14, UNI_INPC__BOTTOMANDRIGHT } /* inpc=bottomandright */, { 0, 2224, 6962, 3, 10, UNI_SUPERANDSUB } /* insuperandsub */, { 314, 3241, 0, 11, 0, UNI_GEORGIANSUP } /* georgiansup */, { 0, 5791, 5869, 13, 13, UNI_JG__MANICHAEANMEM } /* joininggroup=manichaeanmem */, { 152, 5986, 8035, 13, 8, UNI_NV__3_SLASH_4 } /* numericvalue=7.50e-01 */, { 288, 8858, 0, 6, 0, UNI_ecomp_values_index } /* ecomp= */, { 0, 7739, 10135, 8, 3, UNI_IDS } /* idstart=yes */, { 1, 8780, 2912, 6, 19, UNI_SUNDANESESUP } /* block=sundanesesupplement */, { 512, 10060, 9255, 3, 5, -UNI_RI } /* ri=false */, { 4, 8589, 8477, 7, 4, UNI_MAKA } /* script=maka */, { 0, 9616, 0, 4, 0, UNI_KTHI } /* kthi */, { 35, 8589, 8442, 7, 7, UNI_SC__HANO } /* script=hanunoo */, { 603, 5791, 7148, 13, 10, UNI_JG__DALATHRISH } /* joininggroup=dalathrish */, { 2, 7088, 1, 11, 1, UNI_BC__BN } /* bidiclass=bn */, { 265, 2779, 0, 4, 0, UNI_IDST } /* idst */, { 28, 10048, 8035, 3, 8, UNI_NV__3_SLASH_4 } /* nv=7.50e-01 */, { 0, 10033, 495, 3, 7, UNI_LB__NU } /* lb=numeric */, { 0, 4989, 58, 3, 4, UNI_UIDEO } /* isuideo */, { 13, 8768, 9255, 6, 5, -UNI_BIDIC } /* bidic=false */, { 292, 3836, 2409, 17, 4, UNI_GLAG } /* scriptextensions=glag */, { 1, 9277, 9652, 3, 4, UNI_MERC } /* sc=merc */, { 1, 9277, 8666, 3, 7, UNI_SC__TIRH } /* sc=tirhuta */, { 64, 9277, 8291, 3, 4, UNI_SC__TAGB } /* sc=tagb */, { 13, 4916, 8639, 3, 6, UNI_TGLG } /* istagalog */, { 0, 9277, 8470, 3, 7, UNI_SC__LINA } /* sc=lineara */, { 5, 184, 5830, 2, 13, UNI_LOWSURROGATES } /* islowsurrogates */, { 714, 184, 2855, 2, 9, UNI_MONG } /* ismongolian */, { 73, 9070, 1, 5, 1, -UNI_POSIXXDIGIT } /* ahex=n */, { 36, 9488, 1018, 4, 5, UNI_MUSIC } /* blk=music */, { 65, 5746, 1025, 6, 2, -UNI_EBASE } /* ebase=no */, { 161, 10288, 7438, 8, 4, UNI_XPOSIXWORD } /* isxposixword */, { 25, 8107, 0, 8, 0, UNI_BALI } /* balinese */, { 2, 4613, 0, 15, 0, UNI_DIACRITICALSSUP } /* diacriticalssup */, { 0, 9596, 7720, 4, 9, UNI_GCB__V } /* hst=voweljamo */, { 212, 8780, 7684, 6, 9, UNI_INPAUCINHAU } /* block=paucinhau */, { 1, 9262, 1823, 3, 5, UNI_SB__LO } /* sb=lower */, { 0, 8498, 0, 4, 0, UNI_MULT } /* mult */, { 0, 2245, 0, 21, 0, UNI_MEETEIMAYEKEXT } /* meeteimayekextensions */, { 0, 9275, 2608, 5, 19, UNI_INSC__BRAHMIJOININGNUMBER } /* insc=brahmijoiningnumber */, { 543, 9488, 3052, 4, 9, UNI_HALFMARKS } /* blk=halfmarks */, { 0, 3097, 2785, 18, 3, UNI_DT__NAR } /* decompositiontype=nar */, { 16, 4916, 5850, 3, 3, UNI_TAML } /* istaml */, { 0, 3717, 7338, 17, 10, UNI_IDENTIFIERSTATUS__RESTRICTED } /* identifierstatus=restricted */, { 3, 4129, 0, 16, 0, UNI_LATIN1 } /* latin1supplement */, { 0, 3836, 2329, 17, 20, UNI_HLUW } /* scriptextensions=anatolianhieroglyphs */, { 0, 10024, 4245, 3, 10, UNI_SM } /* gc=mathsymbol */, { 389, 184, 1294, 2, 25, UNI_SUPERANDSUB } /* issuperscriptsandsubscripts */, { 0, 5674, 10135, 13, 3, UNI_BIDIM } /* bidimirrored=yes */, { 73, 4542, 1633, 4, 21, UNI_GEOMETRICSHAPESEXT } /* ingeometricshapesextended */, { 1, 9768, 9860, 4, 4, UNI_VAI } /* scx=vaii */, { 1024, 6576, 9255, 11, 5, -UNI_XPOSIXALPHA } /* alphabetic=false */, { 0, 5228, 0, 14, 0, UNI_LATINEXTB } /* latinextendedb */, { 0, 21, 3421, 2, 18, UNI_RUMI } /* inruminumeralsymbols */, { 0, 5986, 7826, 13, 2, UNI_NV__12 } /* numericvalue=12 */, { 513, 9488, 4129, 4, 16, UNI_LATIN1 } /* blk=latin1supplement */, { 1, 10291, 7438, 5, 4, UNI_POSIXWORD } /* posixword */, { 0, 8960, 26, 6, 1, UNI_NFCQC__Y } /* nfcqc=y */, { 199, 9508, 9472, 4, 4, UNI_WB__EB } /* ccc=atbl */, { 2, 9277, 8610, 3, 7, UNI_SIDD } /* sc=siddham */, { 0, 10009, 9868, 3, 4, UNI_EA__F } /* dt=wide */, { 0, 10048, 7469, 3, 8, UNI_NV__1_SLASH_2 } /* nv=5.00e-01 */, { 16, 5986, 8756, 13, 2, UNI_NV__90 } /* numericvalue=90 */, { 3, 2760, 36, 19, 1, UNI_GCB__T } /* hangulsyllabletype=t */, { 31, 9568, 0, 4, 0, UNI_GREK } /* grek */, { 0, 184, 8421, 2, 7, UNI_ELYM } /* iselymaic */, { 5, 3937, 0, 8, 0, UNI_BOPO } /* bopomofo */, { 815, 8680, 0, 7, 0, UNI_ZZZZ } /* unknown */, { 3, 5324, 0, 12, 0, UNI_INMANICHAEAN } /* inmanichaean */, { 2, 3836, 1222, 17, 4, UNI_KANA } /* scriptextensions=kana */, { 0, 9285, 0, 4, 0, UNI_LIMB } /* limb */, { 71, 184, 3115, 2, 13, UNI_DEVANAGARIEXT } /* isdevanagariext */, { 518, 1505, 3827, 4, 5, UNI_INGRANTHA } /* ingrantha */, { 151, 10033, 5298, 3, 14, UNI_LB__BK } /* lb=mandatorybreak */, { 0, 8589, 9816, 7, 4, UNI_TAVT } /* script=tavt */, { 67, 9488, 9245, 4, 5, UNI_INDOGRA } /* blk=dogra */, { 0, 3836, 9752, 17, 4, UNI_ROHG } /* scriptextensions=rohg */, { 32, 9270, 2549, 5, 12, UNI_INPC__TOPANDBOTTOM } /* inpc=topandbottom */, { 0, 184, 5003, 2, 15, UNI_ZANB } /* iszanabazarsquare */, { 6, 8203, 0, 8, 0, UNI_JAMOEXTA } /* jamoexta */, { 1, 5037, 0, 8, 0, UNI_XPOSIXXDIGIT } /* hexdigit */, { 48, 9335, 0, 4, 0, UNI_TAKR } /* takr */, { 0, 1537, 1924, 4, 10, UNI_DIACRITICALS } /* indiacriticals */, { 1, 9444, 7877, 4, 2, UNI_AGE__13 } /* age=13 */, { 0, 727, 0, 2, 0, UNI_MN } /* mn */, { 1, 9488, 2969, 4, 19, UNI_SUPARROWSC } /* blk=supplementalarrowsc */, { 1, 5986, 8027, 13, 8, UNI_NV__15_SLASH_2 } /* numericvalue=7.50e+00 */, { 34, 4838, 0, 16, 0, UNI_NFKCQC__N } /* nfkcquickcheck=n */, { 0, 4401, 0, 9, 0, UNI_TANGUTSUP } /* tangutsup */, { 32, 8589, 8131, 7, 8, UNI_SC__DUPL } /* script=duployan */, { 21, 9275, 4913, 5, 15, UNI_INSC__REGISTERSHIFTER } /* insc=registershifter */, { 52, 9528, 0, 3, 0, UNI_CWU } /* cwu */, { 2, 184, 6061, 2, 11, UNI_BIDIC } /* isbidicontrol */, { 0, 10033, 3969, 3, 16, UNI_LB__CP } /* lb=closeparenthesis */, { 128, 9488, 4703, 4, 15, UNI_INIMPERIALARAMAIC } /* blk=imperialaramaic */, { 84, 3529, 26, 18, 1, UNI_VS } /* variationselector=y */, { 0, 8582, 0, 7, 0, UNI_PHAG } /* phagspa */, { 545, 9277, 8491, 3, 4, UNI_MARC } /* sc=marc */, { 0, 10048, 8083, 3, 8, UNI_NV__11_SLASH_12 } /* nv=9.17e-01 */, { 0, 9768, 78, 4, 6, UNI_ARAB } /* scx=arabic */, { 4, 9452, 0, 4, 0, UNI_AHOM } /* ahom */, { 5, 184, 4241, 2, 16, UNI_MISCMATHSYMBOLSA } /* ismiscmathsymbolsa */, { 129, 9488, 3169, 4, 11, UNI_ETHIOPICSUP } /* blk=ethiopicsup */, { 0, 6229, 0, 5, 0, UNI_JOINC } /* joinc */, { 0, 9277, 5284, 3, 4, UNI_LISU } /* sc=lisu */, { 928, 8315, 0, 8, 0, UNI_UGAR } /* ugaritic */, { 0, 1552, 400, 9, 6, UNI_CF } /* category=format */, { 0, 10048, 9994, 3, 3, UNI_NV__9_SLASH_2 } /* nv=9/2 */, { 279, 10048, 7811, 3, 8, UNI_NV__1_SLASH_6 } /* nv=1.67e-01 */, { 0, 8978, 9255, 6, 5, -UNI__PERL_PATWS } /* patws=false */, { 581, 3836, 1677, 17, 5, UNI_LATN } /* scriptextensions=latin */, { 562, 9488, 1441, 4, 24, UNI_CJKSYMBOLS } /* blk=cjksymbolsandpunctuation */, { 32, 1417, 8819, 24, 3, UNI_CCC__129 } /* canonicalcombiningclass=129 */, { 1, 5452, 17, 15, 1, UNI_COMPEX } /* nfcquickcheck=no */, { 128, 9277, 9504, 3, 4, UNI_CANS } /* sc=cans */, { 0, 10006, 0, 3, 0, UNI_di_values_index } /* di= */, { 2, 8780, 6277, 6, 7, UNI_MAHJONG } /* block=mahjong */, { 145, 8780, 5186, 6, 14, UNI_HIGHSURROGATES } /* block=highsurrogates */, { 0, 1417, 9188, 24, 2, UNI_CCC__31 } /* canonicalcombiningclass=31 */, { 0, 1856, 9836, 22, 4, UNI_CWU } /* changeswhenuppercased=true */, { 139, 9277, 9588, 3, 4, UNI_HMNG } /* sc=hmng */, { 716, 9265, 26, 5, 1, UNI_IDST } /* idst=y */, { 12, 4688, 2023, 15, 9, UNI_IDENTIFIERTYPE__TECHNICAL } /* identifiertype=technical */, { 0, 7218, 10164, 10, 2, UNI_GCB__V } /* linebreak=jv */, { 1, 10182, 1527, 6, 9, UNI__PERL_SURROGATE } /* _perl_surrogate */, { 0, 2224, 350, 3, 32, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* insupplementalsymbolsandpictographs */, { 0, 1505, 5161, 5, 11, UNI_INGREEK } /* ingreekandcoptic */, { 65, 8589, 4868, 7, 15, UNI_NARB } /* script=oldnortharabian */, { 0, 8589, 9656, 7, 4, UNI_MIAO } /* script=miao */, { 301, 184, 4583, 2, 15, UNI_PD } /* isdashpunctuation */, { 1, 9508, 9171, 5, 4, UNI_CCC__28 } /* ccc=ccc28 */, { 1, 4113, 67, 3, 4, UNI_VSSUP } /* invssup */, { 390, 2280, 4306, 3, 15, UNI_PO } /* isotherpunctuation */, { 138, 10024, 1465, 3, 13, UNI_M } /* gc=combiningmark */, { 1, 9508, 7877, 4, 2, UNI_CCC__13 } /* ccc=13 */, { 4, 184, 4129, 2, 6, UNI_LATIN1 } /* islatin1 */, { 147, 6241, 6529, 12, 12, UNI_JT__R } /* joiningtype=rightjoining */, { 2, 6231, 2667, 4, 9, UNI_COUNTINGROD } /* incountingrod */, { 2, 2280, 3332, 3, 17, UNI_ORNAMENTALDINGBATS } /* isornamentaldingbats */, { 0, 5986, 7771, 13, 8, UNI_NV__1_SLASH_80 } /* numericvalue=1.25e-02 */, { 0, 1417, 24, 24, 1, UNI_CCC__L } /* canonicalcombiningclass=l */, { 2, 9020, 3, 6, 1, -UNI_XPOSIXUPPER } /* upper=f */, { 3, 1746, 1, 22, 1, UNI_BPT__N } /* bidipairedbrackettype=n */, { 1, 6730, 0, 11, 0, UNI_KATAKANAEXT } /* katakanaext */, { 1, 9880, 0, 4, 0, UNI_YI } /* yiii */, { 321, 9556, 406, 4, 7, UNI_GCB__CN } /* gcb=control */, { 0, 9488, 3169, 4, 8, UNI_INETHIOPIC } /* blk=ethiopic */, { 0, 9768, 8291, 4, 4, UNI_TAGB } /* scx=tagb */, { 0, 10009, 8846, 3, 6, UNI_DT__ENC } /* dt=circle */, { 0, 4033, 1910, 16, 2, UNI_CN } /* generalcategory=cn */, { 0, 9508, 8811, 5, 5, UNI_CCC__122 } /* ccc=ccc122 */, { 0, 9768, 7684, 4, 9, UNI_PAUC } /* scx=paucinhau */, { 0, 2224, 8632, 3, 6, UNI_SUPPUAB } /* insuppuab */, { 38, 9768, 8407, 4, 7, UNI_DSRT } /* scx=deseret */, { 1, 8589, 3937, 7, 8, UNI_SC__BOPO } /* script=bopomofo */, { 0, 10027, 756, 3, 3, UNI_JG__DAL } /* jg=dal */, { 555, 435, 0, 5, 0, UNI__PERL_NCHAR } /* nchar */, { 19, 3836, 8428, 17, 4, UNI_GRAN } /* scriptextensions=gran */, { 0, 3097, 0, 18, 0, UNI_dt_values_index } /* decompositiontype= */, { 3, 7076, 7099, 3, 9, UNI_BOXDRAWING } /* inboxdrawing */, { 2, 1988, 0, 22, 0, UNI_loe_values_index } /* logicalorderexception= */, { 641, 1966, 3953, 22, 16, UNI_INSC__CANTILLATIONMARK } /* indicsyllabiccategory=cantillationmark */, { 0, 8870, 10135, 6, 3, UNI_EPRES } /* epres=yes */, { 523, 1790, 1025, 22, 2, -UNI_CWCM } /* changeswhencasemapped=no */, { 0, 9488, 2287, 4, 7, UNI_INSINHALA } /* blk=sinhala */, { 16, 1087, 26, 27, 1, UNI_PCM } /* prependedconcatenationmark=y */, { 0, 8780, 1561, 6, 24, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* block=supsymbolsandpictographs */, { 0, 2665, 0, 11, 0, UNI_COUNTINGROD } /* countingrod */, { 0, 1417, 9106, 25, 4, UNI_CCC__15 } /* canonicalcombiningclass=ccc15 */, { 1, 8780, 8876, 6, 6, UNI_INGOTHIC } /* block=gothic */, { 0, 21, 7458, 2, 10, UNI_YIRADICALS } /* inyiradicals */, { 4, 3836, 9680, 17, 4, UNI_NBAT } /* scriptextensions=nbat */, { 1, 8780, 2429, 6, 20, UNI_ININSCRIPTIONALPAHLAVI } /* block=inscriptionalpahlavi */, { 9, 10003, 9836, 3, 4, UNI_CI } /* ci=true */, { 768, 7076, 5816, 3, 7, UNI_INBALINESE } /* inbalinese */, { 5, 2779, 0, 19, 0, UNI_idst_values_index } /* idstrinaryoperator= */, { 0, 8930, 26, 6, 1, UNI_XPOSIXLOWER } /* lower=y */, { 0, 9277, 4448, 3, 4, UNI_BAMU } /* sc=bamu */, { 14, 7318, 7754, 10, 2, UNI_IN__11 } /* presentin=11 */, { 0, 3115, 0, 18, 0, UNI_DEVANAGARIEXT } /* devanagariextended */, { 0, 9095, 0, 5, 0, UNI_BUHD } /* buhid */, { 32, 5452, 0, 15, 0, UNI_COMPEX } /* nfcquickcheck=n */, { 0, 1746, 0, 22, 0, UNI_bpt_values_index } /* bidipairedbrackettype= */, { 22, 3374, 9255, 11, 5, -UNI_XPOSIXSPACE } /* whitespace=false */, { 27, 8688, 2330, 3, 19, UNI_HLUW } /* isanatolianhieroglyphs */, { 40, 5497, 0, 11, 0, UNI_MC } /* spacingmark */, { 2, 9768, 9608, 4, 4, UNI_KITS } /* scx=kits */, { 43, 2784, 1395, 4, 22, UNI_ARABICPFB } /* inarabicpresentationformsb */, { 0, 9768, 6840, 4, 4, UNI_NAND } /* scx=nand */, { 104, 3836, 7188, 17, 10, UNI_KHAR } /* scriptextensions=kharoshthi */, { 23, 5986, 9392, 13, 4, UNI_NV__11_SLASH_2 } /* numericvalue=11/2 */, { 320, 10048, 9372, 3, 4, UNI_NV__1_SLASH_40 } /* nv=1/40 */, { 0, 9768, 6277, 4, 4, UNI_MAHJ } /* scx=mahj */, { 6, 9997, 407, 3, 2, UNI_BC__ON } /* bc=on */, { 72, 6205, 9255, 12, 5, -UNI_IDEO } /* ideographic=false */, { 258, 184, 6277, 2, 4, UNI_MAHJ } /* ismahj */, { 192, 7540, 1025, 9, 2, -UNI_EXT } /* extender=no */, { 0, 9277, 9892, 3, 4, UNI_SC__QAAI } /* sc=zinh */, { 9, 2912, 0, 4, 0, UNI_SUND } /* sund */, { 0, 8688, 1007, 3, 26, UNI_ANCIENTGREEKMUSIC } /* isancientgreekmusicalnotation */, { 379, 9488, 719, 4, 30, UNI_CUNEIFORMNUMBERS } /* blk=cuneiformnumbersandpunctuation */, { 0, 21, 8470, 2, 7, UNI_INLINEARA } /* inlineara */, { 0, 9277, 9624, 3, 4, UNI_LAO } /* sc=laoo */, { 1, 5791, 5364, 13, 4, UNI_JG__HETH } /* joininggroup=heth */, { 1, 3025, 0, 4, 0, UNI_CHER } /* cher */, { 38, 10048, 9907, 3, 3, UNI_NV__1_SLASH_7 } /* nv=1/7 */, { 0, 2224, 7399, 3, 9, UNI_SUPARROWSC } /* insuparrowsc */, { 6, 7325, 10093, 3, 3, UNI_IN__4_DOT_1 } /* in=v41 */, { 1, 10024, 48, 3, 1, UNI_P } /* gc=p */, { 0, 1921, 0, 2, 0, UNI_SD } /* sd */, { 0, 9488, 42, 4, 9, UNI_CJKCOMPAT } /* blk=cjkcompat */, { 0, 5791, 9784, 13, 4, UNI_JG__SHIN } /* joininggroup=shin */, { 0, 8589, 9544, 7, 4, UNI_DIAK } /* script=diak */, { 105, 9997, 426, 3, 2, UNI_BC__ES } /* bc=es */, { 459, 3904, 36, 17, 1, UNI_UIDEO } /* unifiedideograph=t */, { 40, 9345, 1025, 5, 2, -UNI_XIDC } /* xidc=no */, { 0, 5986, 7877, 13, 2, UNI_NV__13 } /* numericvalue=13 */, { 0, 1677, 0, 14, 0, UNI_LATINEXTA } /* latinextendeda */, { 0, 7218, 96, 10, 10, UNI_LB__AL } /* linebreak=alphabetic */, { 0, 10009, 2785, 3, 3, UNI_DT__NAR } /* dt=nar */, { 572, 283, 0, 33, 0, UNI_MISCMATHSYMBOLSB } /* miscellaneousmathematicalsymbolsb */, { 2, 9768, 4883, 4, 15, UNI_SARB } /* scx=oldsoutharabian */, { 0, 8526, 0, 7, 0, UNI_NB } /* noblock */, { 20, 9824, 0, 4, 0, UNI_TGLG } /* tglg */, { 0, 9768, 8561, 4, 4, UNI_OSMA } /* scx=osma */, { 0, 9285, 0, 5, 0, UNI_LIMB } /* limbu */, { 6, 9277, 4145, 3, 7, UNI_SC__LINB } /* sc=linearb */, { 330, 9275, 4508, 5, 15, UNI_INSC__CONSONANTKILLER } /* insc=consonantkiller */, { 0, 5986, 4134, 13, 1, UNI_NV__1 } /* numericvalue=1 */, { 20, 9640, 3, 4, 1, -UNI_LOE } /* loe=f */, { 0, 3836, 4001, 17, 7, UNI_CPRT } /* scriptextensions=cypriot */, { 0, 6972, 0, 11, 0, UNI_SYLO } /* sylotinagri */, { 306, 5986, 8710, 13, 4, UNI_NV__6000 } /* numericvalue=6000 */, { 11, 5746, 9255, 6, 5, -UNI_EBASE } /* ebase=false */, { 962, 184, 6397, 2, 12, UNI_MATHALPHANUM } /* ismathalphanum */, { 1, 5032, 0, 13, 0, UNI_POSIXXDIGIT } /* asciihexdigit */, { 0, 9277, 1013, 3, 5, UNI_SC__GREK } /* sc=greek */, { 0, 1979, 10171, 10, 1, UNI_CASEDLETTER } /* category=l_ */, { 0, 10126, 471, 3, 2, UNI_VO__TU } /* vo=tu */, { 0, 9508, 4912, 4, 2, UNI_CCC__0 } /* ccc=nr */, { 0, 9832, 0, 4, 0, UNI_TIBT } /* tibt */, { 1, 8435, 36, 7, 1, UNI_GRBASE } /* grbase=t */, { 0, 9508, 756, 4, 2, UNI_CCC__DA } /* ccc=da */, { 4, 8211, 0, 8, 0, UNI_JAMOEXTB } /* jamoextb */, { 125, 1537, 4988, 24, 15, UNI_LOE } /* indicpositionalcategory=visualorderleft */, { 0, 10048, 7843, 3, 8, UNI_NV__1_SLASH_4 } /* nv=2.50e-01 */, { 0, 5200, 0, 7, 0, UNI_KANASUP } /* kanasup */, { 0, 8780, 861, 6, 6, UNI_ARROWS } /* block=arrows */, { 1, 6805, 842, 6, 25, UNI_MISCARROWS } /* inmiscellaneoussymbolsandarrows */, { 0, 9596, 24, 4, 1, UNI_GCB__L } /* hst=l */, { 0, 5986, 8714, 13, 5, UNI_NV__30000 } /* numericvalue=30000 */, { 8, 9277, 4385, 3, 4, UNI_TANG } /* sc=tang */, { 0, 8575, 10135, 7, 3, UNI_PATSYN } /* patsyn=yes */, { 0, 1218, 0, 26, 0, UNI_KATAKANAEXT } /* katakanaphoneticextensions */, { 3, 5986, 5649, 13, 1, UNI_NV__0 } /* numericvalue=0 */, { 64, 10027, 5368, 3, 14, UNI_JG__MANICHAEANKAPH } /* jg=manichaeankaph */, { 0, 10048, 9409, 3, 3, UNI_NV__5_SLASH_2 } /* nv=5/2 */, { 776, 184, 5843, 2, 9, UNI_MLYM } /* ismalayalam */, { 0, 4116, 2430, 3, 19, UNI_PHLI } /* isinscriptionalpahlavi */, { 557, 9444, 7826, 4, 2, UNI_AGE__12 } /* age=12 */, { 9, 10009, 10066, 3, 3, UNI_DT__SML } /* dt=sml */, { 0, 9488, 4808, 4, 15, UNI_MISCPICTOGRAPHS } /* blk=miscpictographs */, { 0, 8589, 9652, 7, 4, UNI_MERC } /* script=merc */, { 1, 8589, 8315, 7, 4, UNI_UGAR } /* script=ugar */, { 3, 8589, 3025, 7, 8, UNI_CHER } /* script=cherokee */, { 0, 2529, 3, 20, 1, -UNI_TERM } /* terminalpunctuation=f */, { 66, 9262, 8996, 3, 5, UNI_SB__ST } /* sb=sterm */, { 0, 6012, 0, 13, 0, UNI_VERTICALFORMS } /* verticalforms */, { 0, 8990, 0, 6, 0, UNI_RJNG } /* rejang */, { 0, 9488, 6385, 4, 12, UNI_INMASARAMGONDI } /* blk=masaramgondi */, { 0, 8960, 10135, 6, 3, UNI_NFCQC__Y } /* nfcqc=yes */, { 4, 9520, 36, 4, 1, UNI_CWL } /* cwl=t */, { 75, 1222, 0, 4, 0, UNI_KANA } /* kana */, { 41, 4033, 341, 16, 2, UNI_PE } /* generalcategory=pe */, { 11, 9820, 0, 4, 0, UNI_TFNG } /* tfng */, { 0, 2288, 4068, 5, 13, UNI_HALFANDFULLFORMS } /* inhalfandfullforms */, { 10, 5060, 1025, 14, 2, -UNI_CI } /* caseignorable=no */, { 0, 9262, 4305, 3, 5, UNI_SB__XX } /* sb=other */, { 90, 7155, 3053, 3, 8, UNI_HALFMARKS } /* ishalfmarks */, { 404, 10290, 5040, 6, 5, UNI_XPOSIXDIGIT } /* xposixdigit */, { 0, 10027, 7711, 3, 9, UNI_JG__SYRIACWAW } /* jg=syriacwaw */, { 672, 7098, 0, 10, 0, UNI_BOXDRAWING } /* boxdrawing */, { 1, 9768, 1013, 4, 5, UNI_GREK } /* scx=greek */, { 0, 9444, 7987, 4, 3, UNI_AGE__6_DOT_2 } /* age=6.2 */, { 0, 3133, 1025, 18, 2, -UNI_EBASE } /* emojimodifierbase=no */, { 16, 1812, 9836, 22, 4, UNI_CWL } /* changeswhenlowercased=true */, { 1, 117, 447, 3, 31, UNI_IDEOGRAPHICSYMBOLS } /* inideographicsymbolsandpunctuation */, { 87, 1417, 8727, 24, 2, UNI_CCC__32 } /* canonicalcombiningclass=32 */, { 546, 9768, 7675, 4, 9, UNI_PALM } /* scx=palmyrene */, { 32, 9768, 3241, 4, 4, UNI_GEOR } /* scx=geor */, { 0, 9764, 0, 4, 0, UNI_SARB } /* sarb */, { 0, 10033, 73, 3, 2, UNI_EMOD } /* lb=em */, { 4, 3836, 9335, 17, 4, UNI_TAKR } /* scriptextensions=takr */, { 1097, 10291, 5039, 5, 6, UNI_POSIXXDIGIT } /* posixxdigit */, { 128, 7249, 3583, 4, 15, UNI_UCAS } /* iscanadiansyllabics */, { 268, 8589, 7308, 7, 10, UNI_PHNX } /* script=phoenician */, { 36, 184, 2485, 2, 4, UNI_MONG } /* ismong */, { 0, 8694, 0, 6, 0, UNI_XPOSIXSPACE } /* wspace */, { 2, 9508, 7826, 4, 2, UNI_CCC__12 } /* ccc=12 */, { 15, 1587, 0, 1, 0, UNI_Z } /* z */, { 10, 10048, 9436, 3, 4, UNI_NV__7_SLASH_12 } /* nv=7/12 */, { 2, 9488, 2308, 4, 6, UNI_YIJING } /* blk=yijing */, { 0, 2182, 10174, 21, 2, UNI_GCB__XX } /* graphemeclusterbreak=xx */, { 0, 1746, 17, 22, 1, UNI_BPT__O } /* bidipairedbrackettype=o */, { 0, 3836, 493, 17, 3, UNI_HAN } /* scriptextensions=han */, { 1, 1087, 9836, 27, 4, UNI_PCM } /* prependedconcatenationmark=true */, { 0, 7418, 9255, 10, 5, -UNI_XPOSIXUPPER } /* uppercase=false */, { 4, 1114, 3, 26, 1, -UNI_CWKCF } /* changeswhennfkccasefolded=f */, { 0, 7028, 9881, 3, 3, UNI_YI } /* isyiii */, { 4, 4033, 45, 16, 2, UNI_CO } /* generalcategory=co */, { 0, 4916, 2077, 3, 21, UNI_TRANSPORTANDMAP } /* istransportandmapsymbols */, { 0, 8780, 8203, 6, 8, UNI_JAMOEXTA } /* block=jamoexta */, { 7, 7155, 1116, 3, 3, UNI_HANG } /* ishang */, { 89, 8780, 2308, 6, 6, UNI_YIJING } /* block=yijing */, { 21, 184, 8171, 2, 8, UNI_GUJR } /* isgujarati */, { 1024, 9768, 8924, 4, 4, UNI_LEPC } /* scx=lepc */, { 5, 10129, 0, 3, 0, UNI_vs_values_index } /* vs= */, { 3, 9664, 0, 4, 0, UNI_MRO } /* mroo */, { 0, 8780, 2245, 6, 21, UNI_MEETEIMAYEKEXT } /* block=meeteimayekextensions */, { 0, 6576, 1025, 11, 2, -UNI_XPOSIXALPHA } /* alphabetic=no */, { 29, 184, 382, 2, 32, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS } /* isegyptianhieroglyphformatcontrols */, { 2, 9270, 868, 3, 17, UNI_PHONETICEXT } /* inphoneticextensions */, { 9, 9015, 0, 5, 0, UNI_ideo_values_index } /* ideo= */, { 0, 10033, 7448, 3, 10, UNI_LB__WJ } /* lb=wordjoiner */, { 7, 7239, 0, 2, 0, UNI_VS } /* vs */, { 352, 9488, 3938, 5, 15, UNI_BOPOMOFOEXT } /* blk=bopomofoextended */, { 0, 9488, 2477, 4, 3, UNI_PUA } /* blk=pua */, { 7, 184, 2817, 2, 4, UNI_MERO } /* ismero */, { 0, 5960, 0, 13, 0, UNI_MISCTECHNICAL } /* misctechnical */, { 160, 8840, 0, 6, 0, UNI_CAKM } /* chakma */, { 521, 5726, 0, 13, 0, UNI_ME } /* enclosingmark */, { 23, 1417, 9101, 25, 4, UNI_CCC__14 } /* canonicalcombiningclass=ccc14 */, { 2, 8688, 727, 4, 2, UNI_ARMN } /* isarmn */, { 2, 184, 2469, 2, 20, UNI_HMNP } /* isnyiakengpuachuehmong */, { 757, 10290, 1867, 6, 5, UNI_XPOSIXUPPER } /* xposixupper */, { 8, 10132, 125, 3, 2, UNI_LB__CR } /* wb=cr */, { 161, 9768, 4001, 4, 7, UNI_CPRT } /* scx=cypriot */, { 0, 184, 1442, 3, 9, UNI_CJKSYMBOLS } /* iscjksymbols */, { 0, 9768, 9548, 4, 4, UNI_DSRT } /* scx=dsrt */, { 0, 3836, 6792, 18, 3, UNI_SAMR } /* scriptextensions=samr */, { 144, 4542, 3226, 5, 15, UNI_INPUNCTUATION } /* ingeneralpunctuation */, { 634, 4116, 1308, 3, 2, UNI_IDS } /* isids */, { 10, 9346, 1025, 4, 2, -UNI_IDC } /* idc=no */, { 32, 184, 8421, 2, 4, UNI_ELYM } /* iselym */, { 4, 9275, 8099, 5, 8, UNI_INSC__AVAGRAHA } /* insc=avagraha */, { 132, 8575, 36, 7, 1, UNI_PATSYN } /* patsyn=t */, { 0, 3836, 8091, 17, 8, UNI_ARMN } /* scriptextensions=armenian */, { 0, 5791, 6565, 13, 11, UNI_JG__AFRICANNOON } /* joininggroup=africannoon */, { 1, 2288, 2724, 4, 8, UNI_JAMO } /* inhanguljamo */, { 0, 5452, 47, 14, 1, UNI_NFCQC__M } /* nfcquickcheck=m */, { 1, 9684, 0, 4, 0, UNI_NEWA } /* newa */, { 549, 9488, 867, 4, 11, UNI_PHONETICEXT } /* blk=phoneticext */, { 513, 8762, 1025, 6, 2, -UNI_XPOSIXALPHA } /* alpha=no */, { 455, 8780, 5804, 6, 13, UNI_KANAEXTA } /* block=kanaextendeda */, { 1, 184, 3937, 2, 11, UNI_BOPOMOFOEXT } /* isbopomofoext */, { 783, 5986, 9050, 13, 5, UNI_NV__1_SLASH_160 } /* numericvalue=1/160 */, { 7, 10024, 3277, 3, 18, UNI_PI } /* gc=initialpunctuation */, { 0, 9262, 339, 3, 2, UNI_SB__LO } /* sb=lo */, { 0, 2161, 26, 21, 1, UNI_EXTPICT } /* extendedpictographic=y */, { 1140, 7249, 3600, 4, 15, UNI_AGHB } /* iscaucasianalbanian */, { 3, 9768, 9320, 4, 5, UNI_OSGE } /* scx=osage */, { 0, 5060, 0, 13, 0, UNI_CI } /* caseignorable */, { 147, 10048, 9376, 3, 3, UNI_NV__1_SLASH_6 } /* nv=1/6 */, { 301, 7027, 0, 11, 0, UNI_YISYLLABLES } /* yisyllables */, { 9, 10033, 7268, 3, 10, UNI_LB__NS } /* lb=nonstarter */, { 192, 5508, 9255, 14, 5, -UNI_PATSYN } /* patternsyntax=false */, { 1, 8954, 26, 6, 1, UNI__PERL_NCHAR } /* nchar=y */, { 1, 5986, 5648, 13, 6, UNI_NV__100000 } /* numericvalue=100000 */, { 5, 2224, 7389, 3, 9, UNI_SUPARROWSB } /* insuparrowsb */, { 0, 10024, 25, 3, 1, UNI_S } /* gc=s */, { 0, 5986, 7835, 13, 8, UNI_NV__5_SLASH_2 } /* numericvalue=2.50e+00 */, { 303, 5986, 1249, 13, 3, UNI_NV__NAN } /* numericvalue=nan */, { 1, 1768, 36, 22, 1, UNI_CWCF } /* changeswhencasefolded=t */, { 0, 8688, 7497, 4, 7, UNI_ARABICPFA } /* isarabicpfa */, { 264, 8780, 183, 6, 20, UNI_MISCSYMBOLS } /* block=miscellaneoussymbols */, { 0, 9277, 6796, 3, 11, UNI_MEDF } /* sc=medefaidrin */, { 672, 184, 1466, 3, 23, UNI_DIACRITICALSFORSYMBOLS } /* iscombiningmarksforsymbols */, { 3, 9997, 3756, 3, 3, UNI_BC__NSM } /* bc=nsm */, { 4, 2569, 18, 20, 1, UNI_VO__R } /* verticalorientation=r */, { 3, 9508, 10166, 4, 2, UNI_CCC__8 } /* ccc=kv */, { 0, 8762, 0, 6, 0, UNI_alpha_values_index } /* alpha= */, { 13, 9768, 8498, 4, 4, UNI_MULT } /* scx=mult */, { 2, 5986, 5648, 13, 2, UNI_NV__10 } /* numericvalue=10 */, { 0, 8864, 9836, 6, 4, UNI_EMOJI } /* emoji=true */, { 0, 2224, 7359, 3, 9, UNI_INSAURASHTRA } /* insaurashtra */, { 514, 9444, 10111, 4, 3, UNI_AGE__6_DOT_2 } /* age=v62 */, { 1, 184, 2703, 2, 19, UNI_ENCLOSEDALPHANUMSUP } /* isenclosedalphanumsup */, { 0, 9768, 9305, 4, 5, UNI_NSHU } /* scx=nushu */, { 152, 1746, 4898, 22, 4, UNI_BPT__O } /* bidipairedbrackettype=open */, { 15, 184, 183, 2, 34, UNI_MISCPICTOGRAPHS } /* ismiscellaneoussymbolsandpictographs */, { 617, 7438, 7603, 10, 9, UNI_WB__ML } /* wordbreak=midletter */, { 0, 5986, 8019, 13, 8, UNI_NV__2_SLASH_3 } /* numericvalue=6.67e-01 */, { 2306, 9277, 9700, 3, 4, UNI_OLCK } /* sc=olck */, { 2184, 9488, 349, 4, 33, UNI_SUPSYMBOLSANDPICTOGRAPHS } /* blk=supplementalsymbolsandpictographs */, { 3, 5324, 8479, 4, 5, UNI_INMAKASAR } /* inmakasar */, { 1, 9277, 9500, 3, 4, UNI_SC__CAKM } /* sc=cakm */, { 2, 3836, 1176, 18, 3, UNI_SORA } /* scriptextensions=sora */, { 0, 8589, 7292, 8, 3, UNI_SC__SOGD } /* script=sogd */, { 0, 3836, 9038, 17, 6, UNI_YEZI } /* scriptextensions=yezidi */, { 0, 5791, 5944, 13, 3, UNI_JG__WAW } /* joininggroup=waw */, { 22, 6505, 0, 12, 0, UNI_PHAISTOS } /* phaistosdisc */, { 9, 8858, 9255, 6, 5, -UNI_ECOMP } /* ecomp=false */, { 1, 9020, 9836, 6, 4, UNI_XPOSIXUPPER } /* upper=true */, { 355, 2760, 911, 19, 1, UNI_GCB__V } /* hangulsyllabletype=v */, { 0, 1417, 8010, 24, 2, UNI_CCC__36 } /* canonicalcombiningclass=36 */, { 0, 9277, 9820, 3, 4, UNI_TFNG } /* sc=tfng */, { 1, 1537, 6983, 24, 11, UNI_INPC__TOPANDRIGHT } /* indicpositionalcategory=topandright */, { 0, 9277, 8, 4, 3, UNI_SC__KANA } /* sc=kana */, { 1, 184, 4718, 2, 15, UNI_LOWERCASELETTER } /* islowercaseletter */, { 1, 2529, 0, 4, 0, UNI_TERM } /* term */, { 90, 9768, 5171, 4, 4, UNI_CHAM } /* scx=cham */, { 1157, 8589, 3079, 7, 4, UNI_SC__COPT } /* script=copt */, { 1116, 9488, 2931, 4, 19, UNI_SUPARROWSA } /* blk=supplementalarrowsa */, { 1, 8589, 4928, 7, 5, UNI_SC__TAML } /* script=tamil */, { 2148, 4598, 0, 15, 0, UNI_DIACRITICALSEXT } /* diacriticalsext */, { 10, 9277, 8652, 3, 7, UNI_TAVT } /* sc=taiviet */, { 0, 9277, 6181, 3, 12, UNI_SC__GONG } /* sc=gunjalagondi */, { 531, 9277, 4448, 3, 5, UNI_BAMU } /* sc=bamum */, { 49, 6420, 9316, 3, 4, UNI_INORIYA } /* inoriya */, { 1, 10048, 7859, 3, 8, UNI_NV__20000000 } /* nv=20000000 */, { 0, 10048, 7851, 3, 8, UNI_NV__1_SLASH_40 } /* nv=2.50e-02 */, { 6, 9768, 8786, 4, 6, UNI_CARI } /* scx=carian */, { 1, 5986, 7814, 13, 1, UNI_NV__7 } /* numericvalue=7 */, { 1, 4033, 3277, 16, 18, UNI_PI } /* generalcategory=initialpunctuation */, { 0, 4916, 4386, 3, 15, UNI_TANGUTCOMPONENTS } /* istangutcomponents */, { 253, 8652, 0, 7, 0, UNI_TAVT } /* taiviet */, { 0, 9488, 908, 4, 14, UNI_PUA } /* blk=privateusearea */, { 0, 10288, 10303, 8, 5, UNI_XPOSIXBLANK } /* isxposixblank */, { 0, 10048, 7763, 3, 8, UNI_NV__1_SLASH_8 } /* nv=1.25e-01 */, { 26, 9488, 3421, 4, 4, UNI_RUMI } /* blk=rumi */, { 4, 9488, 4928, 4, 8, UNI_TAMILSUP } /* blk=tamilsup */, { 1540, 7088, 3313, 10, 18, UNI_BC__LRI } /* bidiclass=lefttorightisolate */, { 0, 3151, 10135, 18, 3, UNI_EPRES } /* emojipresentation=yes */, { 0, 4033, 2268, 16, 2, UNI_PD } /* generalcategory=pd */, { 2343, 4113, 4974, 3, 14, UNI_VEDICEXT } /* invedicextensions */, { 100, 9768, 8936, 4, 4, UNI_LYCI } /* scx=lyci */, { 0, 3836, 8291, 17, 8, UNI_TAGB } /* scriptextensions=tagbanwa */, { 0, 467, 0, 11, 0, UNI_P } /* punctuation */, { 17, 10048, 8710, 3, 3, UNI_NV__600 } /* nv=600 */, { 0, 3836, 8421, 17, 4, UNI_ELYM } /* scriptextensions=elym */, { 66, 8589, 8924, 7, 4, UNI_LEPC } /* script=lepc */, { 2, 9230, 1, 5, 1, -UNI_CWCF } /* cwcf=n */, { 6, 9488, 8617, 4, 7, UNI_INSOYOMBO } /* blk=soyombo */, { 0, 2608, 0, 6, 0, UNI_BRAH } /* brahmi */, { 357, 184, 6829, 2, 11, UNI_MYANMAREXTB } /* ismyanmarextb */, { 2136, 9444, 9982, 4, 3, UNI_AGE__6_DOT_3 } /* age=6.3 */, { 1655, 9768, 9688, 4, 3, UNI_NKO } /* scx=nko */, { 1541, 1417, 7890, 24, 2, UNI_CCC__33 } /* canonicalcombiningclass=33 */, { 1, 8774, 0, 6, 0, UNI_bidim_values_index } /* bidim= */, { 0, 9768, 9245, 4, 5, UNI_DOGR } /* scx=dogra */, { 12, 9508, 9108, 4, 2, UNI_CCC__15 } /* ccc=15 */, { 0, 10027, 9784, 3, 4, UNI_JG__SHIN } /* jg=shin */, { 280, 8589, 8659, 7, 7, UNI_TIBT } /* script=tibetan */, { 17, 10033, 1822, 3, 2, UNI_LB__NL } /* lb=nl */, { 1, 3904, 1025, 17, 2, -UNI_UIDEO } /* unifiedideograph=no */, { 227, 10048, 9988, 3, 3, UNI_NV__7_SLASH_8 } /* nv=7/8 */, { 0, 9768, 3025, 4, 4, UNI_CHER } /* scx=cher */, { 2, 3836, 9652, 17, 4, UNI_MERC } /* scriptextensions=merc */, { 0, 1417, 18, 24, 1, UNI_CCC__R } /* canonicalcombiningclass=r */, { 1, 3836, 8219, 17, 8, UNI_JAVA } /* scriptextensions=javanese */, { 0, 4989, 513, 3, 15, UNI_UIDEO } /* isunifiedideograph */, { 3, 184, 4478, 2, 4, UNI_BRAI } /* isbrai */, { 17, 184, 5158, 2, 14, UNI_INGREEK } /* isgreekandcoptic */, { 304, 3836, 7428, 17, 10, UNI_WARA } /* scriptextensions=warangciti */, { 832, 2779, 9836, 19, 4, UNI_IDST } /* idstrinaryoperator=true */, { 192, 9768, 9285, 4, 4, UNI_LIMB } /* scx=limb */, { 5, 3853, 0, 17, 0, UNI_sterm_values_index } /* sentenceterminal= */, { 0, 10024, 3985, 3, 16, UNI_PE } /* gc=closepunctuation */, { 0, 7088, 5494, 10, 14, UNI_BC__NSM } /* bidiclass=nonspacingmark */, { 1232, 4542, 3243, 4, 16, UNI_GEORGIANSUP } /* ingeorgiansupplement */, { 1026, 8780, 8211, 6, 8, UNI_JAMOEXTB } /* block=jamoextb */, { 8, 9556, 1910, 4, 2, UNI_GCB__CN } /* gcb=cn */, { 1, 3133, 3, 18, 1, -UNI_EBASE } /* emojimodifierbase=f */, { 0, 8589, 8912, 7, 4, UNI_SC__KHOJ } /* script=khoj */, { 0, 184, 8470, 2, 7, UNI_LINA } /* islineara */, { 1, 7218, 10030, 10, 2, UNI_GCB__T } /* linebreak=jt */, { 136, 10291, 3379, 5, 5, UNI_POSIXSPACE } /* posixspace */, { 26, 4116, 4704, 3, 14, UNI_ARMI } /* isimperialaramaic */, { 0, 5592, 0, 14, 0, UNI_ZS } /* spaceseparator */, { 39, 10048, 7468, 3, 9, UNI_NV___MINUS_1_SLASH_2 } /* nv=-5.00e-01 */, { 2405, 8984, 9255, 6, 5, -UNI_QMARK } /* qmark=false */, { 1, 8589, 9880, 7, 4, UNI_SC__YI } /* script=yiii */, { 0, 21, 6730, 2, 11, UNI_KATAKANAEXT } /* inkatakanaext */, { 776, 184, 8477, 2, 7, UNI_MAKA } /* ismakasar */, { 1, 2224, 2288, 3, 20, UNI_SINHALAARCHAICNUMBERS } /* insinhalaarchaicnumbers */, { 1540, 10296, 8583, 3, 6, UNI_PHAG } /* isphagspa */, { 19, 9508, 8793, 5, 4, UNI_CCC__10 } /* ccc=ccc10 */, { 0, 9270, 5551, 3, 13, UNI_INPSALTERPAHLAVI } /* inpsalterpahlavi */, { 36, 2032, 1025, 22, 2, -UNI__PERL_NCHAR } /* noncharactercodepoint=no */, { 23, 9488, 4145, 4, 16, UNI_LINEARBIDEOGRAMS } /* blk=linearbideograms */, { 617, 3379, 26, 6, 1, UNI_XPOSIXSPACE } /* space=y */, { 137, 184, 2912, 2, 19, UNI_SUNDANESESUP } /* issundanesesupplement */, { 770, 9508, 2809, 4, 2, UNI_CCC__1 } /* ccc=ov */, { 0, 1417, 9116, 25, 4, UNI_CCC__17 } /* canonicalcombiningclass=ccc17 */, { 271, 5986, 7907, 13, 8, UNI_NV__3_SLASH_8 } /* numericvalue=3.75e-01 */, { 1028, 8780, 4554, 7, 14, UNI_CONTROLPICTURES } /* block=controlpictures */, { 400, 8780, 8421, 6, 7, UNI_INELYMAIC } /* block=elymaic */, { 0, 9270, 2449, 5, 4, UNI_INPC__LEFT } /* inpc=left */, { 0, 8688, 9066, 3, 4, UNI_ADLM } /* isadlam */, { 0, 8589, 9748, 7, 4, UNI_RJNG } /* script=rjng */, { 0, 9230, 9255, 5, 5, -UNI_CWCF } /* cwcf=false */, { 3, 5116, 9255, 14, 5, -UNI_EMOD } /* emojimodifier=false */, { 259, 5578, 49, 14, 2, UNI_SB__AT } /* sentencebreak=at */, { 0, 9277, 7621, 3, 9, UNI_NBAT } /* sc=nabataean */, { 2, 184, 3098, 2, 5, UNI_ECOMP } /* isecomp */, { 36, 3836, 9872, 17, 4, UNI_XPEO } /* scriptextensions=xpeo */, { 1808, 10027, 2223, 3, 3, UNI_JG__AIN } /* jg=ain */, { 0, 4116, 3735, 3, 16, UNI_INDICSIYAQNUMBERS } /* isindicsiyaqnumbers */, { 0, 10033, 2640, 3, 2, UNI_LB__BA } /* lb=ba */, { 0, 10346, 8682, 4, 5, UNI_ZZZZ } /* isunknown */, { 1, 9277, 9560, 3, 4, UNI_SC__GONG } /* sc=gong */, { 14, 5508, 1, 14, 1, -UNI_PATSYN } /* patternsyntax=n */, { 1, 10009, 8163, 3, 8, UNI_DT__FRA } /* dt=fraction */, { 13, 8589, 382, 7, 4, UNI_EGYP } /* script=egyp */, { 0, 2182, 5746, 21, 5, UNI_WB__EB } /* graphemeclusterbreak=ebase */, { 542, 184, 7368, 2, 10, UNI_SMALLFORMS } /* issmallforms */, { 0, 9240, 1, 5, 1, -UNI_DASH } /* dash=n */, { 0, 3836, 6840, 17, 4, UNI_NAND } /* scriptextensions=nand */, { 0, 9277, 6840, 3, 11, UNI_SC__NAND } /* sc=nandinagari */, { 0, 8780, 1723, 6, 23, UNI_SUPPUNCTUATION } /* block=supplementalpunctuation */, { 0, 9492, 17, 4, 1, UNI_BPT__O } /* bpt=o */, { 1, 3600, 0, 4, 0, UNI_UCAS } /* ucas */, { 329, 5578, 495, 14, 2, UNI_SB__NU } /* sentencebreak=nu */, { 0, 8780, 10051, 6, 3, UNI_OCR } /* block=ocr */, { 1295, 10296, 6506, 3, 7, UNI_PHAISTOS } /* isphaistos */, { 72, 3836, 9804, 17, 4, UNI_TALE } /* scriptextensions=tale */, { 0, 10027, 5396, 3, 14, UNI_JG__MANICHAEANRESH } /* jg=manichaeanresh */, { 4, 10048, 9904, 3, 3, UNI_NV__1_SLASH_5 } /* nv=1/5 */, { 2184, 133, 0, 4, 0, UNI_M } /* mark */, { 1, 184, 6609, 2, 10, UNI_DEP } /* isdeprecated */, { 76, 4688, 6433, 15, 12, UNI_IDENTIFIERTYPE__NOTCHARACTER } /* identifiertype=notcharacter */, { 0, 2224, 1295, 3, 24, UNI_SUPERANDSUB } /* insuperscriptsandsubscripts */, { 0, 9277, 3115, 3, 10, UNI_SC__DEVA } /* sc=devanagari */, { 0, 2224, 7379, 3, 9, UNI_SUPARROWSA } /* insuparrowsa */, { 0, 10048, 8027, 3, 8, UNI_NV__15_SLASH_2 } /* nv=7.50e+00 */, { 12, 1552, 44, 10, 1, UNI_SK } /* category=sk */, { 0, 184, 2560, 2, 4, UNI_MAND } /* ismand */, { 0, 9508, 8, 4, 1, UNI_CCC__A } /* ccc=a */, { 261, 6385, 0, 12, 0, UNI_GONM } /* masaramgondi */, { 1, 8780, 1393, 6, 24, UNI_ARABICPFB } /* block=arabicpresentationformsb */, { 62, 1417, 8568, 24, 7, UNI_CCC__1 } /* canonicalcombiningclass=overlay */, { 386, 5986, 7754, 13, 2, UNI_NV__11 } /* numericvalue=11 */, { 0, 9628, 0, 4, 0, UNI_LATN } /* latn */, { 0, 9275, 5634, 5, 14, UNI_INSC__VOWELDEPENDENT } /* insc=voweldependent */, { 0, 9444, 10114, 4, 3, UNI_AGE__6_DOT_3 } /* age=v63 */, { 139, 8780, 2608, 6, 6, UNI_INBRAHMI } /* block=brahmi */, { 0, 8780, 4289, 6, 16, UNI_MYANMAREXTB } /* block=myanmarextendedb */, { 91, 10060, 3, 3, 1, -UNI_RI } /* ri=f */, { 74, 8589, 9824, 7, 4, UNI_SC__TGLG } /* script=tglg */, { 15, 9277, 3753, 5, 15, UNI_KITS } /* sc=khitansmallscript */, { 0, 9676, 0, 4, 0, UNI_NARB } /* narb */, { 1, 2784, 7060, 4, 8, UNI_ARABICEXTA } /* inarabicexta */, { 6, 8589, 9876, 7, 4, UNI_XSUX } /* script=xsux */, { 0, 2280, 7280, 4, 8, UNI_XPEO } /* isoldpersian */, { 0, 184, 5674, 2, 12, UNI_BIDIM } /* isbidimirrored */, { 1305, 8894, 3, 6, 1, -UNI_JOINC } /* joinc=f */, { 13, 5791, 6337, 13, 12, UNI_JG__MALAYALAMNYA } /* joininggroup=malayalamnya */, { 798, 184, 1631, 2, 15, UNI_GEOMETRICSHAPES } /* isgeometricshapes */, { 1, 1188, 4386, 3, 15, UNI_TANGUTCOMPONENTS } /* intangutcomponents */, { 513, 10033, 1527, 3, 9, UNI_LB__SG } /* lb=surrogate */, { 5, 184, 7119, 3, 9, UNI_CHRS } /* ischorasmian */, { 224, 9712, 0, 4, 0, UNI_OSGE } /* osge */, { 0, 8267, 9836, 8, 4, UNI_RADICAL } /* radical=true */, { 59, 9768, 6973, 5, 10, UNI_SYLO } /* scx=sylotinagri */, { 1, 8780, 218, 7, 32, UNI_DIACRITICALSEXT } /* block=combiningdiacriticalmarksextended */, { 608, 5986, 9976, 13, 3, UNI_NV__5_SLASH_8 } /* numericvalue=5/8 */, { 2, 5986, 9360, 13, 4, UNI_NV___MINUS_1_SLASH_2 } /* numericvalue=-1/2 */, { 705, 10024, 5726, 3, 13, UNI_ME } /* gc=enclosingmark */, { 82, 8589, 4149, 8, 3, UNI_SARB } /* script=sarb */, { 0, 7418, 36, 10, 1, UNI_XPOSIXUPPER } /* uppercase=t */, { 0, 5791, 8918, 13, 6, UNI_JG__LAMADH } /* joininggroup=lamadh */, { 514, 8589, 8107, 7, 8, UNI_BALI } /* script=balinese */, { 0, 2161, 9836, 21, 4, UNI_EXTPICT } /* extendedpictographic=true */, { 64, 3836, 8187, 17, 4, UNI_HIRA } /* scriptextensions=hira */, { 16, 9488, 7239, 4, 2, UNI_INVS } /* blk=vs */, { 1616, 8589, 7428, 7, 10, UNI_WARA } /* script=warangciti */, { 0, 10288, 62, 8, 5, UNI_XPOSIXGRAPH } /* isxposixgraph */, { 1, 3379, 0, 6, 0, UNI_wspace_values_index } /* space= */, { 1042, 4658, 0, 15, 0, UNI_grext_values_index } /* graphemeextend= */, { 1, 10048, 9379, 3, 2, UNI_NV__41 } /* nv=41 */, { 5, 2280, 262, 3, 3, UNI_OSMA } /* isosma */, { 0, 1966, 4913, 22, 15, UNI_INSC__REGISTERSHIFTER } /* indicsyllabiccategory=registershifter */, { 0, 1812, 3, 22, 1, -UNI_CWL } /* changeswhenlowercased=f */, { 0, 184, 27, 2, 2, UNI_LOWERCASELETTER } /* isll */, { 0, 8780, 1879, 7, 21, UNI_CJKCOMPATIDEOGRAPHSSUP } /* block=cjkcompatideographssup */, { 0, 10048, 9412, 3, 4, UNI_NV__17_SLASH_2 } /* nv=17/2 */, { 0, 9262, 866, 3, 2, UNI_SB__SP } /* sb=sp */, { 37, 4838, 47, 15, 1, UNI_NFCQC__M } /* nfkcquickcheck=m */, { 224, 8589, 9664, 7, 4, UNI_MRO } /* script=mroo */, { 1, 9488, 689, 4, 30, UNI_CJKEXTG } /* blk=cjkunifiedideographsextensiong */, { 1, 184, 9285, 2, 5, UNI_LIMB } /* islimbu */, { 17, 5986, 7806, 13, 1, UNI_NV__6 } /* numericvalue=6 */, { 0, 7540, 26, 9, 1, UNI_EXT } /* extender=y */, { 607, 9277, 9320, 3, 5, UNI_OSGE } /* sc=osage */, { 2, 9768, 8618, 5, 6, UNI_SOYO } /* scx=soyombo */, { 0, 5746, 36, 6, 1, UNI_EBASE } /* ebase=t */, { 0, 3836, 8990, 17, 6, UNI_RJNG } /* scriptextensions=rejang */, { 5, 9768, 9696, 4, 4, UNI_OGAM } /* scx=ogam */, { 4, 3374, 3, 11, 1, -UNI_XPOSIXSPACE } /* whitespace=f */, { 12, 184, 1901, 3, 5, UNI_ZYYY } /* iscommon */, { 546, 10296, 7685, 3, 8, UNI_PAUC } /* ispaucinhau */, { 0, 6469, 5904, 12, 4, UNI_NV__NAN } /* numerictype=none */, { 80, 9277, 4793, 3, 15, UNI_MERC } /* sc=meroiticcursive */, { 128, 8780, 6554, 6, 3, UNI_INIDC } /* block=idc */, { 2, 9444, 7979, 4, 3, UNI_AGE__6 } /* age=6.0 */, { 0, 1269, 0, 25, 0, UNI_compex_values_index } /* fullcompositionexclusion= */, { 1040, 9277, 8464, 4, 6, UNI_SC__KALI } /* sc=kayahli */, { 1, 1417, 9203, 24, 2, UNI_CCC__34 } /* canonicalcombiningclass=34 */, { 29, 3836, 6181, 17, 12, UNI_GONG } /* scriptextensions=gunjalagondi */, { 0, 3151, 1, 18, 1, -UNI_EPRES } /* emojipresentation=n */, { 45, 5791, 6373, 13, 12, UNI_JG__MANICHAEANPE } /* joininggroup=manichaeanpe */, { 0, 2224, 8611, 3, 6, UNI_INSIDDHAM } /* insiddham */, { 24, 6061, 1, 12, 1, -UNI_BIDIC } /* bidicontrol=n */, { 4, 184, 6505, 2, 12, UNI_PHAISTOS } /* isphaistosdisc */, { 0, 5986, 9405, 13, 3, UNI_NV__3_SLASH_2 } /* numericvalue=3/2 */, { 0, 1552, 4568, 9, 14, UNI_SC } /* category=currencysymbol */, { 80, 10333, 9789, 3, 3, UNI_SHRD } /* isshrd */, { 3, 9275, 3615, 5, 17, UNI_INSC__CONSONANTPREFIXED } /* insc=consonantprefixed */, { 0, 9508, 7930, 4, 2, UNI_CCC__14 } /* ccc=14 */, { 0, 9277, 6409, 3, 12, UNI_MEND } /* sc=mendekikakui */, { 33, 9277, 9576, 3, 4, UNI_SC__GURU } /* sc=guru */, { 0, 4916, 4929, 3, 7, UNI_TAMILSUP } /* istamilsup */, { 18, 9488, 3938, 5, 10, UNI_BOPOMOFOEXT } /* blk=bopomofoext */, { 19, 184, 2608, 2, 4, UNI_BRAH } /* isbrah */, { 1, 9488, 8900, 4, 6, UNI_INKAITHI } /* blk=kaithi */, { 0, 5791, 6950, 13, 11, UNI_JG__STRAIGHTWAW } /* joininggroup=straightwaw */, { 16, 9262, 1867, 3, 5, UNI_SB__UP } /* sb=upper */, { 2, 4916, 8667, 3, 6, UNI_TIRH } /* istirhuta */, { 3, 8267, 9255, 8, 5, -UNI_RADICAL } /* radical=false */, { 2185, 9488, 4129, 4, 6, UNI_LATIN1 } /* blk=latin1 */, { 986, 184, 2099, 3, 20, UNI_CJKCOMPATFORMS } /* iscjkcompatibilityforms */, { 680, 3901, 8181, 4, 6, UNI_INGURMUKHI } /* ingurmukhi */, { 1185, 1188, 8584, 3, 3, UNI_TAGS } /* intags */, { 242, 9768, 8604, 5, 6, UNI_SHAW } /* scx=shavian */, { 0, 184, 3576, 3, 2, UNI_CWL } /* iscwl */, { 0, 1417, 9925, 24, 3, UNI_CCC__BL } /* canonicalcombiningclass=218 */, { 436, 3836, 6385, 17, 12, UNI_GONM } /* scriptextensions=masaramgondi */, { 0, 184, 9568, 2, 4, UNI_GREK } /* isgrek */, { 6, 4542, 4051, 4, 9, UNI_GEORGIANEXT } /* ingeorgianext */, { 0, 3836, 9032, 17, 6, UNI_WCHO } /* scriptextensions=wancho */, { 0, 4688, 8972, 15, 6, UNI_IDENTIFIERTYPE__NOTXID } /* identifiertype=notxid */, { 1, 9520, 10135, 4, 3, UNI_CWL } /* cwl=yes */, { 232, 184, 1823, 2, 5, UNI_XPOSIXLOWER } /* islower */, { 2, 184, 6265, 2, 12, UNI_NL } /* isletternumber */, { 462, 9508, 9952, 4, 3, UNI_CCC__IS } /* ccc=240 */, { 133, 3836, 8470, 17, 7, UNI_LINA } /* scriptextensions=lineara */, { 164, 9716, 9255, 4, 5, -UNI_PCM } /* pcm=false */, { 1876, 10333, 1537, 3, 3, UNI_SIND } /* issind */, { 0, 9508, 8805, 5, 4, UNI_CCC__11 } /* ccc=ccc11 */, { 3, 8589, 4478, 7, 7, UNI_BRAI } /* script=braille */, { 17, 9508, 8819, 4, 3, UNI_CCC__129 } /* ccc=129 */, { 1, 3349, 0, 18, 0, UNI_ZP } /* paragraphseparator */, { 2098, 8780, 4385, 6, 6, UNI_INTANGUT } /* block=tangut */, { 0, 10027, 10021, 3, 3, UNI_JG__GAF } /* jg=gaf */, { 0, 7218, 5999, 10, 13, UNI_LB__PR } /* linebreak=prefixnumeric */, { 49, 1417, 9111, 25, 4, UNI_CCC__16 } /* canonicalcombiningclass=ccc16 */, { 45, 2779, 1025, 19, 2, -UNI_IDST } /* idstrinaryoperator=no */, { 0, 5324, 5949, 4, 11, UNI_MAYANNUMERALS } /* inmayannumerals */, { 216, 7218, 1465, 10, 13, UNI_LB__CM } /* linebreak=combiningmark */, { 1408, 4337, 0, 16, 0, UNI_SUPMATHOPERATORS } /* supmathoperators */, { 0, 1552, 2349, 9, 20, UNI_PC } /* category=connectorpunctuation */, { 0, 8930, 36, 6, 1, UNI_XPOSIXLOWER } /* lower=t */, { 0, 5578, 751, 14, 5, UNI_SB__CL } /* sentencebreak=close */, { 0, 5791, 0, 13, 0, UNI_jg_values_index } /* joininggroup= */, { 8, 184, 2912, 2, 12, UNI_SUNDANESESUP } /* issundanesesup */, { 1363, 5494, 0, 14, 0, UNI_MN } /* nonspacingmark */, { 0, 9488, 8491, 4, 7, UNI_INMARCHEN } /* blk=marchen */, { 0, 3836, 6973, 18, 3, UNI_SYLO } /* scriptextensions=sylo */, { 0, 7388, 0, 10, 0, UNI_SUPARROWSB } /* suparrowsb */, { 927, 9768, 9756, 4, 4, UNI_RUNR } /* scx=runr */, { 0, 3151, 9255, 18, 5, -UNI_EPRES } /* emojipresentation=false */, { 0, 6420, 8562, 3, 6, UNI_INOSMANYA } /* inosmanya */, { 5, 9488, 1006, 4, 17, UNI_ANCIENTGREEKMUSIC } /* blk=ancientgreekmusic */, { 0, 9556, 10015, 4, 3, UNI_WB__EB } /* gcb=ebg */, { 0, 8780, 867, 6, 18, UNI_PHONETICEXT } /* block=phoneticextensions */, { 0, 3836, 9644, 17, 4, UNI_MEDF } /* scriptextensions=medf */, { 0, 5986, 7931, 13, 8, UNI_NV__5_SLASH_12 } /* numericvalue=4.17e-01 */, { 0, 9275, 728, 5, 6, UNI_INSC__NUMBER } /* insc=number */, { 1, 5986, 8720, 13, 5, UNI_NV__40000 } /* numericvalue=40000 */, { 769, 5791, 5934, 13, 13, UNI_JG__MANICHAEANWAW } /* joininggroup=manichaeanwaw */, { 2308, 3836, 5003, 17, 15, UNI_ZANB } /* scriptextensions=zanabazarsquare */, { 10, 2784, 1371, 4, 22, UNI_ARABICPFA } /* inarabicpresentationformsa */, { 0, 9492, 1, 4, 1, UNI_BPT__N } /* bpt=n */, { 1, 9780, 0, 4, 0, UNI_SHAW } /* shaw */, { 40, 7076, 1586, 3, 13, UNI_BYZANTINEMUSIC } /* inbyzantinemusic */, { 0, 9488, 9096, 5, 4, UNI_INBUHID } /* blk=buhid */, { 1364, 8589, 2560, 7, 4, UNI_SC__MAND } /* script=mand */, { 541, 2280, 7668, 4, 7, UNI_ORKH } /* isoldturkic */, { 11, 10048, 9372, 3, 3, UNI_NV__1_SLASH_4 } /* nv=1/4 */, { 0, 3836, 9608, 17, 4, UNI_KITS } /* scriptextensions=kits */, { 1, 9277, 7651, 3, 4, UNI_ITAL } /* sc=ital */, { 0, 8780, 8171, 6, 8, UNI_INGUJARATI } /* block=gujarati */, { 4, 10027, 4763, 3, 15, UNI_JG__MANICHAEANSADHE } /* jg=manichaeansadhe */, { 2560, 8780, 3421, 6, 18, UNI_RUMI } /* block=ruminumeralsymbols */, { 691, 10027, 5918, 3, 3, UNI_JG__TAW } /* jg=taw */, { 1, 10024, 5040, 3, 5, UNI_XPOSIXDIGIT } /* gc=digit */, { 0, 8780, 1922, 6, 22, UNI_DIACRITICALSFORSYMBOLS } /* block=diacriticalsforsymbols */, { 7, 9768, 9460, 4, 4, UNI_ARMI } /* scx=armi */, { 0, 9768, 2329, 4, 20, UNI_HLUW } /* scx=anatolianhieroglyphs */, { 786, 1552, 5726, 9, 13, UNI_ME } /* category=enclosingmark */, { 5, 8267, 3, 8, 1, -UNI_RADICAL } /* radical=f */, { 3779, 8780, 1369, 6, 24, UNI_ARABICPFA } /* block=arabicpresentationformsa */, { 0, 7438, 400, 10, 6, UNI_WB__FO } /* wordbreak=format */, { 1028, 7218, 1527, 10, 9, UNI_LB__SG } /* linebreak=surrogate */, { 0, 9768, 9656, 4, 4, UNI_MIAO } /* scx=miao */, { 0, 9277, 9285, 3, 4, UNI_SC__LIMB } /* sc=limb */, { 21, 9444, 10105, 4, 3, UNI_AGE__6 } /* age=v60 */, { 0, 4448, 0, 15, 0, UNI_BAMUMSUP } /* bamumsupplement */, { 404, 184, 9245, 2, 5, UNI_DOGR } /* isdogra */, { 0, 3169, 0, 11, 0, UNI_ETHIOPICSUP } /* ethiopicsup */, { 833, 184, 4448, 2, 15, UNI_BAMUMSUP } /* isbamumsupplement */, { 0, 9488, 2722, 4, 10, UNI_JAMO } /* blk=hanguljamo */, { 11, 9696, 0, 4, 0, UNI_OGAM } /* ogam */, { 1713, 8589, 9335, 7, 4, UNI_SC__TAKR } /* script=takr */, { 5, 10060, 9836, 3, 4, UNI_RI } /* ri=true */, { 0, 8780, 7068, 6, 10, UNI_ASCII } /* block=basiclatin */, { 16, 9796, 0, 4, 0, UNI_SYRC } /* syrc */, { 1097, 6576, 1, 11, 1, -UNI_XPOSIXALPHA } /* alphabetic=n */, { 0, 4033, 10168, 16, 2, UNI_CASEDLETTER } /* generalcategory=l& */, { 0, 7076, 3938, 3, 7, UNI_INBOPOMOFO } /* inbopomofo */, { 0, 8780, 3796, 7, 3, UNI_INCHAM } /* block=cham */, { 18, 184, 6884, 2, 11, UNI_HMNG } /* ispahawhhmong */, { 1061, 8147, 1, 8, 1, -UNI_EXTPICT } /* extpict=n */, { 1898, 10296, 472, 3, 2, UNI_PUA } /* ispua */, { 1, 9786, 1702, 4, 21, UNI_SHORTHANDFORMATCONTROLS } /* inshorthandformatcontrols */, { 1921, 8780, 1442, 7, 23, UNI_CJKSYMBOLS } /* block=cjksymbolsandpunctuation */, { 5, 4808, 0, 15, 0, UNI_MISCPICTOGRAPHS } /* miscpictographs */, { 0, 1966, 1244, 22, 25, UNI_INSC__CONSONANTINITIALPOSTFIXED } /* indicsyllabiccategory=consonantinitialpostfixed */, { 576, 5986, 8756, 13, 4, UNI_NV__9000 } /* numericvalue=9000 */, { 2, 8780, 8380, 7, 6, UNI_CJKEXTE } /* block=cjkexte */, { 0, 9488, 316, 4, 33, UNI_SUPMATHOPERATORS } /* blk=supplementalmathematicaloperators */, { 243, 9488, 659, 4, 30, UNI_CJKEXTF } /* blk=cjkunifiedideographsextensionf */, { 0, 184, 9664, 2, 4, UNI_MRO } /* ismroo */, { 0, 9488, 3439, 4, 12, UNI_SMALLKANAEXT } /* blk=smallkanaext */, { 184, 184, 6253, 2, 12, UNI_KHMERSYMBOLS } /* iskhmersymbols */, { 476, 3836, 7278, 17, 10, UNI_XPEO } /* scriptextensions=oldpersian */, { 0, 8666, 0, 4, 0, UNI_TIRH } /* tirh */, { 224, 184, 2409, 2, 20, UNI_GLAGOLITICSUP } /* isglagoliticsupplement */, { 626, 8589, 5284, 7, 4, UNI_LISU } /* script=lisu */, { 20, 2280, 1061, 3, 26, UNI_OCR } /* isopticalcharacterrecognition */, { 568, 9277, 8299, 3, 8, UNI_TFNG } /* sc=tifinagh */, { 0, 6205, 10135, 12, 3, UNI_IDEO } /* ideographic=yes */, { 0, 5713, 0, 13, 0, UNI_XPOSIXDIGIT } /* decimalnumber */, { 0, 21, 7576, 2, 9, UNI_LATINEXTB } /* inlatinextb */, { 3194, 10048, 8720, 3, 2, UNI_NV__40 } /* nv=40 */, { 0, 5791, 5921, 13, 13, UNI_JG__MANICHAEANTEN } /* joininggroup=manichaeanten */, { 4, 6231, 4560, 9, 8, UNI_CONTROLPICTURES } /* incontrolpictures */, { 1284, 8768, 10135, 6, 3, UNI_BIDIC } /* bidic=yes */, { 3068, 2268, 0, 2, 0, UNI_PD } /* pd */, { 0, 6553, 1025, 12, 2, -UNI_XIDC } /* xidcontinue=no */, { 14, 184, 132, 2, 2, UNI_LM } /* islm */, { 8, 8589, 6481, 7, 12, UNI_HUNG } /* script=oldhungarian */, { 0, 10132, 7612, 3, 6, UNI_WB__MN } /* wb=midnum */, { 0, 4033, 6035, 16, 2, UNI_PF } /* generalcategory=pf */, { 4, 9520, 26, 4, 1, UNI_CWL } /* cwl=y */, { 1, 5986, 7469, 13, 1, UNI_NV__5 } /* numericvalue=5 */, { 0, 9488, 4449, 5, 14, UNI_BAMUMSUP } /* blk=bamumsupplement */, { 4, 8780, 908, 6, 14, UNI_PUA } /* block=privateusearea */, { 2707, 8694, 1, 7, 1, -UNI_XPOSIXSPACE } /* wspace=n */, { 292, 3683, 0, 17, 0, UNI_ETHIOPICEXTA } /* ethiopicextendeda */, { 0, 9768, 8680, 4, 7, UNI_ZZZZ } /* scx=unknown */, { 323, 4791, 2062, 3, 14, UNI_MODIFIERLETTERS } /* inmodifierletters */, { 20, 7028, 7028, 3, 10, UNI_YISYLLABLES } /* isyisyllables */, { 1, 9624, 0, 3, 0, UNI_LAO } /* lao */, { 2, 8870, 9255, 6, 5, -UNI_EPRES } /* epres=false */, { 529, 3836, 7694, 18, 8, UNI_SAMR } /* scriptextensions=samaritan */, { 3055, 9444, 9979, 4, 3, UNI_AGE__6_DOT_1 } /* age=6.1 */, { 3202, 10012, 7486, 3, 9, UNI_EA__A } /* ea=ambiguous */, { 0, 1417, 9208, 24, 2, UNI_CCC__35 } /* canonicalcombiningclass=35 */, { 1, 184, 9688, 2, 3, UNI_NKO } /* isnko */, { 0, 9350, 10135, 5, 3, UNI_XIDS } /* xids=yes */, { 161, 7418, 9836, 10, 4, UNI_XPOSIXUPPER } /* uppercase=true */, { 0, 1552, 47, 10, 1, UNI_SM } /* category=sm */, { 0, 9277, 9568, 3, 4, UNI_SC__GREK } /* sc=grek */, { 0, 8589, 6193, 7, 6, UNI_HEBR } /* script=hebrew */, { 3120, 184, 5550, 2, 14, UNI_PHLP } /* ispsalterpahlavi */, { 1046, 7155, 6321, 3, 3, UNI_HMNG } /* ishmng */, { 0, 8984, 26, 6, 1, UNI_QMARK } /* qmark=y */, { 73, 1218, 0, 8, 0, UNI_KANA } /* katakana */, { 0, 8589, 8344, 7, 4, UNI_SC__BENG } /* script=beng */, { 1289, 7, 0, 18, 0, UNI_CANS } /* canadianaboriginal */, { 1836, 1591, 3170, 3, 17, UNI_ETHIOPICSUP } /* inethiopicsupplement */, { 3201, 5032, 10135, 14, 3, UNI_POSIXXDIGIT } /* asciihexdigit=yes */, { 7, 8449, 1025, 7, 2, -UNI_HYPHEN } /* hyphen=no */, { 136, 9488, 1911, 4, 11, UNI_NUMBERFORMS } /* blk=numberforms */, { 1674, 9508, 7933, 4, 2, UNI_CCC__17 } /* ccc=17 */, { 0, 8512, 47, 7, 1, UNI_NFCQC__M } /* nfkcqc=m */, { 139, 9786, 8605, 4, 5, UNI_SHAW } /* inshavian */, { 0, 6420, 7658, 3, 8, UNI_INOLDPERMIC } /* inoldpermic */, { 0, 1654, 0, 6, 0, UNI_HANG } /* hangul */, { 0, 5578, 0, 16, 0, UNI_SB__SP } /* sentencebreak=sp */, { 332, 4033, 1025, 16, 2, UNI_NO } /* generalcategory=no */, { 2690, 1417, 9218, 24, 2, UNI_CCC__84 } /* canonicalcombiningclass=84 */, { 0, 1189, 11, 3, 2, UNI_NT__DI } /* nt=di */, { 12, 7218, 1140, 10, 26, UNI_LB__CJ } /* linebreak=conditionaljapanesestarter */, { 3801, 6241, 6994, 12, 11, UNI_JT__T } /* joiningtype=transparent */, { 0, 8688, 3548, 3, 9, UNI_ALCHEMICAL } /* isalchemical */, { 816, 6554, 1025, 11, 2, -UNI_IDC } /* idcontinue=no */, { 1, 10176, 0, 2, 0, UNI_ZL } /* zl */, { 24, 9250, 0, 6, 0, -UNI_EMOD } /* emod=f */, { 0, 1790, 9255, 22, 5, -UNI_CWCM } /* changeswhencasemapped=false */, { 2428, 10027, 9744, 3, 4, UNI_JG__QAPH } /* jg=qaph */, { 1, 3853, 26, 17, 1, UNI_STERM } /* sentenceterminal=y */, { 2398, 4542, 3243, 4, 6, UNI_INGEORGIAN } /* ingeorgian */, { 531, 184, 9676, 2, 4, UNI_NARB } /* isnarb */, { 12, 8780, 7693, 6, 9, UNI_INSAMARITAN } /* block=samaritan */, { 5, 1417, 8805, 25, 4, UNI_CCC__11 } /* canonicalcombiningclass=ccc11 */, { 0, 9488, 4369, 4, 9, UNI_SYRIACSUP } /* blk=syriacsup */, { 4367, 8780, 5752, 6, 8, UNI_GREEKEXT } /* block=greekext */, { 0, 1537, 1924, 4, 20, UNI_DIACRITICALSFORSYMBOLS } /* indiacriticalsforsymbols */, { 0, 3836, 8561, 17, 4, UNI_OSMA } /* scriptextensions=osma */, { 3590, 9508, 8811, 5, 4, UNI_CCC__12 } /* ccc=ccc12 */, { 7694, 509, 0, 30, 0, UNI_CJKEXTA } /* cjkunifiedideographsextensiona */, { 0, 8780, 6277, 6, 12, UNI_MAHJONG } /* block=mahjongtiles */, { 4, 5986, 5648, 13, 4, UNI_NV__1000 } /* numericvalue=1000 */, { 0, 2280, 4870, 4, 13, UNI_NARB } /* isoldnortharabian */, { 7122, 8780, 3751, 6, 17, UNI_INKHITANSMALLSCRIPT } /* block=khitansmallscript */, { 5, 9277, 8219, 3, 4, UNI_SC__JAVA } /* sc=java */ }; MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) { const unsigned char * ptr= key; const unsigned char * ptr_end= key + key_len; U32 h= MPH_SEED1; U32 s; U32 n; do { h ^= NATIVE_TO_LATIN1(*ptr); /* table collated in Latin1 */ h *= MPH_FNV_CONST; } while ( ++ptr < ptr_end ); n= h % MPH_BUCKETS; s = mph_table[n].seed2; if (s) { h= (h >> MPH_RSHIFT) ^ s; n = h % MPH_BUCKETS; if ( ( mph_table[n].pfx_len + mph_table[n].sfx_len == key_len ) && ( memcmp(mph_blob + mph_table[n].pfx, key, mph_table[n].pfx_len) == 0 ) && ( !mph_table[n].sfx_len || memcmp(mph_blob + mph_table[n].sfx, key + mph_table[n].pfx_len, mph_table[n].sfx_len) == 0 ) ) { return mph_table[n].value; } } return 0; } /* Generated from: * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl * 6bbad21de0848e0236b02f34f5fa0edd3cdae9ba8173cc9469a5513936b9e728 regen/mk_PL_charclass.pl * 7a7e778e903508b1c244a77bae57ec57606ab775bb5f81719dbb122eb66d4259 regen/mk_invlists.pl * cf1d68efb7d919d302c4005641eae8d36da6d7850816ad374b0c00b45e609f43 regen/mph.pl * ex: set ro: */ hv_func.h 0000644 00000026412 15140731057 0006355 0 ustar 00 /* hash a key *-------------------------------------------------------------------------------------- * The "hash seed" feature was added in Perl 5.8.1 to perturb the results * to avoid "algorithmic complexity attacks". * * If USE_HASH_SEED is defined, hash randomisation is done by default * (see also perl.c:perl_parse() and S_init_tls_and_interp() and util.c:get_hash_seed()) */ #ifndef PERL_SEEN_HV_FUNC_H /* compile once */ #define PERL_SEEN_HV_FUNC_H #include "hv_macro.h" #if !( 0 \ || defined(PERL_HASH_FUNC_SIPHASH) \ || defined(PERL_HASH_FUNC_SIPHASH13) \ || defined(PERL_HASH_FUNC_STADTX) \ || defined(PERL_HASH_FUNC_ZAPHOD32) \ ) # ifdef CAN64BITHASH # define PERL_HASH_FUNC_STADTX # else # define PERL_HASH_FUNC_ZAPHOD32 # endif #endif #ifndef PERL_HASH_USE_SBOX32_ALSO #define PERL_HASH_USE_SBOX32_ALSO 1 #endif #ifndef SBOX32_MAX_LEN #define SBOX32_MAX_LEN 24 #endif /* this must be after the SBOX32_MAX_LEN define */ #include "sbox32_hash.h" #if defined(PERL_HASH_FUNC_SIPHASH) # define __PERL_HASH_FUNC "SIPHASH_2_4" # define __PERL_HASH_SEED_BYTES 16 # define __PERL_HASH_STATE_BYTES 32 # define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_2_4_with_state((state),(U8*)(str),(len)) #elif defined(PERL_HASH_FUNC_SIPHASH13) # define __PERL_HASH_FUNC "SIPHASH_1_3" # define __PERL_HASH_SEED_BYTES 16 # define __PERL_HASH_STATE_BYTES 32 # define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_1_3_with_state((state),(U8*)(str),(len)) #elif defined(PERL_HASH_FUNC_STADTX) # define __PERL_HASH_FUNC "STADTX" # define __PERL_HASH_SEED_BYTES 16 # define __PERL_HASH_STATE_BYTES 32 # define __PERL_HASH_SEED_STATE(seed,state) stadtx_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) (U32)stadtx_hash_with_state((state),(U8*)(str),(len)) # include "stadtx_hash.h" #elif defined(PERL_HASH_FUNC_ZAPHOD32) # define __PERL_HASH_FUNC "ZAPHOD32" # define __PERL_HASH_SEED_BYTES 12 # define __PERL_HASH_STATE_BYTES 12 # define __PERL_HASH_SEED_STATE(seed,state) zaphod32_seed_state(seed,state) # define __PERL_HASH_WITH_STATE(state,str,len) (U32)zaphod32_hash_with_state((state),(U8*)(str),(len)) # include "zaphod32_hash.h" #endif #ifndef __PERL_HASH_WITH_STATE #error "No hash function defined!" #endif #ifndef __PERL_HASH_SEED_BYTES #error "__PERL_HASH_SEED_BYTES not defined" #endif #ifndef __PERL_HASH_FUNC #error "__PERL_HASH_FUNC not defined" #endif #if PERL_HASH_USE_SBOX32_ALSO != 1 # define _PERL_HASH_FUNC __PERL_HASH_FUNC # define _PERL_HASH_SEED_BYTES __PERL_HASH_SEED_BYTES # define _PERL_HASH_STATE_BYTES __PERL_HASH_STATE_BYTES # define _PERL_HASH_SEED_STATE(seed,state) __PERL_HASH_SEED_STATE(seed,state) # define _PERL_HASH_WITH_STATE(state,str,len) __PERL_HASH_WITH_STATE(state,str,len) #else #define _PERL_HASH_FUNC "SBOX32_WITH_" __PERL_HASH_FUNC #define _PERL_HASH_SEED_BYTES ( __PERL_HASH_SEED_BYTES + (int)( 3 * sizeof(U32) ) ) #define _PERL_HASH_STATE_BYTES \ ( __PERL_HASH_STATE_BYTES + ( ( 1 + ( 256 * SBOX32_MAX_LEN ) ) * sizeof(U32) ) ) #define _PERL_HASH_SEED_STATE(seed,state) STMT_START { \ __PERL_HASH_SEED_STATE(seed,state); \ sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES); \ } STMT_END #define _PERL_HASH_WITH_STATE(state,str,len) \ (LIKELY(len <= SBOX32_MAX_LEN) \ ? sbox32_hash_with_state((state + __PERL_HASH_STATE_BYTES),(U8*)(str),(len)) \ : __PERL_HASH_WITH_STATE((state),(str),(len))) #endif PERL_STATIC_INLINE U32 S_perl_hash_with_seed(const U8 * const seed, const U8 * const str, const STRLEN len) { U8 state[_PERL_HASH_STATE_BYTES]; _PERL_HASH_SEED_STATE(seed,state); return _PERL_HASH_WITH_STATE(state,str,len); } #define PERL_HASH_WITH_SEED(seed,hash,str,len) \ (hash) = S_perl_hash_with_seed((const U8 *) seed, (const U8 *) str,len) #define PERL_HASH_WITH_STATE(state,hash,str,len) \ (hash) = _PERL_HASH_WITH_STATE((state),(U8*)(str),(len)) #define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state) #define PERL_HASH_SEED_BYTES _PERL_HASH_SEED_BYTES #define PERL_HASH_STATE_BYTES _PERL_HASH_STATE_BYTES #define PERL_HASH_FUNC _PERL_HASH_FUNC #ifdef PERL_USE_SINGLE_CHAR_HASH_CACHE #define PERL_HASH(state,str,len) \ (hash) = ((len) < 2 ? ( (len) == 0 ? PL_hash_chars[256] : PL_hash_chars[(U8)(str)[0]] ) \ : _PERL_HASH_WITH_STATE(PL_hash_state,(U8*)(str),(len))) #else #define PERL_HASH(hash,str,len) \ PERL_HASH_WITH_STATE(PL_hash_state,hash,(U8*)(str),(len)) #endif /* Setup the hash seed, either we do things dynamically at start up, * including reading from the environment, or we randomly setup the * seed. The seed will be passed into the PERL_HASH_SEED_STATE() function * defined for the configuration defined for this perl, which will then * initialize whatever state it might need later in hashing. */ #ifndef PERL_HASH_SEED # if defined(USE_HASH_SEED) # define PERL_HASH_SEED PL_hash_seed # else /* this is a 512 bit seed, which should be more than enough for the * configuration of any of our hash functions (with or without sbox). * If you actually use a hard coded seed, you are strongly encouraged * to replace this with something else of the correct length * for the hash function you are using (24-32 bytes depending on build * options). Repeat, you are *STRONGLY* encouraged not to use the value * provided here. */ # define PERL_HASH_SEED \ ((const U8 *)"A long string of pseudorandomly " \ "chosen bytes for hashing in Perl") # endif #endif /* legacy - only mod_perl should be doing this. */ #ifdef PERL_HASH_INTERNAL_ACCESS #define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH(hash,str,len) #endif /* This is SipHash by Jean-Philippe Aumasson and Daniel J. Bernstein. * The authors claim it is relatively secure compared to the alternatives * and that performance wise it is a suitable hash for languages like Perl. * See: * * https://www.131002.net/siphash/ * * This implementation seems to perform slightly slower than one-at-a-time for * short keys, but degrades slower for longer keys. Murmur Hash outperforms it * regardless of keys size. * * It is 64 bit only. */ #ifdef CAN64BITHASH #define SIPROUND \ STMT_START { \ v0 += v1; v1=ROTL64(v1,13); v1 ^= v0; v0=ROTL64(v0,32); \ v2 += v3; v3=ROTL64(v3,16); v3 ^= v2; \ v0 += v3; v3=ROTL64(v3,21); v3 ^= v0; \ v2 += v1; v1=ROTL64(v1,17); v1 ^= v2; v2=ROTL64(v2,32); \ } STMT_END #define SIPHASH_SEED_STATE(key,v0,v1,v2,v3) \ do { \ v0 = v2 = U8TO64_LE(key + 0); \ v1 = v3 = U8TO64_LE(key + 8); \ /* "somepseudorandomlygeneratedbytes" */ \ v0 ^= UINT64_C(0x736f6d6570736575); \ v1 ^= UINT64_C(0x646f72616e646f6d); \ v2 ^= UINT64_C(0x6c7967656e657261); \ v3 ^= UINT64_C(0x7465646279746573); \ } while (0) PERL_STATIC_INLINE void S_perl_siphash_seed_state(const unsigned char * const seed_buf, unsigned char * state_buf) { U64 *v= (U64*) state_buf; SIPHASH_SEED_STATE(seed_buf, v[0],v[1],v[2],v[3]); } #define PERL_SIPHASH_FNC(FNC,SIP_ROUNDS,SIP_FINAL_ROUNDS) \ PERL_STATIC_INLINE U64 \ FNC ## _with_state_64 \ (const unsigned char * const state, const unsigned char *in, const STRLEN inlen) \ { \ const int left = inlen & 7; \ const U8 *end = in + inlen - left; \ \ U64 b = ( ( U64 )(inlen) ) << 56; \ U64 m; \ U64 v0 = U8TO64_LE(state); \ U64 v1 = U8TO64_LE(state+8); \ U64 v2 = U8TO64_LE(state+16); \ U64 v3 = U8TO64_LE(state+24); \ \ for ( ; in != end; in += 8 ) \ { \ m = U8TO64_LE( in ); \ v3 ^= m; \ \ SIP_ROUNDS; \ \ v0 ^= m; \ } \ \ switch( left ) \ { \ case 7: b |= ( ( U64 )in[ 6] ) << 48; /*FALLTHROUGH*/ \ case 6: b |= ( ( U64 )in[ 5] ) << 40; /*FALLTHROUGH*/ \ case 5: b |= ( ( U64 )in[ 4] ) << 32; /*FALLTHROUGH*/ \ case 4: b |= ( ( U64 )in[ 3] ) << 24; /*FALLTHROUGH*/ \ case 3: b |= ( ( U64 )in[ 2] ) << 16; /*FALLTHROUGH*/ \ case 2: b |= ( ( U64 )in[ 1] ) << 8; /*FALLTHROUGH*/ \ case 1: b |= ( ( U64 )in[ 0] ); break; \ case 0: break; \ } \ \ v3 ^= b; \ \ SIP_ROUNDS; \ \ v0 ^= b; \ \ v2 ^= 0xff; \ \ SIP_FINAL_ROUNDS \ \ b = v0 ^ v1 ^ v2 ^ v3; \ return b; \ } \ \ PERL_STATIC_INLINE U32 \ FNC ## _with_state \ (const unsigned char * const state, const unsigned char *in, const STRLEN inlen) \ { \ union { \ U64 h64; \ U32 h32[2]; \ } h; \ h.h64= FNC ## _with_state_64(state,in,inlen); \ return h.h32[0] ^ h.h32[1]; \ } \ \ \ PERL_STATIC_INLINE U32 \ FNC (const unsigned char * const seed, const unsigned char *in, const STRLEN inlen) \ { \ U64 state[4]; \ SIPHASH_SEED_STATE(seed,state[0],state[1],state[2],state[3]); \ return FNC ## _with_state((U8*)state,in,inlen); \ } PERL_SIPHASH_FNC( S_perl_hash_siphash_1_3 ,SIPROUND; ,SIPROUND;SIPROUND;SIPROUND; ) PERL_SIPHASH_FNC( S_perl_hash_siphash_2_4 ,SIPROUND;SIPROUND; ,SIPROUND;SIPROUND;SIPROUND;SIPROUND; ) #endif /* defined(CAN64BITHASH) */ #endif /*compile once*/ /* * ex: set ts=8 sts=4 sw=4 et: */ mg_data.h 0000644 00000011635 15140731057 0006322 0 ustar 00 { /* sv '\0' Special scalar variable */ want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* arylen '#' Array length ($#ary) */ want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC, 0, /* rhash '%' Extra data for restricted hashes */ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC, 0, 0, 0, 0, /* debugvar '*' $DB::single, signal, trace vars */ want_vtbl_debugvar, 0, 0, 0, /* pos '.' pos() lvalue */ want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* symtab ':' Extra data for symbol tables */ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC, 0, /* backref '<' For weak ref data */ want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC, 0, 0, 0, /* arylen_p '@' To move arylen out of XPVAV */ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC, 0, /* bm 'B' Boyer-Moore (fast string search) */ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC, 0, /* regdata 'D' Regex match position data (@+ and @- vars) */ want_vtbl_regdata, /* env 'E' %ENV hash */ want_vtbl_env, 0, 0, /* hints 'H' %^H hash */ want_vtbl_hints, /* isa 'I' @ISA array */ want_vtbl_isa, 0, 0, /* dbfile 'L' Debugger %_<filename */ magic_vtable_max, 0, 0, 0, /* tied 'P' Tied array or hash */ want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC, 0, 0, /* sig 'S' %SIG hash */ magic_vtable_max, 0, /* uvar 'U' Available for use by extensions */ want_vtbl_uvar, /* vstring 'V' SV was vstring literal */ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC, 0, 0, /* nonelem 'Y' Array element that does not exist */ want_vtbl_nonelem | PERL_MAGIC_VALUE_MAGIC, 0, 0, /* lvref '\' Lvalue reference constructor */ want_vtbl_lvref, /* checkcall ']' Inlining/mutation of call to this CV */ want_vtbl_checkcall | PERL_MAGIC_VALUE_MAGIC, 0, 0, 0, 0, 0, /* overload_table 'c' Holds overload table (AMT) on stash */ want_vtbl_ovrld, /* regdatum 'd' Regex match position data element */ want_vtbl_regdatum, /* envelem 'e' %ENV hash element */ want_vtbl_envelem, /* fm 'f' Formline ('compiled' format) */ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC, /* regex_global 'g' m//g target */ want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC, /* hintselem 'h' %^H hash element */ want_vtbl_hintselem, /* isaelem 'i' @ISA array element */ want_vtbl_isaelem, 0, /* nkeys 'k' scalar(keys()) lvalue */ want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC, /* dbline 'l' Debugger %_<filename element */ want_vtbl_dbline, 0, 0, /* collxfrm 'o' Locale transformation */ want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC, /* tiedelem 'p' Tied array or hash element */ want_vtbl_packelem, /* tiedscalar 'q' Tied scalar or handle */ want_vtbl_packelem, /* qr 'r' Precompiled qr// regex */ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC, /* sigelem 's' %SIG hash element */ want_vtbl_sigelem, /* taint 't' Taintedness */ want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC, 0, /* vec 'v' vec() lvalue */ want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC, /* utf8 'w' Cached UTF-8 information */ want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC, /* substr 'x' substr() lvalue */ want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC, /* defelem 'y' Shadow "foreach" iterator variable / smart parameter vivification */ want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC, 0, 0, 0, 0, /* ext '~' Available for use by extensions */ magic_vtable_max | PERL_MAGIC_READONLY_ACCEPTABLE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } scope.h 0000644 00000027165 15140731057 0006044 0 ustar 00 /* scope.h * * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* *** Update arg_counts[] in scope.c if you modify these */ /* zero args */ #define SAVEt_ALLOC 0 #define SAVEt_CLEARPADRANGE 1 #define SAVEt_CLEARSV 2 #define SAVEt_REGCONTEXT 3 /* one arg */ #define SAVEt_TMPSFLOOR 4 #define SAVEt_BOOL 5 #define SAVEt_COMPILE_WARNINGS 6 #define SAVEt_COMPPAD 7 #define SAVEt_FREECOPHH 8 #define SAVEt_FREEOP 9 #define SAVEt_FREEPV 10 #define SAVEt_FREESV 11 #define SAVEt_I16 12 #define SAVEt_I32_SMALL 13 #define SAVEt_I8 14 #define SAVEt_INT_SMALL 15 #define SAVEt_MORTALIZESV 16 #define SAVEt_NSTAB 17 #define SAVEt_OP 18 #define SAVEt_PARSER 19 #define SAVEt_STACK_POS 20 #define SAVEt_READONLY_OFF 21 #define SAVEt_FREEPADNAME 22 /* two args */ #define SAVEt_AV 23 #define SAVEt_DESTRUCTOR 24 #define SAVEt_DESTRUCTOR_X 25 #define SAVEt_GENERIC_PVREF 26 #define SAVEt_GENERIC_SVREF 27 #define SAVEt_GP 28 #define SAVEt_GVSV 29 #define SAVEt_HINTS 30 #define SAVEt_HPTR 31 #define SAVEt_HV 32 #define SAVEt_I32 33 #define SAVEt_INT 34 #define SAVEt_ITEM 35 #define SAVEt_IV 36 #define SAVEt_LONG 37 #define SAVEt_PPTR 38 #define SAVEt_SAVESWITCHSTACK 39 #define SAVEt_SHARED_PVREF 40 #define SAVEt_SPTR 41 #define SAVEt_STRLEN 42 #define SAVEt_SV 43 #define SAVEt_SVREF 44 #define SAVEt_VPTR 45 #define SAVEt_ADELETE 46 #define SAVEt_APTR 47 /* three args */ #define SAVEt_HELEM 48 #define SAVEt_PADSV_AND_MORTALIZE 49 #define SAVEt_SET_SVFLAGS 50 #define SAVEt_GVSLOT 51 #define SAVEt_AELEM 52 #define SAVEt_DELETE 53 #define SAVEf_SETMAGIC 1 #define SAVEf_KEEPOLDELEM 2 #define SAVE_TIGHT_SHIFT 6 #define SAVE_MASK 0x3F #define save_aelem(av,idx,sptr) save_aelem_flags(av,idx,sptr,SAVEf_SETMAGIC) #define save_helem(hv,key,sptr) save_helem_flags(hv,key,sptr,SAVEf_SETMAGIC) #ifndef SCOPE_SAVES_SIGNAL_MASK #define SCOPE_SAVES_SIGNAL_MASK 0 #endif /* the maximum number of entries that might be pushed using the SS_ADD* * macros */ #define SS_MAXPUSH 4 #define SSCHECK(need) if (UNLIKELY(PL_savestack_ix + (I32)(need) > PL_savestack_max)) savestack_grow() #define SSGROW(need) if (UNLIKELY(PL_savestack_ix + (I32)(need) > PL_savestack_max)) savestack_grow_cnt(need) #define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i)) #define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i)) #define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p)) #define SSPUSHIV(i) (PL_savestack[PL_savestack_ix++].any_iv = (IV)(i)) #define SSPUSHUV(u) (PL_savestack[PL_savestack_ix++].any_uv = (UV)(u)) #define SSPUSHPTR(p) (PL_savestack[PL_savestack_ix++].any_ptr = (void*)(p)) #define SSPUSHDPTR(p) (PL_savestack[PL_savestack_ix++].any_dptr = (p)) #define SSPUSHDXPTR(p) (PL_savestack[PL_savestack_ix++].any_dxptr = (p)) /* SS_ADD*: newer, faster versions of the above. Don't mix the two sets of * macros. These are fast because they save reduce accesses to the PL_ * vars and move the size check to the end. Doing the check last means * that values in registers will have been pushed and no longer needed, so * don't need saving around the call to grow. Also, tail-call elimination * of the grow() can be done. These changes reduce the code of something * like save_pushptrptr() to half its former size. * Of course, doing the size check *after* pushing means we must always * ensure there are SS_MAXPUSH free slots on the savestack. This ensured * bt savestack_grow() and savestack_grow_cnt always allocating SS_MAXPUSH * slots more than asked for, or that it sets PL_savestack_max to * * These are for internal core use only and are subject to change */ #define dSS_ADD \ I32 ix = PL_savestack_ix; \ ANY *ssp = &PL_savestack[ix] #define SS_ADD_END(need) \ assert((need) <= SS_MAXPUSH); \ ix += (need); \ PL_savestack_ix = ix; \ assert(ix <= PL_savestack_max + SS_MAXPUSH); \ if (UNLIKELY(ix > PL_savestack_max)) savestack_grow(); \ assert(PL_savestack_ix <= PL_savestack_max); #define SS_ADD_INT(i) ((ssp++)->any_i32 = (I32)(i)) #define SS_ADD_LONG(i) ((ssp++)->any_long = (long)(i)) #define SS_ADD_BOOL(p) ((ssp++)->any_bool = (p)) #define SS_ADD_IV(i) ((ssp++)->any_iv = (IV)(i)) #define SS_ADD_UV(u) ((ssp++)->any_uv = (UV)(u)) #define SS_ADD_PTR(p) ((ssp++)->any_ptr = (void*)(p)) #define SS_ADD_DPTR(p) ((ssp++)->any_dptr = (p)) #define SS_ADD_DXPTR(p) ((ssp++)->any_dxptr = (p)) #define SSPOPINT (PL_savestack[--PL_savestack_ix].any_i32) #define SSPOPLONG (PL_savestack[--PL_savestack_ix].any_long) #define SSPOPBOOL (PL_savestack[--PL_savestack_ix].any_bool) #define SSPOPIV (PL_savestack[--PL_savestack_ix].any_iv) #define SSPOPUV (PL_savestack[--PL_savestack_ix].any_uv) #define SSPOPPTR (PL_savestack[--PL_savestack_ix].any_ptr) #define SSPOPDPTR (PL_savestack[--PL_savestack_ix].any_dptr) #define SSPOPDXPTR (PL_savestack[--PL_savestack_ix].any_dxptr) /* =head1 Callback Functions =for apidoc Amns||SAVETMPS Opening bracket for temporaries on a callback. See C<L</FREETMPS>> and L<perlcall>. =for apidoc Amns||FREETMPS Closing bracket for temporaries on a callback. See C<L</SAVETMPS>> and L<perlcall>. =for apidoc Amns||ENTER Opening bracket on a callback. See C<L</LEAVE>> and L<perlcall>. =for apidoc Amns||LEAVE Closing bracket on a callback. See C<L</ENTER>> and L<perlcall>. =for apidoc Ams||ENTER_with_name|"name" Same as C<L</ENTER>>, but when debugging is enabled it also associates the given literal string with the new scope. =for apidoc Ams||LEAVE_with_name|"name" Same as C<L</LEAVE>>, but when debugging is enabled it first checks that the scope has the given name. C<name> must be a literal string. =cut */ #define SAVETMPS Perl_savetmps(aTHX) #define FREETMPS if (PL_tmps_ix > PL_tmps_floor) free_tmps() #ifdef DEBUGGING #define ENTER \ STMT_START { \ push_scope(); \ DEBUG_SCOPE("ENTER") \ } STMT_END #define LEAVE \ STMT_START { \ DEBUG_SCOPE("LEAVE") \ pop_scope(); \ } STMT_END #define ENTER_with_name(name) \ STMT_START { \ push_scope(); \ if (PL_scopestack_name) \ PL_scopestack_name[PL_scopestack_ix-1] = name; \ DEBUG_SCOPE("ENTER \"" name "\"") \ } STMT_END #define LEAVE_with_name(name) \ STMT_START { \ DEBUG_SCOPE("LEAVE \"" name "\"") \ if (PL_scopestack_name) { \ assert(((char*)PL_scopestack_name[PL_scopestack_ix-1] \ == (char*)name) \ || strEQ(PL_scopestack_name[PL_scopestack_ix-1], name)); \ } \ pop_scope(); \ } STMT_END #else #define ENTER push_scope() #define LEAVE pop_scope() #define ENTER_with_name(name) ENTER #define LEAVE_with_name(name) LEAVE #endif #define LEAVE_SCOPE(old) STMT_START { \ if (PL_savestack_ix > old) leave_scope(old); \ } STMT_END #define SAVEI8(i) save_I8((I8*)&(i)) #define SAVEI16(i) save_I16((I16*)&(i)) #define SAVEI32(i) save_I32((I32*)&(i)) #define SAVEINT(i) save_int((int*)&(i)) #define SAVEIV(i) save_iv((IV*)&(i)) #define SAVELONG(l) save_long((long*)&(l)) #define SAVEBOOL(b) save_bool(&(b)) #define SAVESPTR(s) save_sptr((SV**)&(s)) #define SAVEPPTR(s) save_pptr((char**)&(s)) #define SAVEVPTR(s) save_vptr((void*)&(s)) #define SAVEPADSVANDMORTALIZE(s) save_padsv_and_mortalize(s) #define SAVEFREESV(s) save_freesv(MUTABLE_SV(s)) #define SAVEFREEPADNAME(s) save_pushptr((void *)(s), SAVEt_FREEPADNAME) #define SAVEMORTALIZESV(s) save_mortalizesv(MUTABLE_SV(s)) #define SAVEFREEOP(o) save_freeop((OP*)(o)) #define SAVEFREEPV(p) save_freepv((char*)(p)) #define SAVECLEARSV(sv) save_clearsv((SV**)&(sv)) #define SAVEGENERICSV(s) save_generic_svref((SV**)&(s)) #define SAVEGENERICPV(s) save_generic_pvref((char**)&(s)) #define SAVESHAREDPV(s) save_shared_pvref((char**)&(s)) #define SAVESETSVFLAGS(sv,mask,val) save_set_svflags(sv,mask,val) #define SAVEFREECOPHH(h) save_pushptr((void *)(h), SAVEt_FREECOPHH) #define SAVEDELETE(h,k,l) \ save_delete(MUTABLE_HV(h), (char*)(k), (I32)(l)) #define SAVEHDELETE(h,s) \ save_hdelete(MUTABLE_HV(h), (s)) #define SAVEADELETE(a,k) \ save_adelete(MUTABLE_AV(a), (SSize_t)(k)) #define SAVEDESTRUCTOR(f,p) \ save_destructor((DESTRUCTORFUNC_NOCONTEXT_t)(f), (void*)(p)) #define SAVEDESTRUCTOR_X(f,p) \ save_destructor_x((DESTRUCTORFUNC_t)(f), (void*)(p)) #define SAVESTACK_POS() \ STMT_START { \ dSS_ADD; \ SS_ADD_INT(PL_stack_sp - PL_stack_base); \ SS_ADD_UV(SAVEt_STACK_POS); \ SS_ADD_END(2); \ } STMT_END #define SAVEOP() save_op() #define SAVEHINTS() save_hints() #define SAVECOMPPAD() save_pushptr(MUTABLE_SV(PL_comppad), SAVEt_COMPPAD) #define SAVESWITCHSTACK(f,t) \ STMT_START { \ save_pushptrptr(MUTABLE_SV(f), MUTABLE_SV(t), SAVEt_SAVESWITCHSTACK); \ SWITCHSTACK((f),(t)); \ PL_curstackinfo->si_stack = (t); \ } STMT_END /* Need to do the cop warnings like this, rather than a "SAVEFREESHAREDPV", because realloc() means that the value can actually change. Possibly could have done savefreesharedpvREF, but this way actually seems cleaner, as it simplifies the code that does the saves, and reduces the load on the save stack. */ #define SAVECOMPILEWARNINGS() save_pushptr(PL_compiling.cop_warnings, SAVEt_COMPILE_WARNINGS) #define SAVEPARSER(p) save_pushptr((p), SAVEt_PARSER) #ifdef USE_ITHREADS # define SAVECOPSTASH_FREE(c) SAVEIV((c)->cop_stashoff) # define SAVECOPFILE(c) SAVEPPTR(CopFILE(c)) # define SAVECOPFILE_FREE(c) SAVESHAREDPV(CopFILE(c)) #else # /* XXX not refcounted */ # define SAVECOPSTASH_FREE(c) SAVESPTR(CopSTASH(c)) # define SAVECOPFILE(c) SAVESPTR(CopFILEGV(c)) # define SAVECOPFILE_FREE(c) SAVEGENERICSV(CopFILEGV(c)) #endif #define SAVECOPLINE(c) SAVEI32(CopLINE(c)) /* SSNEW() temporarily allocates a specified number of bytes of data on the * savestack. It returns an I32 index into the savestack, because a * pointer would get broken if the savestack is moved on reallocation. * SSNEWa() works like SSNEW(), but also aligns the data to the specified * number of bytes. MEM_ALIGNBYTES is perhaps the most useful. The * alignment will be preserved through savestack reallocation *only* if * realloc returns data aligned to a size divisible by "align"! * * SSPTR() converts the index returned by SSNEW/SSNEWa() into a pointer. */ #define SSNEW(size) Perl_save_alloc(aTHX_ (size), 0) #define SSNEWt(n,t) SSNEW((n)*sizeof(t)) #define SSNEWa(size,align) Perl_save_alloc(aTHX_ (size), \ (I32)(align - ((size_t)((caddr_t)&PL_savestack[PL_savestack_ix]) % align)) % align) #define SSNEWat(n,t,align) SSNEWa((n)*sizeof(t), align) #define SSPTR(off,type) ((type) ((char*)PL_savestack + off)) #define SSPTRt(off,type) ((type*) ((char*)PL_savestack + off)) #define save_freesv(op) save_pushptr((void *)(op), SAVEt_FREESV) #define save_mortalizesv(op) save_pushptr((void *)(op), SAVEt_MORTALIZESV) # define save_freeop(op) \ STMT_START { \ OP * const _o = (OP *)(op); \ assert(!_o->op_savefree); \ _o->op_savefree = 1; \ save_pushptr((void *)(_o), SAVEt_FREEOP); \ } STMT_END #define save_freepv(pv) save_pushptr((void *)(pv), SAVEt_FREEPV) #define save_op() save_pushptr((void *)(PL_op), SAVEt_OP) /* * ex: set ts=8 sts=4 sw=4 et: */ nostdio.h 0000644 00000006500 15140731057 0006400 0 ustar 00 /* nostdio.h * * Copyright (C) 1996, 2000, 2001, 2005, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * Strong denial of stdio - make all stdio calls (we can think of) errors */ /* This is a 1st attempt to stop other include files pulling in real <stdio.h>. A more ambitious set of possible symbols can be found in sfio.h (inside an _cplusplus gard). It is completely pointless as we have already included it ourselves. */ #if !defined(_STDIO_H) && !defined(FILE) && !defined(_STDIO_INCLUDED) && !defined(__STDIO_LOADED) #define _STDIO_H #define _STDIO_INCLUDED #define __STDIO_LOADED struct _FILE; #define FILE struct _FILE #endif #ifndef EBCDIC #define _CANNOT "CANNOT" #undef clearerr #undef fclose #undef fdopen #undef feof #undef ferror #undef fflush #undef fgetc #undef fgetpos #undef fgets #undef fileno #undef flockfile #undef fopen #undef fprintf #undef fputc #undef fputs #undef fread #undef freopen #undef fscanf #undef fseek #undef fsetpos #undef ftell #undef ftrylockfile #undef funlockfile #undef fwrite #undef getc #undef getc_unlocked #undef getw #undef pclose #undef popen #undef putc #undef putc_unlocked #undef putw #undef rewind #undef setbuf #undef setvbuf #undef stderr #undef stdin #undef stdout #undef tmpfile #undef ungetc #undef vfprintf #undef printf #define fprintf _CANNOT _fprintf_ #define printf _CANNOT _printf_ #define stdin _CANNOT _stdin_ #define stdout _CANNOT _stdout_ #define stderr _CANNOT _stderr_ #ifndef OS2 #define tmpfile() _CANNOT _tmpfile_ #endif #define fclose(f) _CANNOT _fclose_ #define fflush(f) _CANNOT _fflush_ #define fopen(p,m) _CANNOT _fopen_ #define freopen(p,m,f) _CANNOT _freopen_ #define setbuf(f,b) _CANNOT _setbuf_ #define setvbuf(f,b,x,s) _CANNOT _setvbuf_ #define fscanf _CANNOT _fscanf_ #define vfprintf(f,fmt,a) _CANNOT _vfprintf_ #define fgetc(f) _CANNOT _fgetc_ #define fgets(s,n,f) _CANNOT _fgets_ #define fputc(c,f) _CANNOT _fputc_ #define fputs(s,f) _CANNOT _fputs_ #define getc(f) _CANNOT _getc_ #define putc(c,f) _CANNOT _putc_ #ifndef OS2 #define ungetc(c,f) _CANNOT _ungetc_ #endif #define fread(b,s,c,f) _CANNOT _fread_ #define fwrite(b,s,c,f) _CANNOT _fwrite_ #define fgetpos(f,p) _CANNOT _fgetpos_ #define fseek(f,o,w) _CANNOT _fseek_ #define fsetpos(f,p) _CANNOT _fsetpos_ #define ftell(f) _CANNOT _ftell_ #define rewind(f) _CANNOT _rewind_ #define clearerr(f) _CANNOT _clearerr_ #define feof(f) _CANNOT _feof_ #define ferror(f) _CANNOT _ferror_ #define __filbuf(f) _CANNOT __filbuf_ #define __flsbuf(c,f) _CANNOT __flsbuf_ #define _filbuf(f) _CANNOT _filbuf_ #define _flsbuf(c,f) _CANNOT _flsbuf_ #define fdopen(fd,p) _CANNOT _fdopen_ #define fileno(f) _CANNOT _fileno_ #if defined(SFIO_VERSION) && SFIO_VERSION < 20000101L #define flockfile(f) _CANNOT _flockfile_ #define ftrylockfile(f) _CANNOT _ftrylockfile_ #define funlockfile(f) _CANNOT _funlockfile_ #endif #define getc_unlocked(f) _CANNOT _getc_unlocked_ #define putc_unlocked(c,f) _CANNOT _putc_unlocked_ #define popen(c,m) _CANNOT _popen_ #define getw(f) _CANNOT _getw_ #define putw(v,f) _CANNOT _putw_ #ifndef OS2 #define pclose(f) _CANNOT _pclose_ #endif #endif /*not define EBCDIC */ /* * ex: set ts=8 sts=4 sw=4 et: */ uconfig.h 0000644 00000500122 15140731057 0006352 0 ustar 00 /* This file was produced by running the config_h.SH script, which * gets its values from uconfig.sh, which is generally produced by * running Configure. * * Feel free to modify any of this as the need arises. Note, however, * that running config_h.SH again will wipe out any changes you've made. * For a more permanent change edit uconfig.sh and rerun config_h.SH. */ /* Package name : perl5 * Source directory : . * Configuration time: Thu Jan 1 00:00:00 GMT 1970 * Configured by : root@localhost * Target system : unknown */ #ifndef _config_h_ #define _config_h_ /* LOC_SED: * This symbol holds the complete pathname to the sed program. */ #define LOC_SED "" /**/ /* HAS_ALARM: * This symbol, if defined, indicates that the alarm routine is * available. */ /*#define HAS_ALARM / **/ /* HAS_CBRT: * This symbol, if defined, indicates that the cbrt() (cube root) * function is available. */ /*#define HAS_CBRT / **/ /* HAS_CHOWN: * This symbol, if defined, indicates that the chown routine is * available. */ /*#define HAS_CHOWN / **/ /* HAS_CHROOT: * This symbol, if defined, indicates that the chroot routine is * available. */ /*#define HAS_CHROOT / **/ /* HAS_CHSIZE: * This symbol, if defined, indicates that the chsize routine is available * to truncate files. You might need a -lx to get this routine. */ /*#define HAS_CHSIZE / **/ /* HAS_CRYPT: * This symbol, if defined, indicates that the crypt routine is available * to encrypt passwords and the like. */ /*#define HAS_CRYPT / **/ /* HAS_CTERMID: * This symbol, if defined, indicates that the ctermid routine is * available to generate filename for terminal. */ /*#define HAS_CTERMID / **/ /* HAS_CUSERID: * This symbol, if defined, indicates that the cuserid routine is * available to get character login names. */ /*#define HAS_CUSERID / **/ /* HAS_DIFFTIME: * This symbol, if defined, indicates that the difftime routine is * available. */ /*#define HAS_DIFFTIME / **/ /* HAS_DLERROR: * This symbol, if defined, indicates that the dlerror routine is * available to return a string describing the last error that * occurred from a call to dlopen(), dlclose() or dlsym(). */ /*#define HAS_DLERROR / **/ /* HAS_DUP2: * This symbol, if defined, indicates that the dup2 routine is * available to duplicate file descriptors. */ /*#define HAS_DUP2 / **/ /* HAS_FCHMOD: * This symbol, if defined, indicates that the fchmod routine is available * to change mode of opened files. If unavailable, use chmod(). */ /*#define HAS_FCHMOD / **/ /* HAS_FCHOWN: * This symbol, if defined, indicates that the fchown routine is available * to change ownership of opened files. If unavailable, use chown(). */ /*#define HAS_FCHOWN / **/ /* HAS_FCNTL: * This symbol, if defined, indicates to the C program that * the fcntl() function exists. */ /*#define HAS_FCNTL / **/ /* HAS_FGETPOS: * This symbol, if defined, indicates that the fgetpos routine is * available to get the file position indicator, similar to ftell(). */ /*#define HAS_FGETPOS / **/ /* HAS_FLOCK: * This symbol, if defined, indicates that the flock routine is * available to do file locking. */ /*#define HAS_FLOCK / **/ /* HAS_FORK: * This symbol, if defined, indicates that the fork routine is * available. */ #define HAS_FORK /**/ /* HAS_FSETPOS: * This symbol, if defined, indicates that the fsetpos routine is * available to set the file position indicator, similar to fseek(). */ /*#define HAS_FSETPOS / **/ /* HAS_GETTIMEOFDAY: * This symbol, if defined, indicates that the gettimeofday() system * call is available for a sub-second accuracy clock. Usually, the file * <sys/resource.h> needs to be included (see I_SYS_RESOURCE). * The type "Timeval" should be used to refer to "struct timeval". */ /*#define HAS_GETTIMEOFDAY / **/ #ifdef HAS_GETTIMEOFDAY #define Timeval struct timeval /* Structure used by gettimeofday() */ #endif /* HAS_GETGROUPS: * This symbol, if defined, indicates that the getgroups() routine is * available to get the list of process groups. If unavailable, multiple * groups are probably not supported. */ /*#define HAS_GETGROUPS / **/ /* HAS_GETLOGIN: * This symbol, if defined, indicates that the getlogin routine is * available to get the login name. */ /*#define HAS_GETLOGIN / **/ /* HAS_GETPGID: * This symbol, if defined, indicates to the C program that * the getpgid(pid) function is available to get the * process group id. */ /*#define HAS_GETPGID / **/ /* HAS_GETPGRP2: * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX) * routine is available to get the current process group. */ /*#define HAS_GETPGRP2 / **/ /* HAS_GETPPID: * This symbol, if defined, indicates that the getppid routine is * available to get the parent process ID. */ /*#define HAS_GETPPID / **/ /* HAS_GETPRIORITY: * This symbol, if defined, indicates that the getpriority routine is * available to get a process's priority. */ /*#define HAS_GETPRIORITY / **/ /* HAS_INET_ATON: * This symbol, if defined, indicates to the C program that the * inet_aton() function is available to parse IP address "dotted-quad" * strings. */ /*#define HAS_INET_ATON / **/ /* HAS_KILLPG: * This symbol, if defined, indicates that the killpg routine is available * to kill process groups. If unavailable, you probably should use kill * with a negative process number. */ /*#define HAS_KILLPG / **/ /* HAS_LINK: * This symbol, if defined, indicates that the link routine is * available to create hard links. */ /*#define HAS_LINK / **/ /* HAS_LOCALECONV: * This symbol, if defined, indicates that the localeconv routine is * available for numeric and monetary formatting conventions. */ /*#define HAS_LOCALECONV / **/ /* HAS_LOCKF: * This symbol, if defined, indicates that the lockf routine is * available to do file locking. */ /*#define HAS_LOCKF / **/ /* HAS_LSTAT: * This symbol, if defined, indicates that the lstat routine is * available to do file stats on symbolic links. */ /*#define HAS_LSTAT / **/ /* HAS_MBLEN: * This symbol, if defined, indicates that the mblen routine is available * to find the number of bytes in a multibye character. */ /*#define HAS_MBLEN / **/ /* HAS_MBSTOWCS: * This symbol, if defined, indicates that the mbstowcs routine is * available to convert a multibyte string into a wide character string. */ /*#define HAS_MBSTOWCS / **/ /* HAS_MBTOWC: * This symbol, if defined, indicates that the mbtowc routine is available * to convert a multibyte to a wide character. */ /*#define HAS_MBTOWC / **/ /* HAS_MKDIR: * This symbol, if defined, indicates that the mkdir routine is available * to create directories. Otherwise you should fork off a new process to * exec /bin/mkdir. */ /*#define HAS_MKDIR / **/ /* HAS_MKFIFO: * This symbol, if defined, indicates that the mkfifo routine is * available to create FIFOs. Otherwise, mknod should be able to * do it for you. However, if mkfifo is there, mknod might require * super-user privileges which mkfifo will not. */ /*#define HAS_MKFIFO / **/ /* HAS_MKTIME: * This symbol, if defined, indicates that the mktime routine is * available. */ /*#define HAS_MKTIME / **/ /* HAS_MSG: * This symbol, if defined, indicates that the entire msg*(2) library is * supported (IPC mechanism based on message queues). */ /*#define HAS_MSG / **/ /* HAS_MSYNC: * This symbol, if defined, indicates that the msync system call is * available to synchronize a mapped file. */ /*#define HAS_MSYNC / **/ /* HAS_MUNMAP: * This symbol, if defined, indicates that the munmap system call is * available to unmap a region, usually mapped by mmap(). */ /*#define HAS_MUNMAP / **/ /* HAS_NICE: * This symbol, if defined, indicates that the nice routine is * available. */ /*#define HAS_NICE / **/ /* HAS_PATHCONF: * This symbol, if defined, indicates that pathconf() is available * to determine file-system related limits and options associated * with a given filename. */ /* HAS_FPATHCONF: * This symbol, if defined, indicates that pathconf() is available * to determine file-system related limits and options associated * with a given open file descriptor. */ /*#define HAS_PATHCONF / **/ /*#define HAS_FPATHCONF / **/ /* HAS_PAUSE: * This symbol, if defined, indicates that the pause routine is * available to suspend a process until a signal is received. */ /*#define HAS_PAUSE / **/ /* HAS_PIPE: * This symbol, if defined, indicates that the pipe routine is * available to create an inter-process channel. */ /*#define HAS_PIPE / **/ /* HAS_POLL: * This symbol, if defined, indicates that the poll routine is * available to poll active file descriptors. Please check I_POLL and * I_SYS_POLL to know which header should be included as well. */ /*#define HAS_POLL / **/ /* HAS_READDIR: * This symbol, if defined, indicates that the readdir routine is * available to read directory entries. You may have to include * <dirent.h>. See I_DIRENT. */ #define HAS_READDIR /**/ /* HAS_SEEKDIR: * This symbol, if defined, indicates that the seekdir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ /*#define HAS_SEEKDIR / **/ /* HAS_TELLDIR: * This symbol, if defined, indicates that the telldir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ /*#define HAS_TELLDIR / **/ /* HAS_REWINDDIR: * This symbol, if defined, indicates that the rewinddir routine is * available. You may have to include <dirent.h>. See I_DIRENT. */ /*#define HAS_REWINDDIR / **/ /* HAS_READLINK: * This symbol, if defined, indicates that the readlink routine is * available to read the value of a symbolic link. */ /*#define HAS_READLINK / **/ /* HAS_REGCOMP: * This symbol, if defined, indicates that the regcomp() routine is * available to do some regular pattern matching (usually on POSIX.2 * conforming systems). */ #define HAS_REGCOMP /* POSIX.2 */ /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() * trick. */ #define HAS_RENAME /**/ /* HAS_RMDIR: * This symbol, if defined, indicates that the rmdir routine is * available to remove directories. Otherwise you should fork off a * new process to exec /bin/rmdir. */ /*#define HAS_RMDIR / **/ /* HAS_SELECT: * This symbol, if defined, indicates that the select routine is * available to select active file descriptors. If the timeout field * is used, <sys/time.h> may need to be included. */ /*#define HAS_SELECT / **/ /* HAS_SEM: * This symbol, if defined, indicates that the entire sem*(2) library is * supported. */ /*#define HAS_SEM / **/ /* HAS_SETEGID: * This symbol, if defined, indicates that the setegid routine is available * to change the effective gid of the current program. */ /*#define HAS_SETEGID / **/ /* HAS_SETEUID: * This symbol, if defined, indicates that the seteuid routine is available * to change the effective uid of the current program. */ /*#define HAS_SETEUID / **/ /* HAS_SETGROUPS: * This symbol, if defined, indicates that the setgroups() routine is * available to set the list of process groups. If unavailable, multiple * groups are probably not supported. */ /*#define HAS_SETGROUPS / **/ /* HAS_SETLINEBUF: * This symbol, if defined, indicates that the setlinebuf routine is * available to change stderr or stdout from block-buffered or unbuffered * to a line-buffered mode. */ /*#define HAS_SETLINEBUF / **/ /* HAS_SETPGID: * This symbol, if defined, indicates that the setpgid(pid, gpid) * routine is available to set process group ID. */ /*#define HAS_SETPGID / **/ /* HAS_SETPGRP2: * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX) * routine is available to set the current process group. */ /*#define HAS_SETPGRP2 / **/ /* HAS_SETPRIORITY: * This symbol, if defined, indicates that the setpriority routine is * available to set a process's priority. */ /*#define HAS_SETPRIORITY / **/ /* HAS_SETREGID: * This symbol, if defined, indicates that the setregid routine is * available to change the real and effective gid of the current * process. */ /* HAS_SETRESGID: * This symbol, if defined, indicates that the setresgid routine is * available to change the real, effective and saved gid of the current * process. */ /*#define HAS_SETREGID / **/ /*#define HAS_SETRESGID / **/ /* HAS_SETREUID: * This symbol, if defined, indicates that the setreuid routine is * available to change the real and effective uid of the current * process. */ /* HAS_SETRESUID: * This symbol, if defined, indicates that the setresuid routine is * available to change the real, effective and saved uid of the current * process. */ /*#define HAS_SETREUID / **/ /*#define HAS_SETRESUID / **/ /* HAS_SETRGID: * This symbol, if defined, indicates that the setrgid routine is available * to change the real gid of the current program. */ /*#define HAS_SETRGID / **/ /* HAS_SETRUID: * This symbol, if defined, indicates that the setruid routine is available * to change the real uid of the current program. */ /*#define HAS_SETRUID / **/ /* HAS_SETSID: * This symbol, if defined, indicates that the setsid routine is * available to set the process group ID. */ /*#define HAS_SETSID / **/ /* HAS_STAT: * This symbol, if defined, indicates that the stat routine is * available to get file status. */ #define HAS_STAT /**/ /* HAS_STRCOLL: * This symbol, if defined, indicates that the strcoll routine is * available to compare strings using collating information. */ /*#define HAS_STRCOLL / **/ /* HAS_STRTOD: * This symbol, if defined, indicates that the strtod routine is * available to provide better numeric string conversion than atof(). */ /*#define HAS_STRTOD / **/ /* HAS_STRTOL: * This symbol, if defined, indicates that the strtol routine is available * to provide better numeric string conversion than atoi() and friends. */ #define HAS_STRTOL /**/ /* HAS_STRXFRM: * This symbol, if defined, indicates that the strxfrm() routine is * available to transform strings. */ /*#define HAS_STRXFRM / **/ /* HAS_SYMLINK: * This symbol, if defined, indicates that the symlink routine is available * to create symbolic links. */ /*#define HAS_SYMLINK / **/ /* HAS_SYSCALL: * This symbol, if defined, indicates that the syscall routine is * available to call arbitrary system calls. If undefined, that's tough. */ /*#define HAS_SYSCALL / **/ /* HAS_SYSCONF: * This symbol, if defined, indicates that sysconf() is available * to determine system related limits and options. */ /*#define HAS_SYSCONF / **/ /* HAS_SYSTEM: * This symbol, if defined, indicates that the system routine is * available to issue a shell command. */ /*#define HAS_SYSTEM / **/ /* HAS_TCGETPGRP: * This symbol, if defined, indicates that the tcgetpgrp routine is * available to get foreground process group ID. */ /*#define HAS_TCGETPGRP / **/ /* HAS_TCSETPGRP: * This symbol, if defined, indicates that the tcsetpgrp routine is * available to set foreground process group ID. */ /*#define HAS_TCSETPGRP / **/ /* HAS_TRUNCATE: * This symbol, if defined, indicates that the truncate routine is * available to truncate files. */ /*#define HAS_TRUNCATE / **/ /* HAS_TZNAME: * This symbol, if defined, indicates that the tzname[] array is * available to access timezone names. */ /*#define HAS_TZNAME / **/ /* HAS_UMASK: * This symbol, if defined, indicates that the umask routine is * available to set and get the value of the file creation mask. */ /*#define HAS_UMASK / **/ /* HAS_USLEEP: * This symbol, if defined, indicates that the usleep routine is * available to let the process sleep on a sub-second accuracy. */ /*#define HAS_USLEEP / **/ /* HAS_WAIT4: * This symbol, if defined, indicates that wait4() exists. */ /*#define HAS_WAIT4 / **/ /* HAS_WAITPID: * This symbol, if defined, indicates that the waitpid routine is * available to wait for child process. */ /*#define HAS_WAITPID / **/ /* HAS_WCSTOMBS: * This symbol, if defined, indicates that the wcstombs routine is * available to convert wide character strings to multibyte strings. */ /*#define HAS_WCSTOMBS / **/ /* HAS_WCTOMB: * This symbol, if defined, indicates that the wctomb routine is available * to convert a wide character to a multibyte. */ /*#define HAS_WCTOMB / **/ /* Groups_t: * This symbol holds the type used for the second argument to * getgroups() and setgroups(). Usually, this is the same as * gidtype (gid_t) , but sometimes it isn't. * It can be int, ushort, gid_t, etc... * It may be necessary to include <sys/types.h> to get any * typedef'ed information. This is only required if you have * getgroups() or setgroups().. */ #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) #define Groups_t int /* Type for 2nd arg to [sg]etgroups() */ #endif /* I_ARPA_INET: * This symbol, if defined, indicates to the C program that it should * include <arpa/inet.h> to get inet_addr and friends declarations. */ /*#define I_ARPA_INET / **/ /* I_DBM: * This symbol, if defined, indicates that <dbm.h> exists and should * be included. */ /* I_RPCSVC_DBM: * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and * should be included. */ /*#define I_DBM / **/ /*#define I_RPCSVC_DBM / **/ /* I_DLFCN: * This symbol, if defined, indicates that <dlfcn.h> exists and should * be included. */ /*#define I_DLFCN / **/ /* I_FCNTL: * This manifest constant tells the C program to include <fcntl.h>. */ /*#define I_FCNTL / **/ /* I_GDBM: * This symbol, if defined, indicates that <gdbm.h> exists and should * be included. */ /*#define I_GDBM / **/ /* I_LOCALE: * This symbol, if defined, indicates to the C program that it should * include <locale.h>. */ /*#define I_LOCALE / **/ /* I_NETINET_IN: * This symbol, if defined, indicates to the C program that it should * include <netinet/in.h>. Otherwise, you may try <sys/in.h>. */ /*#define I_NETINET_IN / **/ /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include <sys/dir.h>. */ /*#define I_SYS_DIR / **/ /* I_SYS_FILE: * This symbol, if defined, indicates to the C program that it should * include <sys/file.h> to get definition of R_OK and friends. */ /*#define I_SYS_FILE / **/ /* I_SYS_IOCTL: * This symbol, if defined, indicates that <sys/ioctl.h> exists and should * be included. Otherwise, include <sgtty.h> or <termio.h>. */ /* I_SYS_SOCKIO: * This symbol, if defined, indicates the <sys/sockio.h> should be included * to get socket ioctl options, like SIOCATMARK. */ /*#define I_SYS_IOCTL / **/ /*#define I_SYS_SOCKIO / **/ /* I_SYS_NDIR: * This symbol, if defined, indicates to the C program that it should * include <sys/ndir.h>. */ /*#define I_SYS_NDIR / **/ /* I_SYS_PARAM: * This symbol, if defined, indicates to the C program that it should * include <sys/param.h>. */ /*#define I_SYS_PARAM / **/ /* I_SYS_POLL: * This symbol, if defined, indicates that the program may include * <sys/poll.h>. When I_POLL is also defined, it's probably safest * to only include <poll.h>. */ /*#define I_SYS_POLL / **/ /* I_SYS_RESOURCE: * This symbol, if defined, indicates to the C program that it should * include <sys/resource.h>. */ /*#define I_SYS_RESOURCE / **/ /* I_SYS_SELECT: * This symbol, if defined, indicates to the C program that it should * include <sys/select.h> in order to get definition of struct timeval. */ /*#define I_SYS_SELECT / **/ /* I_SYS_STAT: * This symbol, if defined, indicates to the C program that it should * include <sys/stat.h>. */ #define I_SYS_STAT /**/ /* I_SYS_TIMES: * This symbol, if defined, indicates to the C program that it should * include <sys/times.h>. */ /*#define I_SYS_TIMES / **/ /* I_SYS_TYPES: * This symbol, if defined, indicates to the C program that it should * include <sys/types.h>. */ /*#define I_SYS_TYPES / **/ /* I_SYS_UN: * This symbol, if defined, indicates to the C program that it should * include <sys/un.h> to get UNIX domain socket definitions. */ /*#define I_SYS_UN / **/ /* I_SYS_WAIT: * This symbol, if defined, indicates to the C program that it should * include <sys/wait.h>. */ /*#define I_SYS_WAIT / **/ /* I_UNISTD: * This symbol, if defined, indicates to the C program that it should * include <unistd.h>. */ /*#define I_UNISTD / **/ /* I_UTIME: * This symbol, if defined, indicates to the C program that it should * include <utime.h>. */ /*#define I_UTIME / **/ /* I_VFORK: * This symbol, if defined, indicates to the C program that it should * include vfork.h. */ /*#define I_VFORK / **/ /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ #define STDCHAR char /**/ /* INTSIZE: * This symbol contains the value of sizeof(int) so that the C * preprocessor can make decisions based on it. */ /* LONGSIZE: * This symbol contains the value of sizeof(long) so that the C * preprocessor can make decisions based on it. */ /* SHORTSIZE: * This symbol contains the value of sizeof(short) so that the C * preprocessor can make decisions based on it. */ #define INTSIZE 4 /**/ #define LONGSIZE 4 /**/ #define SHORTSIZE 2 /**/ /* MULTIARCH: * This symbol, if defined, signifies that the build * process will produce some binary files that are going to be * used in a cross-platform environment. This is the case for * example with the NeXT "fat" binaries that contain executables * for several CPUs. */ /*#define MULTIARCH / **/ /* HAS_QUAD: * This symbol, if defined, tells that there's a 64-bit integer type, * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T, * or QUAD_IS___INT64. */ /*#define HAS_QUAD / **/ #ifdef HAS_QUAD # define Quad_t int64_t /**/ # define Uquad_t uint64_t /**/ # define QUADKIND 4 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 # define QUAD_IS_INT64_T 4 # define QUAD_IS___INT64 5 #endif /* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is * available to do extended access checks. */ /*#define HAS_ACCESSX / **/ /* HAS_EACCESS: * This symbol, if defined, indicates that the eaccess routine is * available to do extended access checks. */ /*#define HAS_EACCESS / **/ /* I_SYS_ACCESS: * This symbol, if defined, indicates to the C program that it should * include <sys/access.h>. */ /*#define I_SYS_ACCESS / **/ /* I_SYS_SECURITY: * This symbol, if defined, indicates to the C program that it should * include <sys/security.h>. */ /*#define I_SYS_SECURITY / **/ /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double, or a long double when applicable. Usual values are 2, * 4 and 8. The default is eight, for safety. For cross-compiling * or multiarch support, Configure will set a minimum of 8. */ #define MEM_ALIGNBYTES 4 /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc... * If the compiler supports cross-compiling or multiple-architecture * binaries, use compiler-defined macros to * determine the byte order. */ #if defined(MULTIARCH) # ifdef __LITTLE_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x1234 # else # if LONGSIZE == 8 # define BYTEORDER 0x12345678 # endif # endif # else # ifdef __BIG_ENDIAN__ # if LONGSIZE == 4 # define BYTEORDER 0x4321 # else # if LONGSIZE == 8 # define BYTEORDER 0x87654321 # endif # endif # endif # endif #else #define BYTEORDER 0x1234 /* large digits for MSB */ #endif /* CHARBITS: * This symbol contains the size of a char, so that the C preprocessor * can make decisions based on it. */ #define CHARBITS 8 /**/ /* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ /*#define CASTI32 / **/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative * numbers to unsigned longs, ints and shorts. */ /* CASTFLAGS: * This symbol contains flags that say what difficulties the compiler * has casting odd floating values to unsigned long: * 0 = ok * 1 = couldn't cast < 0 * 2 = couldn't cast >= 0x80000000 * 4 = couldn't cast in argument expression list */ /*#define CASTNEGFLOAT / **/ #define CASTFLAGS 0 /**/ /* VOID_CLOSEDIR: * This symbol, if defined, indicates that the closedir() routine * does not return a value. */ /*#define VOID_CLOSEDIR / **/ /* HAS_FD_SET: * This symbol, when defined, indicates presence of the fd_set typedef * in <sys/types.h> */ /*#define HAS_FD_SET / **/ /* Gconvert: * This preprocessor macro is defined to convert a floating point * number to a string without a trailing decimal point. This * emulates the behavior of sprintf("%g"), but is sometimes much more * efficient. If gconvert() is not available, but gcvt() drops the * trailing decimal point, then gcvt() is used. If all else fails, * a macro using sprintf("%g") is used. Arguments for the Gconvert * macro are: value, number of digits, whether trailing zeros should * be retained, and the output buffer. * The usual values are: * d_Gconvert='gconvert((x),(n),(t),(b))' * d_Gconvert='gcvt((x),(n),(b))' * d_Gconvert='sprintf((b),"%.*g",(n),(x))' * The last two assume trailing zeros should not be kept. */ #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x)) /* HAS_GETPAGESIZE: * This symbol, if defined, indicates that the getpagesize system call * is available to get system page size, which is the granularity of * many memory management calls. */ /*#define HAS_GETPAGESIZE / **/ /* HAS_GNULIBC: * This symbol, if defined, indicates to the C program that * the GNU C library is being used. A better check is to use * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc. */ /*#define HAS_GNULIBC / **/ #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE) # define _GNU_SOURCE #endif /* HAS_ISASCII: * This manifest constant lets the C program know that isascii * is available. */ /*#define HAS_ISASCII / **/ /* HAS_LCHOWN: * This symbol, if defined, indicates that the lchown routine is * available to operate on a symbolic link (instead of following the * link). */ /*#define HAS_LCHOWN / **/ /* HAS_OPEN3: * This manifest constant lets the C program know that the three * argument form of open(2) is available. */ /*#define HAS_OPEN3 / **/ /* HAS_SIGACTION: * This symbol, if defined, indicates that Vr4's sigaction() routine * is available. */ /*#define HAS_SIGACTION / **/ /* HAS_SIGINFO_SI_ERRNO: * This symbol, if defined, indicates that siginfo_t has the * si_errno member */ /* HAS_SIGINFO_SI_PID: * This symbol, if defined, indicates that siginfo_t has the * si_pid member */ /* HAS_SIGINFO_SI_UID: * This symbol, if defined, indicates that siginfo_t has the * si_uid member */ /* HAS_SIGINFO_SI_ADDR: * This symbol, if defined, indicates that siginfo_t has the * si_addr member */ /* HAS_SIGINFO_SI_STATUS: * This symbol, if defined, indicates that siginfo_t has the * si_status member */ /* HAS_SIGINFO_SI_BAND: * This symbol, if defined, indicates that siginfo_t has the * si_band member */ /* HAS_SIGINFO_SI_VALUE: * This symbol, if defined, indicates that siginfo_t has the * si_value member */ /*#define HAS_SIGINFO_SI_ERRNO / **/ /*#define HAS_SIGINFO_SI_PID / **/ /*#define HAS_SIGINFO_SI_UID / **/ /*#define HAS_SIGINFO_SI_ADDR / **/ /*#define HAS_SIGINFO_SI_STATUS / **/ /*#define HAS_SIGINFO_SI_BAND / **/ /*#define HAS_SIGINFO_SI_VALUE / **/ /* HAS_SIGSETJMP: * This variable indicates to the C program that the sigsetjmp() * routine is available to save the calling process's registers * and stack environment for later use by siglongjmp(), and * to optionally save the process's signal mask. See * Sigjmp_buf, Sigsetjmp, and Siglongjmp. */ /* Sigjmp_buf: * This is the buffer type to be used with Sigsetjmp and Siglongjmp. */ /* Sigsetjmp: * This macro is used in the same way as sigsetjmp(), but will invoke * traditional setjmp() if sigsetjmp isn't available. * See HAS_SIGSETJMP. */ /* Siglongjmp: * This macro is used in the same way as siglongjmp(), but will invoke * traditional longjmp() if siglongjmp isn't available. * See HAS_SIGSETJMP. */ /*#define HAS_SIGSETJMP / **/ #ifdef HAS_SIGSETJMP #define Sigjmp_buf sigjmp_buf #define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask)) #define Siglongjmp(buf,retval) siglongjmp((buf),(retval)) #else #define Sigjmp_buf jmp_buf #define Sigsetjmp(buf,save_mask) setjmp((buf)) #define Siglongjmp(buf,retval) longjmp((buf),(retval)) #endif /* HAS_STATIC_INLINE: * This symbol, if defined, indicates that the C compiler supports * C99-style static inline. That is, the function can't be called * from another translation unit. */ /* PERL_STATIC_INLINE: * This symbol gives the best-guess incantation to use for static * inline functions. If HAS_STATIC_INLINE is defined, this will * give C99-style inline. If HAS_STATIC_INLINE is not defined, * this will give a plain 'static'. It will always be defined * to something that gives static linkage. * Possibilities include * static inline (c99) * static __inline__ (gcc -ansi) * static __inline (MSVC) * static _inline (older MSVC) * static (c89 compilers) */ /*#define HAS_STATIC_INLINE / **/ #define PERL_STATIC_INLINE static /**/ /* USE_STDIO_PTR: * This symbol is defined if the _ptr and _cnt fields (or similar) * of the stdio FILE structure can be used to access the stdio buffer * for a file handle. If this is defined, then the FILE_ptr(fp) * and FILE_cnt(fp) macros will also be defined and should be used * to access these fields. */ /* FILE_ptr: * This macro is used to access the _ptr field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_PTR is defined. */ /* STDIO_PTR_LVALUE: * This symbol is defined if the FILE_ptr macro can be used as an * lvalue. */ /* FILE_cnt: * This macro is used to access the _cnt field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_PTR is defined. */ /* STDIO_CNT_LVALUE: * This symbol is defined if the FILE_cnt macro can be used as an * lvalue. */ /* STDIO_PTR_LVAL_SETS_CNT: * This symbol is defined if using the FILE_ptr macro as an lvalue * to increase the pointer by n has the side effect of decreasing the * value of File_cnt(fp) by n. */ /* STDIO_PTR_LVAL_NOCHANGE_CNT: * This symbol is defined if using the FILE_ptr macro as an lvalue * to increase the pointer by n leaves File_cnt(fp) unchanged. */ /*#define USE_STDIO_PTR / **/ #ifdef USE_STDIO_PTR #define FILE_ptr(fp) ((fp)->_IO_read_ptr) /*#define STDIO_PTR_LVALUE / **/ #define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr) /*#define STDIO_CNT_LVALUE / **/ /*#define STDIO_PTR_LVAL_SETS_CNT / **/ /*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/ #endif /* USE_STDIO_BASE: * This symbol is defined if the _base field (or similar) of the * stdio FILE structure can be used to access the stdio buffer for * a file handle. If this is defined, then the FILE_base(fp) macro * will also be defined and should be used to access this field. * Also, the FILE_bufsiz(fp) macro will be defined and should be used * to determine the number of bytes in the buffer. USE_STDIO_BASE * will never be defined unless USE_STDIO_PTR is. */ /* FILE_base: * This macro is used to access the _base field (or equivalent) of the * FILE structure pointed to by its argument. This macro will always be * defined if USE_STDIO_BASE is defined. */ /* FILE_bufsiz: * This macro is used to determine the number of bytes in the I/O * buffer pointed to by _base field (or equivalent) of the FILE * structure pointed to its argument. This macro will always be defined * if USE_STDIO_BASE is defined. */ /*#define USE_STDIO_BASE / **/ #ifdef USE_STDIO_BASE #define FILE_base(fp) ((fp)->_IO_read_base) #define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base) #endif /* DOUBLESIZE: * This symbol contains the size of a double, so that the C preprocessor * can make decisions based on it. */ #define DOUBLESIZE 8 /**/ /* I_TIME: * This symbol is always defined, and indicates to the C program that * it should include <time.h>. */ /* I_SYS_TIME: * This symbol, if defined, indicates to the C program that it should * include <sys/time.h>. */ /* I_SYS_TIME_KERNEL: * This symbol, if defined, indicates to the C program that it should * include <sys/time.h> with KERNEL defined. */ /* HAS_TM_TM_ZONE: * This symbol, if defined, indicates to the C program that * the struct tm has a tm_zone field. */ /* HAS_TM_TM_GMTOFF: * This symbol, if defined, indicates to the C program that * the struct tm has a tm_gmtoff field. */ #define I_TIME /**/ /*#define I_SYS_TIME / **/ /*#define I_SYS_TIME_KERNEL / **/ /*#define HAS_TM_TM_ZONE / **/ /*#define HAS_TM_TM_GMTOFF / **/ /* VAL_O_NONBLOCK: * This symbol is to be used during open() or fcntl(F_SETFL) to turn on * non-blocking I/O for the file descriptor. Note that there is no way * back, i.e. you cannot turn it blocking again this way. If you wish to * alternatively switch between blocking and non-blocking, use the * ioctl(FIOSNBIO) call instead, but that is not supported by all devices. */ /* VAL_EAGAIN: * This symbol holds the errno error code set by read() when no data was * present on the non-blocking file descriptor. */ /* RD_NODATA: * This symbol holds the return code from read() when no data is present * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is * not defined, then you can't distinguish between no data and EOF by * issuing a read(). You'll have to find another way to tell for sure! */ /* EOF_NONBLOCK: * This symbol, if defined, indicates to the C program that a read() on * a non-blocking file descriptor will return 0 on EOF, and not the value * held in RD_NODATA (-1 usually, in that case!). */ #define VAL_O_NONBLOCK O_NONBLOCK #define VAL_EAGAIN EAGAIN #define RD_NODATA -1 #undef EOF_NONBLOCK /* PTRSIZE: * This symbol contains the size of a pointer, so that the C preprocessor * can make decisions based on it. It will be sizeof(void *) if * the compiler supports (void *); otherwise it will be * sizeof(char *). */ #define PTRSIZE 4 /**/ /* Drand01: * This macro is to be used to generate uniformly distributed * random numbers over the range [0., 1.[. You may have to supply * an 'extern double drand48();' in your program since SunOS 4.1.3 * doesn't provide you with anything relevant in its headers. * See HAS_DRAND48_PROTO. */ /* Rand_seed_t: * This symbol defines the type of the argument of the * random seed function. */ /* seedDrand01: * This symbol defines the macro to be used in seeding the * random number generator (see Drand01). */ /* RANDBITS: * This symbol indicates how many bits are produced by the * function used to generate normalized random numbers. * Values include 15, 16, 31, and 48. */ #define Drand01() Perl_drand48() /**/ #define Rand_seed_t U32 /**/ #define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/ #define RANDBITS 48 /**/ /* SSize_t: * This symbol holds the type used by functions that return * a count of bytes or an error condition. It must be a signed type. * It is usually ssize_t, but may be long or int, etc. * It may be necessary to include <sys/types.h> or <unistd.h> * to get any typedef'ed information. * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t). */ #define SSize_t int /* signed count of bytes */ /* EBCDIC: * This symbol, if defined, indicates that this system uses * EBCDIC encoding. */ /*#define EBCDIC / **/ /* ARCHLIB: * This variable, if defined, holds the name of the directory in * which the user wants to put architecture-dependent public * library files for perl5. It is most often a local directory * such as /usr/local/lib. Programs using this variable must be * prepared to deal with filename expansion. If ARCHLIB is the * same as PRIVLIB, it is not defined, since presumably the * program already searches PRIVLIB. */ /* ARCHLIB_EXP: * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /*#define ARCHLIB "/usr/local/lib/perl5/5.32/unknown" / **/ /*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.32/unknown" / **/ /* BIN: * This symbol holds the path of the bin directory where the package will * be installed. Program must be prepared to deal with ~name substitution. */ /* BIN_EXP: * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. */ /* PERL_RELOCATABLE_INC: * This symbol, if defined, indicates that we'd like to relocate entries * in @INC at run time based on the location of the perl binary. */ #define BIN "/usr/local/bin" /**/ #define BIN_EXP "/usr/local/bin" /**/ #define PERL_RELOCATABLE_INC "undef" /**/ /* PERL_INC_VERSION_LIST: * This variable specifies the list of subdirectories in over * which perl.c:incpush() and lib/lib.pm will automatically * search when adding directories to @INC, in a format suitable * for a C initialization string. See the inc_version_list entry * in Porting/Glossary for more details. */ /*#define PERL_INC_VERSION_LIST NULL / **/ /* INSTALL_USR_BIN_PERL: * This symbol, if defined, indicates that Perl is to be installed * also as /usr/bin/perl. */ /*#define INSTALL_USR_BIN_PERL / **/ /* PERL_OTHERLIBDIRS: * This variable contains a colon-separated set of paths for the perl * binary to search for additional library files or modules. * These directories will be tacked to the end of @INC. * Perl will automatically search below each path for version- * and architecture-specific directories. See PERL_INC_VERSION_LIST * for more details. */ /*#define PERL_OTHERLIBDIRS " " / **/ /* PRIVLIB: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. */ /* PRIVLIB_EXP: * This symbol contains the ~name expanded version of PRIVLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "/usr/local/lib/perl5/5.32" /**/ #define PRIVLIB_EXP "/usr/local/lib/perl5/5.32" /**/ /* SITEARCH: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. * The standard distribution will put nothing in this directory. * After perl has been installed, users may install their own local * architecture-dependent modules in this directory with * MakeMaker Makefile.PL * or equivalent. See INSTALL for details. */ /* SITEARCH_EXP: * This symbol contains the ~name expanded version of SITEARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /*#define SITEARCH "/usr/local/lib/perl5/5.32/unknown" / **/ /*#define SITEARCH_EXP "/usr/local/lib/perl5/5.32/unknown" / **/ /* SITELIB: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ~ expansion. * The standard distribution will put nothing in this directory. * After perl has been installed, users may install their own local * architecture-independent modules in this directory with * MakeMaker Makefile.PL * or equivalent. See INSTALL for details. */ /* SITELIB_EXP: * This symbol contains the ~name expanded version of SITELIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /* SITELIB_STEM: * This define is SITELIB_EXP with any trailing version-specific component * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ #define SITELIB "/usr/local/lib/perl5/5.32" /**/ #define SITELIB_EXP "/usr/local/lib/perl5/5.32" /**/ #define SITELIB_STEM "/usr/local/lib/perl5" /**/ /* PERL_VENDORARCH: * If defined, this symbol contains the name of a private library. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. * It may have a ~ on the front. * The standard distribution will put nothing in this directory. * Vendors who distribute perl may wish to place their own * architecture-dependent modules and extensions in this directory with * MakeMaker Makefile.PL INSTALLDIRS=vendor * or equivalent. See INSTALL for details. */ /* PERL_VENDORARCH_EXP: * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /*#define PERL_VENDORARCH "" / **/ /*#define PERL_VENDORARCH_EXP "" / **/ /* PERL_VENDORLIB_EXP: * This symbol contains the ~name expanded version of VENDORLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ /* PERL_VENDORLIB_STEM: * This define is PERL_VENDORLIB_EXP with any trailing version-specific component * removed. The elements in inc_version_list (inc_version_list.U) can * be tacked onto this variable to generate a list of directories to search. */ /*#define PERL_VENDORLIB_EXP "" / **/ /*#define PERL_VENDORLIB_STEM "" / **/ /* OSNAME: * This symbol contains the name of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ /* OSVERS: * This symbol contains the version of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */ #define OSNAME "unknown" /**/ #define OSVERS "unknown" /**/ /* CAT2: * This macro concatenates 2 tokens together. */ /* STRINGIFY: * This macro surrounds its token with double quotes. */ #if 42 == 1 #define CAT2(a,b) a/**/b #define STRINGIFY(a) "a" #endif #if 42 == 42 #define PeRl_CaTiFy(a, b) a ## b #define PeRl_StGiFy(a) #a #define CAT2(a,b) PeRl_CaTiFy(a,b) #define StGiFy(a) PeRl_StGiFy(a) #define STRINGIFY(a) PeRl_StGiFy(a) #endif #if 42 != 1 && 42 != 42 #include "Bletch: How does this C preprocessor concatenate tokens?" #endif /* CPPSTDIN: * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. Typical value of "cc -E" or "/lib/cpp", but it can also * call a wrapper. See CPPRUN. */ /* CPPMINUS: * This symbol contains the second part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. This symbol will have the value "-" if CPPSTDIN needs a minus * to specify standard input, otherwise the value is "". */ /* CPPRUN: * This symbol contains the string which will invoke a C preprocessor on * the standard input and produce to standard output. It needs to end * with CPPLAST, after all other preprocessor flags have been specified. * The main difference with CPPSTDIN is that this program will never be a * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is * available directly to the user. Note that it may well be different from * the preprocessor used to compile the C program. */ /* CPPLAST: * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */ #define CPPSTDIN "cc -E" #define CPPMINUS "-" #define CPPRUN "cc -E" #define CPPLAST "-" /* HAS_ACCESS: * This manifest constant lets the C program know that the access() * system call is available to check for accessibility using real UID/GID. * (always present on UNIX.) */ /*#define HAS_ACCESS / **/ /* HASATTRIBUTE_FORMAT: * Can we handle GCC attribute for checking printf-style formats */ /* PRINTF_FORMAT_NULL_OK: * Allows __printf__ format to be null when checking printf-style */ /* HASATTRIBUTE_MALLOC: * Can we handle GCC attribute for malloc-style functions. */ /* HASATTRIBUTE_NONNULL: * Can we handle GCC attribute for nonnull function parms. */ /* HASATTRIBUTE_NORETURN: * Can we handle GCC attribute for functions that do not return */ /* HASATTRIBUTE_PURE: * Can we handle GCC attribute for pure functions */ /* HASATTRIBUTE_UNUSED: * Can we handle GCC attribute for unused variables and arguments */ /* HASATTRIBUTE_DEPRECATED: * Can we handle GCC attribute for marking deprecated APIs */ /* HASATTRIBUTE_WARN_UNUSED_RESULT: * Can we handle GCC attribute for warning on unused results */ /* HASATTRIBUTE_ALWAYS_INLINE: * Can we handle GCC attribute for functions that should always be * inlined. */ /*#define HASATTRIBUTE_DEPRECATED / **/ /*#define HASATTRIBUTE_FORMAT / **/ /*#define PRINTF_FORMAT_NULL_OK / **/ /*#define HASATTRIBUTE_NORETURN / **/ /*#define HASATTRIBUTE_MALLOC / **/ /*#define HASATTRIBUTE_NONNULL / **/ /*#define HASATTRIBUTE_PURE / **/ /*#define HASATTRIBUTE_UNUSED / **/ /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/ /*#define HASATTRIBUTE_ALWAYS_INLINE / **/ /* HAS_BACKTRACE: * This symbol, if defined, indicates that the backtrace() routine is * available to get a stack trace. The <execinfo.h> header must be * included to use this routine. */ /*#define HAS_BACKTRACE / **/ /* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. */ /* CSH: * This symbol, if defined, contains the full pathname of csh. */ /*#define HAS_CSH / **/ #ifdef HAS_CSH #define CSH "" /**/ #endif /* HAS_DLADDR: * This symbol, if defined, indicates that the dladdr() routine is * available to query dynamic linker information for an address. * The <dlfcn.h> header must be included to use this routine. */ /*#define HAS_DLADDR / **/ /* SETUID_SCRIPTS_ARE_SECURE_NOW: * This symbol, if defined, indicates that the bug that prevents * setuid scripts from being secure is not present in this kernel. */ /* DOSUID: * This symbol, if defined, indicates that the C program should * check the script that it is executing for setuid/setgid bits, and * attempt to emulate setuid/setgid on systems that have disabled * setuid #! scripts because the kernel can't do it securely. * It is up to the package designer to make sure that this emulation * is done securely. Among other things, it should do an fstat on * the script it just opened to make sure it really is a setuid/setgid * script, it should make sure the arguments passed correspond exactly * to the argument on the #! line, and it should not trust any * subprocesses to which it must pass the filename rather than the * file descriptor of the script to be executed. */ /*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/ /*#define DOSUID / **/ /* HAS_ENDGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for finalizing sequential access of the group database. */ /*#define HAS_ENDGRENT / **/ /* HAS_ENDHOSTENT: * This symbol, if defined, indicates that the endhostent() routine is * available to close whatever was being used for host queries. */ /*#define HAS_ENDHOSTENT / **/ /* HAS_ENDNETENT: * This symbol, if defined, indicates that the endnetent() routine is * available to close whatever was being used for network queries. */ /*#define HAS_ENDNETENT / **/ /* HAS_ENDPROTOENT: * This symbol, if defined, indicates that the endprotoent() routine is * available to close whatever was being used for protocol queries. */ /*#define HAS_ENDPROTOENT / **/ /* HAS_ENDPWENT: * This symbol, if defined, indicates that the getgrent routine is * available for finalizing sequential access of the passwd database. */ /*#define HAS_ENDPWENT / **/ /* HAS_ENDSERVENT: * This symbol, if defined, indicates that the endservent() routine is * available to close whatever was being used for service queries. */ /*#define HAS_ENDSERVENT / **/ /* FLEXFILENAMES: * This symbol, if defined, indicates that the system supports filenames * longer than 14 characters. */ /*#define FLEXFILENAMES / **/ /* HAS_GETGRENT: * This symbol, if defined, indicates that the getgrent routine is * available for sequential access of the group database. */ /*#define HAS_GETGRENT / **/ /* HAS_GETHOSTBYADDR: * This symbol, if defined, indicates that the gethostbyaddr() routine is * available to look up hosts by their IP addresses. */ /*#define HAS_GETHOSTBYADDR / **/ /* HAS_GETHOSTBYNAME: * This symbol, if defined, indicates that the gethostbyname() routine is * available to look up host names in some data base or other. */ /*#define HAS_GETHOSTBYNAME / **/ /* HAS_GETHOSTENT: * This symbol, if defined, indicates that the gethostent() routine is * available to look up host names in some data base or another. */ /*#define HAS_GETHOSTENT / **/ /* HAS_GETHOSTNAME: * This symbol, if defined, indicates that the C program may use the * gethostname() routine to derive the host name. See also HAS_UNAME * and PHOSTNAME. */ /* HAS_UNAME: * This symbol, if defined, indicates that the C program may use the * uname() routine to derive the host name. See also HAS_GETHOSTNAME * and PHOSTNAME. */ /* PHOSTNAME: * This symbol, if defined, indicates the command to feed to the * popen() routine to derive the host name. See also HAS_GETHOSTNAME * and HAS_UNAME. Note that the command uses a fully qualified path, * so that it is safe even if used by a process with super-user * privileges. */ /* HAS_PHOSTNAME: * This symbol, if defined, indicates that the C program may use the * contents of PHOSTNAME as a command to feed to the popen() routine * to derive the host name. */ /*#define HAS_GETHOSTNAME / **/ /*#define HAS_UNAME / **/ /*#define HAS_PHOSTNAME / **/ #ifdef HAS_PHOSTNAME #define PHOSTNAME "/bin/hostname" /* How to get the host name */ #endif /* HAS_GETNETBYADDR: * This symbol, if defined, indicates that the getnetbyaddr() routine is * available to look up networks by their IP addresses. */ /*#define HAS_GETNETBYADDR / **/ /* HAS_GETNETBYNAME: * This symbol, if defined, indicates that the getnetbyname() routine is * available to look up networks by their names. */ /*#define HAS_GETNETBYNAME / **/ /* HAS_GETNETENT: * This symbol, if defined, indicates that the getnetent() routine is * available to look up network names in some data base or another. */ /*#define HAS_GETNETENT / **/ /* HAS_GETPROTOENT: * This symbol, if defined, indicates that the getprotoent() routine is * available to look up protocols in some data base or another. */ /*#define HAS_GETPROTOENT / **/ /* HAS_GETPGRP: * This symbol, if defined, indicates that the getpgrp routine is * available to get the current process group. */ /* USE_BSD_GETPGRP: * This symbol, if defined, indicates that getpgrp needs one * arguments whereas USG one needs none. */ /*#define HAS_GETPGRP / **/ /*#define USE_BSD_GETPGRP / **/ /* HAS_GETPROTOBYNAME: * This symbol, if defined, indicates that the getprotobyname() * routine is available to look up protocols by their name. */ /* HAS_GETPROTOBYNUMBER: * This symbol, if defined, indicates that the getprotobynumber() * routine is available to look up protocols by their number. */ /*#define HAS_GETPROTOBYNAME / **/ /*#define HAS_GETPROTOBYNUMBER / **/ /* HAS_GETPWENT: * This symbol, if defined, indicates that the getpwent routine is * available for sequential access of the passwd database. * If this is not available, the older getpw() function may be available. */ /*#define HAS_GETPWENT / **/ /* HAS_GETSERVENT: * This symbol, if defined, indicates that the getservent() routine is * available to look up network services in some data base or another. */ /*#define HAS_GETSERVENT / **/ /* HAS_GETSERVBYNAME: * This symbol, if defined, indicates that the getservbyname() * routine is available to look up services by their name. */ /* HAS_GETSERVBYPORT: * This symbol, if defined, indicates that the getservbyport() * routine is available to look up services by their port. */ /*#define HAS_GETSERVBYNAME / **/ /*#define HAS_GETSERVBYPORT / **/ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl() routine (and * friends htons() ntohl() ntohs()) are available to do network * order byte swapping. */ /* HAS_HTONS: * This symbol, if defined, indicates that the htons() routine (and * friends htonl() ntohl() ntohs()) are available to do network * order byte swapping. */ /* HAS_NTOHL: * This symbol, if defined, indicates that the ntohl() routine (and * friends htonl() htons() ntohs()) are available to do network * order byte swapping. */ /* HAS_NTOHS: * This symbol, if defined, indicates that the ntohs() routine (and * friends htonl() htons() ntohl()) are available to do network * order byte swapping. */ /*#define HAS_HTONL / **/ /*#define HAS_HTONS / **/ /*#define HAS_NTOHL / **/ /*#define HAS_NTOHS / **/ /* HAS_LONG_DOUBLE: * This symbol will be defined if the C compiler supports long * doubles. */ /* LONG_DOUBLESIZE: * This symbol contains the size of a long double, so that the * C preprocessor can make decisions based on it. It is only * defined if the system supports long doubles. Note that this * is sizeof(long double), which may include unused bytes. */ /* HAS_LDEXPL: * This symbol, if defined, indicates that the ldexpl routine is * available to shift a long double floating-point number * by an integral power of 2. */ /* LONG_DOUBLEKIND: * LONG_DOUBLEKIND will be one of * LONG_DOUBLE_IS_DOUBLE * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE * LONG_DOUBLE_IS_VAX_H_FLOAT * LONG_DOUBLE_IS_UNKNOWN_FORMAT * It is only defined if the system supports long doubles. */ /* LONG_DOUBLE_STYLE_IEEE: * This symbol, if defined, indicates that the long double * is any of the IEEE 754 style long doubles: * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED, * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE. */ /* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE: * This symbol, if defined, indicates that the long double is * the 128-bit double-double. */ /* LONG_DOUBLE_STYLE_IEEE_EXTENDED: * This symbol, if defined, indicates that the long double is * the 80-bit IEEE 754. Note that despite the 'extended' this * is less than the 'std', since this is an extension of * the double precision. */ /* LONG_DOUBLE_STYLE_IEEE_STD: * This symbol, if defined, indicates that the long double is * the 128-bit IEEE 754. */ /* LONG_DOUBLE_STYLE_VAX: * This symbol, if defined, indicates that the long double is * the 128-bit VAX format H. */ /*#define HAS_LDEXPL / **/ /*#define HAS_LONG_DOUBLE / **/ #ifdef HAS_LONG_DOUBLE #define LONG_DOUBLESIZE 8 /**/ #define LONG_DOUBLEKIND 0 /**/ #define LONG_DOUBLE_IS_DOUBLE 0 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8 #define LONG_DOUBLE_IS_VAX_H_FLOAT 9 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */ #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */ #undef LONG_DOUBLE_STYLE_IEEE #undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE #undef LONG_DOUBLE_STYLE_IEEE_EXTENDED #undef LONG_DOUBLE_STYLE_IEEE_STD #undef LONG_DOUBLE_STYLE_VAX #endif /* HAS_LONG_LONG: * This symbol will be defined if the C compiler supports long long. */ /* LONGLONGSIZE: * This symbol contains the size of a long long, so that the * C preprocessor can make decisions based on it. It is only * defined if the system supports long long. */ /*#define HAS_LONG_LONG / **/ #ifdef HAS_LONG_LONG #define LONGLONGSIZE 8 /**/ #endif /* HAS_MKSTEMP: * This symbol, if defined, indicates that the mkstemp routine is * available to exclusively create and open a uniquely named * temporary file. */ /*#define HAS_MKSTEMP / **/ /* HAS_MMAP: * This symbol, if defined, indicates that the mmap system call is * available to map a file into memory. */ /* Mmap_t: * This symbol holds the return type of the mmap() system call * (and simultaneously the type of the first argument). * Usually set to 'void *' or 'caddr_t'. */ /*#define HAS_MMAP / **/ #define Mmap_t void * /**/ /* HAS_SETGRENT: * This symbol, if defined, indicates that the setgrent routine is * available for initializing sequential access of the group database. */ /*#define HAS_SETGRENT / **/ /* HAS_SETHOSTENT: * This symbol, if defined, indicates that the sethostent() routine is * available. */ /*#define HAS_SETHOSTENT / **/ /* HAS_SETNETENT: * This symbol, if defined, indicates that the setnetent() routine is * available. */ /*#define HAS_SETNETENT / **/ /* HAS_SETPROTOENT: * This symbol, if defined, indicates that the setprotoent() routine is * available. */ /*#define HAS_SETPROTOENT / **/ /* HAS_SETPGRP: * This symbol, if defined, indicates that the setpgrp routine is * available to set the current process group. */ /* USE_BSD_SETPGRP: * This symbol, if defined, indicates that setpgrp needs two * arguments whereas USG one needs none. See also HAS_SETPGID * for a POSIX interface. */ /*#define HAS_SETPGRP / **/ /*#define USE_BSD_SETPGRP / **/ /* HAS_SETPWENT: * This symbol, if defined, indicates that the setpwent routine is * available for initializing sequential access of the passwd database. */ /*#define HAS_SETPWENT / **/ /* HAS_SETSERVENT: * This symbol, if defined, indicates that the setservent() routine is * available. */ /*#define HAS_SETSERVENT / **/ /* HAS_SETVBUF: * This symbol, if defined, indicates that the setvbuf routine is * available to change buffering on an open stdio stream. * to a line-buffered mode. */ /*#define HAS_SETVBUF / **/ /* HAS_SHM: * This symbol, if defined, indicates that the entire shm*(2) library is * supported. */ /*#define HAS_SHM / **/ /* Shmat_t: * This symbol holds the return type of the shmat() system call. * Usually set to 'void *' or 'char *'. */ /* HAS_SHMAT_PROTOTYPE: * This symbol, if defined, indicates that the sys/shm.h includes * a prototype for shmat(). Otherwise, it is up to the program to * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess, * but not always right so it should be emitted by the program only * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs. */ #define Shmat_t void * /**/ /*#define HAS_SHMAT_PROTOTYPE / **/ /* HAS_SOCKET: * This symbol, if defined, indicates that the BSD socket interface is * supported. */ /* HAS_SOCKETPAIR: * This symbol, if defined, indicates that the BSD socketpair() call is * supported. */ /* HAS_SOCKADDR_SA_LEN: * This symbol, if defined, indicates that the struct sockaddr * structure has a member called sa_len, indicating the length of * the structure. */ /* HAS_SOCKADDR_IN6: * This symbol, if defined, indicates the availability of * struct sockaddr_in6; */ /* HAS_SOCKADDR_STORAGE: * This symbol, if defined, indicates the availability of * struct sockaddr_storage; */ /* HAS_SIN6_SCOPE_ID: * This symbol, if defined, indicates that the struct sockaddr_in6 * structure has a member called sin6_scope_id. */ /* HAS_IP_MREQ: * This symbol, if defined, indicates the availability of * struct ip_mreq; */ /* HAS_IP_MREQ_SOURCE: * This symbol, if defined, indicates the availability of * struct ip_mreq_source; */ /* HAS_IPV6_MREQ: * This symbol, if defined, indicates the availability of * struct ipv6_mreq; */ /* HAS_IPV6_MREQ_SOURCE: * This symbol, if defined, indicates the availability of * struct ipv6_mreq_source; */ /*#define HAS_SOCKET / **/ /*#define HAS_SOCKETPAIR / **/ /*#define HAS_SOCKADDR_SA_LEN / **/ /*#define HAS_SOCKADDR_IN6 / **/ /*#define HAS_SOCKADDR_STORAGE / **/ /*#define HAS_SIN6_SCOPE_ID / **/ /*#define HAS_IP_MREQ / **/ /*#define HAS_IP_MREQ_SOURCE / **/ /*#define HAS_IPV6_MREQ / **/ /*#define HAS_IPV6_MREQ_SOURCE / **/ /* USE_STAT_BLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. */ #ifndef USE_STAT_BLOCKS /*#define USE_STAT_BLOCKS / **/ #endif /* HAS_SYS_ERRLIST: * This symbol, if defined, indicates that the sys_errlist array is * available to translate error numbers to strings. The extern int * sys_nerr gives the size of that table. */ /*#define HAS_SYS_ERRLIST / **/ /* HAS_STRTOUL: * This symbol, if defined, indicates that the strtoul routine is * available to provide conversion of strings to unsigned long. */ #define HAS_STRTOUL /**/ /* HAS_UNION_SEMUN: * This symbol, if defined, indicates that the union semun is * defined by including <sys/sem.h>. If not, the user code * probably needs to define it as: * union semun { * int val; * struct semid_ds *buf; * unsigned short *array; * } */ /* USE_SEMCTL_SEMUN: * This symbol, if defined, indicates that union semun is * used for semctl IPC_STAT. */ /* USE_SEMCTL_SEMID_DS: * This symbol, if defined, indicates that struct semid_ds * is * used for semctl IPC_STAT. */ /*#define HAS_UNION_SEMUN / **/ /*#define USE_SEMCTL_SEMUN / **/ /*#define USE_SEMCTL_SEMID_DS / **/ /* HAS_VFORK: * This symbol, if defined, indicates that vfork() exists. */ /*#define HAS_VFORK / **/ /* HAS_PSEUDOFORK: * This symbol, if defined, indicates that an emulation of the * fork routine is available. */ /*#define HAS_PSEUDOFORK / **/ /* Signal_t: * This symbol's value is either "void" or "int", corresponding to the * appropriate return type of a signal handler. Thus, you can declare * a signal handler using "Signal_t (*handler)()", and define the * handler using "Signal_t handler(sig)". */ #define Signal_t int /* Signal handler's return type */ /* I_DIRENT: * This symbol, if defined, indicates to the C program that it should * include <dirent.h>. Using this symbol also triggers the definition * of the Direntry_t define which ends up being 'struct dirent' or * 'struct direct' depending on the availability of <dirent.h>. */ /* DIRNAMLEN: * This symbol, if defined, indicates to the C program that the length * of directory entry names is provided by a d_namlen field. Otherwise * you need to do strlen() on the d_name field. */ /* Direntry_t: * This symbol is set to 'struct direct' or 'struct dirent' depending on * whether dirent is available or not. You should use this pseudo type to * portably declare your directory entries. */ #define I_DIRENT /**/ /*#define DIRNAMLEN / **/ #define Direntry_t struct dirent /* I_EXECINFO: * This symbol, if defined, indicates to the C program that it should * include <execinfo.h> for backtrace() support. */ /*#define I_EXECINFO / **/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include <grp.h>. */ /* GRPASSWD: * This symbol, if defined, indicates to the C program that struct group * in <grp.h> contains gr_passwd. */ /*#define I_GRP / **/ /*#define GRPASSWD / **/ /* I_NDBM: * This symbol, if defined, indicates that <ndbm.h> exists and should * be included. */ /* I_GDBMNDBM: * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should * be included. This was the location of the ndbm.h compatibility file * in RedHat 7.1. */ /* I_GDBM_NDBM: * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should * be included. This is the location of the ndbm.h compatibility file * in Debian 4.0. */ /* NDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ /* GDBMNDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ /* GDBM_NDBM_H_USES_PROTOTYPES: * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C * prototypes instead of K&R style function declarations without any * parameter information. While ANSI C prototypes are supported in C++, * K&R style function declarations will yield errors. */ /*#define I_NDBM / **/ /*#define I_GDBMNDBM / **/ /*#define I_GDBM_NDBM / **/ /*#define NDBM_H_USES_PROTOTYPES / **/ /*#define GDBMNDBM_H_USES_PROTOTYPES / **/ /*#define GDBM_NDBM_H_USES_PROTOTYPES / **/ /* I_NETDB: * This symbol, if defined, indicates that <netdb.h> exists and * should be included. */ /*#define I_NETDB / **/ /* I_NET_ERRNO: * This symbol, if defined, indicates that <net/errno.h> exists and * should be included. */ /*#define I_NET_ERRNO / **/ /* I_PWD: * This symbol, if defined, indicates to the C program that it should * include <pwd.h>. */ /* PWQUOTA: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_quota. */ /* PWAGE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_age. */ /* PWCHANGE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_change. */ /* PWCLASS: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_class. */ /* PWEXPIRE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_expire. */ /* PWCOMMENT: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_comment. */ /* PWGECOS: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_gecos. */ /* PWPASSWD: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_passwd. */ /*#define I_PWD / **/ /*#define PWQUOTA / **/ /*#define PWAGE / **/ /*#define PWCHANGE / **/ /*#define PWCLASS / **/ /*#define PWEXPIRE / **/ /*#define PWCOMMENT / **/ /*#define PWGECOS / **/ /*#define PWPASSWD / **/ /* I_SYSUIO: * This symbol, if defined, indicates that <sys/uio.h> exists and * should be included. */ /*#define I_SYSUIO / **/ /* I_TERMIO: * This symbol, if defined, indicates that the program should include * <termio.h> rather than <sgtty.h>. There are also differences in * the ioctl() calls that depend on the value of this symbol. */ /* I_TERMIOS: * This symbol, if defined, indicates that the program should include * the POSIX termios.h rather than sgtty.h or termio.h. * There are also differences in the ioctl() calls that depend on the * value of this symbol. */ /* I_SGTTY: * This symbol, if defined, indicates that the program should include * <sgtty.h> rather than <termio.h>. There are also differences in * the ioctl() calls that depend on the value of this symbol. */ /*#define I_TERMIO / **/ /*#define I_TERMIOS / **/ /*#define I_SGTTY / **/ /* Free_t: * This variable contains the return type of free(). It is usually * void, but occasionally int. */ /* Malloc_t: * This symbol is the type of pointer returned by malloc and realloc. */ #define Malloc_t void * /**/ #define Free_t void /**/ /* PERL_MALLOC_WRAP: * This symbol, if defined, indicates that we'd like malloc wrap checks. */ /*#define PERL_MALLOC_WRAP / **/ /* MYMALLOC: * This symbol, if defined, indicates that we're using our own malloc. */ /*#define MYMALLOC / **/ /* SH_PATH: * This symbol contains the full pathname to the shell used on this * on this system to execute Bourne shell scripts. Usually, this will be * /bin/sh, though it's possible that some systems will have /bin/ksh, * /bin/pdksh, /bin/ash, /bin/bash, or even something such as * D:/bin/sh.exe. */ #define SH_PATH "/bin/sh" /**/ /* SIG_NAME: * This symbol contains a list of signal names in order of * signal number. This is intended * to be used as a static array initialization, like this: * char *sig_name[] = { SIG_NAME }; * The signals in the list are separated with commas, and each signal * is surrounded by double quotes. There is no leading SIG in the signal * name, i.e. SIGQUIT is known as "QUIT". * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn, * etc., where nn is the actual signal number (e.g. NUM37). * The signal number for sig_name[i] is stored in sig_num[i]. * The last element is 0 to terminate the list with a NULL. This * corresponds to the 0 at the end of the sig_name_init list. * Note that this variable is initialized from the sig_name_init, * not from sig_name (which is unused). */ /* SIG_NUM: * This symbol contains a list of signal numbers, in the same order as the * SIG_NAME list. It is suitable for static array initialization, as in: * int sig_num[] = { SIG_NUM }; * The signals in the list are separated with commas, and the indices * within that list and the SIG_NAME list match, so it's easy to compute * the signal name from a number or vice versa at the price of a small * dynamic linear lookup. * Duplicates are allowed, but are moved to the end of the list. * The signal number corresponding to sig_name[i] is sig_number[i]. * if (i < NSIG) then sig_number[i] == i. * The last element is 0, corresponding to the 0 at the end of * the sig_name_init list. * Note that this variable is initialized from the sig_num_init, * not from sig_num (which is unused). */ /* SIG_SIZE: * This variable contains the number of elements of the SIG_NAME * and SIG_NUM arrays, excluding the final NULL entry. */ #define SIG_NAME 0 /**/ #define SIG_NUM 0 /**/ #define SIG_SIZE 1 /**/ /* USE_CROSS_COMPILE: * This symbol, if defined, indicates that Perl is being cross-compiled. */ /* PERL_TARGETARCH: * This symbol, if defined, indicates the target architecture * Perl has been cross-compiled to. Undefined if not a cross-compile. */ #ifndef USE_CROSS_COMPILE /*#define USE_CROSS_COMPILE / **/ #define PERL_TARGETARCH "" /**/ #endif /* PERL_USE_DEVEL: * This symbol, if defined, indicates that Perl was configured with * -Dusedevel, to enable development features. This should not be * done for production builds. */ /*#define PERL_USE_DEVEL / **/ /* HAS_ATOLF: * This symbol, if defined, indicates that the atolf routine is * available to convert strings into long doubles. */ /*#define HAS_ATOLF / **/ /* HAS_ATOLL: * This symbol, if defined, indicates that the atoll routine is * available to convert strings into long longs. */ /*#define HAS_ATOLL / **/ /* HAS__FWALK: * This symbol, if defined, indicates that the _fwalk system call is * available to apply a function to all the file handles. */ /*#define HAS__FWALK / **/ /* HAS_ACCEPT4: * This symbol, if defined, indicates that the accept4 routine is * available to accept socket connections. */ /*#define HAS_ACCEPT4 / **/ /* HAS_ACOSH: * This symbol, if defined, indicates that the acosh routine is * available to do the inverse hyperbolic cosine function. */ /*#define HAS_ACOSH / **/ /* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. */ /*#define HAS_AINTL / **/ /* HAS_ASINH: * This symbol, if defined, indicates that the asinh routine is * available to do the inverse hyperbolic sine function. */ /*#define HAS_ASINH / **/ /* HAS_ATANH: * This symbol, if defined, indicates that the atanh routine is * available to do the inverse hyperbolic tangent function. */ /*#define HAS_ATANH / **/ /* HAS_BUILTIN_CHOOSE_EXPR: * Can we handle GCC builtin for compile-time ternary-like expressions */ /* HAS_BUILTIN_EXPECT: * Can we handle GCC builtin for telling that certain values are more * likely */ /*#define HAS_BUILTIN_EXPECT / **/ /*#define HAS_BUILTIN_CHOOSE_EXPR / **/ /* HAS_BUILTIN_ADD_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_add_overflow for adding integers with overflow checks. */ /* HAS_BUILTIN_SUB_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_sub_overflow for subtracting integers with overflow checks. */ /* HAS_BUILTIN_MUL_OVERFLOW: * This symbol, if defined, indicates that the compiler supports * __builtin_mul_overflow for multiplying integers with overflow checks. */ /*#define HAS_BUILTIN_ADD_OVERFLOW / **/ /*#define HAS_BUILTIN_SUB_OVERFLOW / **/ /*#define HAS_BUILTIN_MUL_OVERFLOW / **/ /* HAS_C99_VARIADIC_MACROS: * If defined, the compiler supports C99 variadic macros. */ /*#define HAS_C99_VARIADIC_MACROS / **/ /* HAS_CLASS: * This symbol, if defined, indicates that the class routine is * available to classify doubles. Available for example in AIX. * The returned values are defined in <float.h> and are: * * FP_PLUS_NORM Positive normalized, nonzero * FP_MINUS_NORM Negative normalized, nonzero * FP_PLUS_DENORM Positive denormalized, nonzero * FP_MINUS_DENORM Negative denormalized, nonzero * FP_PLUS_ZERO +0.0 * FP_MINUS_ZERO -0.0 * FP_PLUS_INF +INF * FP_MINUS_INF -INF * FP_NANS Signaling Not a Number (NaNS) * FP_NANQ Quiet Not a Number (NaNQ) */ /*#define HAS_CLASS / **/ /* HAS_CLEARENV: * This symbol, if defined, indicates that the clearenv () routine is * available for use. */ /*#define HAS_CLEARENV / **/ /* HAS_STRUCT_CMSGHDR: * This symbol, if defined, indicates that the struct cmsghdr * is supported. */ /*#define HAS_STRUCT_CMSGHDR / **/ /* HAS_COPYSIGN: * This symbol, if defined, indicates that the copysign routine is * available to do the copysign function. */ /*#define HAS_COPYSIGN / **/ /* HAS_COPYSIGNL: * This symbol, if defined, indicates that the copysignl routine is * available. If aintl is also present we can emulate modfl. */ /*#define HAS_COPYSIGNL / **/ /* USE_CPLUSPLUS: * This symbol, if defined, indicates that a C++ compiler was * used to compiled Perl and will be used to compile extensions. */ /*#define USE_CPLUSPLUS / **/ /* HAS_DBMINIT_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the dbminit() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int dbminit(char *); */ /*#define HAS_DBMINIT_PROTO / **/ /* HAS_DIR_DD_FD: * This symbol, if defined, indicates that the the DIR* dirstream * structure contains a member variable named dd_fd. */ /*#define HAS_DIR_DD_FD / **/ /* HAS_DIRFD: * This manifest constant lets the C program know that dirfd * is available. */ /*#define HAS_DIRFD / **/ /* DLSYM_NEEDS_UNDERSCORE: * This symbol, if defined, indicates that we need to prepend an * underscore to the symbol name before calling dlsym(). This only * makes sense if you *have* dlsym, which we will presume is the * case if you're using dl_dlopen.xs. */ /*#define DLSYM_NEEDS_UNDERSCORE / **/ /* HAS_DUP3: * This symbol, if defined, indicates that the dup3 routine is * available to duplicate file descriptors. */ /*#define HAS_DUP3 / **/ /* HAS_ERF: * This symbol, if defined, indicates that the erf routine is * available to do the error function. */ /*#define HAS_ERF / **/ /* HAS_ERFC: * This symbol, if defined, indicates that the erfc routine is * available to do the complementary error function. */ /*#define HAS_ERFC / **/ /* HAS_EXP2: * This symbol, if defined, indicates that the exp2 routine is * available to do the 2**x function. */ /*#define HAS_EXP2 / **/ /* HAS_EXPM1: * This symbol, if defined, indicates that the expm1 routine is * available to do the exp(x) - 1 when x is near 1 function. */ /*#define HAS_EXPM1 / **/ /* HAS_FAST_STDIO: * This symbol, if defined, indicates that the "fast stdio" * is available to manipulate the stdio buffers directly. */ /*#define HAS_FAST_STDIO / **/ /* HAS_FCHDIR: * This symbol, if defined, indicates that the fchdir routine is * available to change directory using a file descriptor. */ /*#define HAS_FCHDIR / **/ /* FCNTL_CAN_LOCK: * This symbol, if defined, indicates that fcntl() can be used * for file locking. Normally on Unix systems this is defined. * It may be undefined on VMS. */ /*#define FCNTL_CAN_LOCK / **/ /* HAS_FDCLOSE: * This symbol, if defined, indicates that the fdclose routine is * available to free a FILE structure without closing the underlying * file descriptor. This function appeared in FreeBSD 10.2. */ /*#define HAS_FDCLOSE / **/ /* HAS_FDIM: * This symbol, if defined, indicates that the fdim routine is * available to do the positive difference function. */ /*#define HAS_FDIM / **/ /* HAS_FEGETROUND: * This symbol, if defined, indicates that the fegetround routine is * available to return the macro corresponding to the current rounding * mode. */ /*#define HAS_FEGETROUND / **/ /* HAS_FINITE: * This symbol, if defined, indicates that the finite routine is * available to check whether a double is finite (non-infinity non-NaN). */ /*#define HAS_FINITE / **/ /* HAS_FINITEL: * This symbol, if defined, indicates that the finitel routine is * available to check whether a long double is finite * (non-infinity non-NaN). */ /*#define HAS_FINITEL / **/ /* HAS_FLOCK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the flock() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int flock(int, int); */ /*#define HAS_FLOCK_PROTO / **/ /* HAS_FMA: * This symbol, if defined, indicates that the fma routine is * available to do the multiply-add function. */ /*#define HAS_FMA / **/ /* HAS_FMAX: * This symbol, if defined, indicates that the fmax routine is * available to do the maximum function. */ /*#define HAS_FMAX / **/ /* HAS_FMIN: * This symbol, if defined, indicates that the fmin routine is * available to do the minimum function. */ /*#define HAS_FMIN / **/ /* HAS_FP_CLASS: * This symbol, if defined, indicates that the fp_class routine is * available to classify doubles. Available for example in Digital UNIX. * The returned values are defined in <math.h> and are: * * FP_SNAN Signaling NaN (Not-a-Number) * FP_QNAN Quiet NaN (Not-a-Number) * FP_POS_INF +infinity * FP_NEG_INF -infinity * FP_POS_NORM Positive normalized * FP_NEG_NORM Negative normalized * FP_POS_DENORM Positive denormalized * FP_NEG_DENORM Negative denormalized * FP_POS_ZERO +0.0 (positive zero) * FP_NEG_ZERO -0.0 (negative zero) */ /*#define HAS_FP_CLASS / **/ /* HAS_FP_CLASSL: * This symbol, if defined, indicates that the fp_classl routine is * available to classify long doubles. Available for example in * Digital UNIX. See for possible values HAS_FP_CLASS. */ /*#define HAS_FP_CLASSL / **/ /* HAS_FPCLASS: * This symbol, if defined, indicates that the fpclass routine is * available to classify doubles. Available for example in Solaris/SVR4. * The returned values are defined in <ieeefp.h> and are: * * FP_SNAN signaling NaN * FP_QNAN quiet NaN * FP_NINF negative infinity * FP_PINF positive infinity * FP_NDENORM negative denormalized non-zero * FP_PDENORM positive denormalized non-zero * FP_NZERO negative zero * FP_PZERO positive zero * FP_NNORM negative normalized non-zero * FP_PNORM positive normalized non-zero */ /*#define HAS_FPCLASS / **/ /* HAS_FPCLASSIFY: * This symbol, if defined, indicates that the fpclassify routine is * available to classify doubles. Available for example in HP-UX. * The returned values are defined in <math.h> and are * * FP_NORMAL Normalized * FP_ZERO Zero * FP_INFINITE Infinity * FP_SUBNORMAL Denormalized * FP_NAN NaN * */ /* HAS_FP_CLASSIFY: * This symbol, if defined, indicates that the fp_classify routine is * available to classify doubles. The values are defined in <math.h> * * FP_NORMAL Normalized * FP_ZERO Zero * FP_INFINITE Infinity * FP_SUBNORMAL Denormalized * FP_NAN NaN * */ /*#define HAS_FPCLASSIFY / **/ /*#define HAS_FP_CLASSIFY / **/ /* HAS_FPCLASSL: * This symbol, if defined, indicates that the fpclassl routine is * available to classify long doubles. Available for example in IRIX. * The returned values are defined in <ieeefp.h> and are: * * FP_SNAN signaling NaN * FP_QNAN quiet NaN * FP_NINF negative infinity * FP_PINF positive infinity * FP_NDENORM negative denormalized non-zero * FP_PDENORM positive denormalized non-zero * FP_NZERO negative zero * FP_PZERO positive zero * FP_NNORM negative normalized non-zero * FP_PNORM positive normalized non-zero */ /*#define HAS_FPCLASSL / **/ /* HAS_FPGETROUND: * This symbol, if defined, indicates that the fpgetround routine is * available to get the floating point rounding mode. */ /*#define HAS_FPGETROUND / **/ /* HAS_FPOS64_T: * This symbol will be defined if the C compiler supports fpos64_t. */ /*#define HAS_FPOS64_T / **/ /* HAS_FREXPL: * This symbol, if defined, indicates that the frexpl routine is * available to break a long double floating-point number into * a normalized fraction and an integral power of 2. */ /*#define HAS_FREXPL / **/ /* HAS_STRUCT_FS_DATA: * This symbol, if defined, indicates that the struct fs_data * to do statfs() is supported. */ /*#define HAS_STRUCT_FS_DATA / **/ /* HAS_FCHMODAT: * This symbol is defined if the fchmodat() routine is available. */ /* HAS_LINKAT: * This symbol is defined if the linkat() routine is available. */ /* HAS_OPENAT: * This symbol is defined if the openat() routine is available. */ /* HAS_RENAMEAT: * This symbol is defined if the renameat() routine is available. */ /* HAS_UNLINKAT: * This symbol is defined if the unlinkat() routine is available. */ /*#define HAS_FCHMODAT / **/ /*#define HAS_LINKAT / **/ /*#define HAS_OPENAT / **/ /*#define HAS_RENAMEAT / **/ /*#define HAS_UNLINKAT / **/ /* HAS_FSEEKO: * This symbol, if defined, indicates that the fseeko routine is * available to fseek beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FSEEKO / **/ /* HAS_FSTATFS: * This symbol, if defined, indicates that the fstatfs routine is * available to stat filesystems by file descriptors. */ /*#define HAS_FSTATFS / **/ /* HAS_FSYNC: * This symbol, if defined, indicates that the fsync routine is * available to write a file's modified data and attributes to * permanent storage. */ /*#define HAS_FSYNC / **/ /* HAS_FTELLO: * This symbol, if defined, indicates that the ftello routine is * available to ftell beyond 32 bits (useful for ILP32 hosts). */ /*#define HAS_FTELLO / **/ /* HAS_FUTIMES: * This symbol, if defined, indicates that the futimes routine is * available to change file descriptor time stamps with struct timevals. */ /*#define HAS_FUTIMES / **/ /* HAS_GAI_STRERROR: * This symbol, if defined, indicates that the gai_strerror routine * is available to translate error codes returned by getaddrinfo() * into human readable strings. */ /*#define HAS_GAI_STRERROR / **/ /* HAS_GETADDRINFO: * This symbol, if defined, indicates that the getaddrinfo() function * is available for use. */ /*#define HAS_GETADDRINFO / **/ /* HAS_GETCWD: * This symbol, if defined, indicates that the getcwd routine is * available to get the current working directory. */ /*#define HAS_GETCWD / **/ /* HAS_GETESPWNAM: * This symbol, if defined, indicates that the getespwnam system call is * available to retrieve enhanced (shadow) password entries by name. */ /*#define HAS_GETESPWNAM / **/ /* HAS_GETFSSTAT: * This symbol, if defined, indicates that the getfsstat routine is * available to stat filesystems in bulk. */ /*#define HAS_GETFSSTAT / **/ /* HAS_GETITIMER: * This symbol, if defined, indicates that the getitimer routine is * available to return interval timers. */ /*#define HAS_GETITIMER / **/ /* HAS_GETMNT: * This symbol, if defined, indicates that the getmnt routine is * available to get filesystem mount info by filename. */ /*#define HAS_GETMNT / **/ /* HAS_GETMNTENT: * This symbol, if defined, indicates that the getmntent routine is * available to iterate through mounted file systems to get their info. */ /*#define HAS_GETMNTENT / **/ /* HAS_GETNAMEINFO: * This symbol, if defined, indicates that the getnameinfo() function * is available for use. */ /*#define HAS_GETNAMEINFO / **/ /* HAS_GETPRPWNAM: * This symbol, if defined, indicates that the getprpwnam system call is * available to retrieve protected (shadow) password entries by name. */ /*#define HAS_GETPRPWNAM / **/ /* HAS_GETSPNAM: * This symbol, if defined, indicates that the getspnam system call is * available to retrieve SysV shadow password entries by name. */ /*#define HAS_GETSPNAM / **/ /* HAS_HASMNTOPT: * This symbol, if defined, indicates that the hasmntopt routine is * available to query the mount options of file systems. */ /*#define HAS_HASMNTOPT / **/ /* HAS_HYPOT: * This symbol, if defined, indicates that the hypot routine is * available to do the hypotenuse function. */ /*#define HAS_HYPOT / **/ /* HAS_ILOGB: * This symbol, if defined, indicates that the ilogb routine is * available to get integer exponent of a floating-point value. */ /*#define HAS_ILOGB / **/ /* HAS_ILOGBL: * This symbol, if defined, indicates that the ilogbl routine is * available. If scalbnl is also present we can emulate frexpl. */ /*#define HAS_ILOGBL / **/ /* HAS_INETNTOP: * This symbol, if defined, indicates that the inet_ntop() function * is available to parse IPv4 and IPv6 strings. */ /*#define HAS_INETNTOP / **/ /* HAS_INETPTON: * This symbol, if defined, indicates that the inet_pton() function * is available to parse IPv4 and IPv6 strings. */ /*#define HAS_INETPTON / **/ /* HAS_INT64_T: * This symbol will defined if the C compiler supports int64_t. * Usually the <inttypes.h> needs to be included, but sometimes * <sys/types.h> is enough. */ /*#define HAS_INT64_T / **/ /* HAS_ISBLANK: * This manifest constant lets the C program know that isblank * is available. */ /*#define HAS_ISBLANK / **/ /* HAS_ISFINITE: * This symbol, if defined, indicates that the isfinite routine is * available to check whether a double is finite (non-infinity non-NaN). */ /*#define HAS_ISFINITE / **/ /* HAS_ISFINITEL: * This symbol, if defined, indicates that the isfinitel routine is * available to check whether a long double is finite. * (non-infinity non-NaN). */ /*#define HAS_ISFINITEL / **/ /* HAS_ISINF: * This symbol, if defined, indicates that the isinf routine is * available to check whether a double is an infinity. */ /*#define HAS_ISINF / **/ /* HAS_ISINFL: * This symbol, if defined, indicates that the isinfl routine is * available to check whether a long double is an infinity. */ /*#define HAS_ISINFL / **/ /* HAS_ISLESS: * This symbol, if defined, indicates that the isless routine is * available to do the isless function. */ /*#define HAS_ISLESS / **/ /* HAS_ISNAN: * This symbol, if defined, indicates that the isnan routine is * available to check whether a double is a NaN. */ /*#define HAS_ISNAN / **/ /* HAS_ISNANL: * This symbol, if defined, indicates that the isnanl routine is * available to check whether a long double is a NaN. */ /*#define HAS_ISNANL / **/ /* HAS_ISNORMAL: * This symbol, if defined, indicates that the isnormal routine is * available to check whether a double is normal (non-zero normalized). */ /*#define HAS_ISNORMAL / **/ /* HAS_J0: * This symbol, if defined, indicates to the C program that the * j0() function is available for Bessel functions of the first * kind of the order zero, for doubles. */ /* HAS_J0L: * This symbol, if defined, indicates to the C program that the * j0l() function is available for Bessel functions of the first * kind of the order zero, for long doubles. */ /*#define HAS_J0 / **/ /*#define HAS_J0L / **/ /* HAS_LC_MONETARY_2008: * This symbol, if defined, indicates that the localeconv routine is * available and has the additional members added in POSIX 1003.1-2008. */ /*#define HAS_LC_MONETARY_2008 / **/ /* HAS_LDBL_DIG: * This symbol, if defined, indicates that this system's <float.h> * or <limits.h> defines the symbol LDBL_DIG, which is the number * of significant digits in a long double precision number. Unlike * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined. */ /*#define HAS_LDBL_DIG / * */ /* HAS_LGAMMA: * This symbol, if defined, indicates that the lgamma routine is * available to do the log gamma function. See also HAS_TGAMMA and * HAS_LGAMMA_R. */ /*#define HAS_LGAMMA / **/ /* HAS_LGAMMA_R: * This symbol, if defined, indicates that the lgamma_r routine is * available to do the log gamma function without using the global * signgam variable. */ /*#define HAS_LGAMMA_R / **/ /* LIBM_LIB_VERSION: * This symbol, if defined, indicates that libm exports _LIB_VERSION * and that math.h defines the enum to manipulate it. */ /*#define LIBM_LIB_VERSION / **/ /* HAS_LLRINT: * This symbol, if defined, indicates that the llrint routine is * available to return the long long value closest to a double * (according to the current rounding mode). */ /*#define HAS_LLRINT / **/ /* HAS_LLRINTL: * This symbol, if defined, indicates that the llrintl routine is * available to return the long long value closest to a long double * (according to the current rounding mode). */ /*#define HAS_LLRINTL / **/ /* HAS_LLROUND: * This symbol, if defined, indicates that the llround routine is * available to return the nearest long long value. */ /*#define HAS_LLROUND / **/ /* HAS_LLROUNDL: * This symbol, if defined, indicates that the llroundl routine is * available to return the nearest long long value away from zero of * the long double argument value. */ /*#define HAS_LLROUNDL / **/ /* HAS_LOG1P: * This symbol, if defined, indicates that the log1p routine is * available to do the logarithm of 1 plus argument function. */ /*#define HAS_LOG1P / **/ /* HAS_LOG2: * This symbol, if defined, indicates that the log2 routine is * available to do the log2 function. */ /*#define HAS_LOG2 / **/ /* HAS_LOGB: * This symbol, if defined, indicates that the logb routine is * available to do the logb function. */ /*#define HAS_LOGB / **/ /* HAS_LRINT: * This symbol, if defined, indicates that the lrint routine is * available to return the integral value closest to a double * (according to the current rounding mode). */ /*#define HAS_LRINT / **/ /* HAS_LRINTL: * This symbol, if defined, indicates that the lrintl routine is * available to return the integral value closest to a long double * (according to the current rounding mode). */ /*#define HAS_LRINTL / **/ /* HAS_LROUND: * This symbol, if defined, indicates that the lround routine is * available to return the nearest integral value. */ /*#define HAS_LROUND / **/ /* HAS_LROUNDL: * This symbol, if defined, indicates that the lroundl routine is * available to return the nearest integral value away from zero of * the long double argument value. */ /*#define HAS_LROUNDL / **/ /* HAS_MADVISE: * This symbol, if defined, indicates that the madvise system call is * available to map a file into memory. */ /*#define HAS_MADVISE / **/ /* HAS_MALLOC_SIZE: * This symbol, if defined, indicates that the malloc_size * routine is available for use. */ /*#define HAS_MALLOC_SIZE / **/ /* HAS_MALLOC_GOOD_SIZE: * This symbol, if defined, indicates that the malloc_good_size * routine is available for use. */ /*#define HAS_MALLOC_GOOD_SIZE / **/ /* HAS_MEMMEM: * This symbol, if defined, indicates that the memmem routine is * available to return a pointer to the start of the first occurance * of a substring in a memory area (or NULL if not found). * In glibc, memmem is a GNU extension. The function is visible in * libc, but the prototype is only visible if _GNU_SOURCE is #defined. * Thus we only define this if both the prototype and symbol are found. */ /*#define HAS_MEMMEM / **/ /* HAS_MEMRCHR: * This symbol, if defined, indicates that the memrchr routine is * available to return a pointer to the last occurrence of a byte in * a memory area (or NULL if not found). */ /*#define HAS_MEMRCHR / **/ /* HAS_MKDTEMP: * This symbol, if defined, indicates that the mkdtemp routine is * available to exclusively create a uniquely named temporary directory. */ /*#define HAS_MKDTEMP / **/ /* HAS_MKOSTEMP: * This symbol, if defined, indicates that the mkostemp routine is * available to exclusively create and open a uniquely named (with a * suffix) temporary file. */ /*#define HAS_MKOSTEMP / **/ /* HAS_MKSTEMPS: * This symbol, if defined, indicates that the mkstemps routine is * available to exclusively create and open a uniquely named * (with a suffix) temporary file. */ /*#define HAS_MKSTEMPS / **/ /* HAS_MODFL: * This symbol, if defined, indicates that the modfl routine is * available to split a long double x into a fractional part f and * an integer part i such that |f| < 1.0 and (f + i) = x. */ /* HAS_MODFL_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the modfl() function. Otherwise, it is up * to the program to supply one. */ /*#define HAS_MODFL / **/ /*#define HAS_MODFL_PROTO / **/ /* HAS_MPROTECT: * This symbol, if defined, indicates that the mprotect system call is * available to modify the access protection of a memory mapped file. */ /*#define HAS_MPROTECT / **/ /* HAS_STRUCT_MSGHDR: * This symbol, if defined, indicates that the struct msghdr * is supported. */ /*#define HAS_STRUCT_MSGHDR / **/ /* HAS_NAN: * This symbol, if defined, indicates that the nan routine is * available to generate NaN. */ /*#define HAS_NAN / **/ /* HAS_NANOSLEEP: * This symbol, if defined, indicates that the nanosleep * system call is available to sleep with 1E-9 sec accuracy. */ /*#define HAS_NANOSLEEP / **/ /* HAS_NEARBYINT: * This symbol, if defined, indicates that the nearbyint routine is * available to return the integral value closest to (according to * the current rounding mode) to x. */ /*#define HAS_NEARBYINT / **/ /* HAS_NEWLOCALE: * This symbol, if defined, indicates that the newlocale routine is * available to return a new locale object or modify an existing * locale object. */ /* HAS_FREELOCALE: * This symbol, if defined, indicates that the freelocale routine is * available to deallocates the resources associated with a locale object. */ /* HAS_USELOCALE: * This symbol, if defined, indicates that the uselocale routine is * available to set the current locale for the calling thread. */ /* HAS_DUPLOCALE: * This symbol, if defined, indicates that the duplocale routine is * available to duplicate a locale object. */ /* HAS_QUERYLOCALE: * This symbol, if defined, indicates that the querylocale routine is * available to return the name of the locale for a category mask. */ /* I_XLOCALE: * This symbol, if defined, indicates to the C program that it should * include <xlocale.h> to get uselocale() and its friends. */ /*#define HAS_NEWLOCALE / **/ /*#define HAS_FREELOCALE / **/ /*#define HAS_USELOCALE / **/ /*#define HAS_DUPLOCALE / **/ /*#define HAS_QUERYLOCALE / **/ /*#define I_XLOCALE / **/ /* HAS_NEXTAFTER: * This symbol, if defined, indicates that the nextafter routine is * available to return the next machine representable double from * x in direction y. */ /*#define HAS_NEXTAFTER / **/ /* HAS_NEXTTOWARD: * This symbol, if defined, indicates that the nexttoward routine is * available to return the next machine representable long double from * x in direction y. */ /*#define HAS_NEXTTOWARD / **/ /* HAS_NL_LANGINFO: * This symbol, if defined, indicates that the nl_langinfo routine is * available to return local data. You will also need <langinfo.h> * and therefore I_LANGINFO. */ /*#define HAS_NL_LANGINFO / **/ /* HAS_OFF64_T: * This symbol will be defined if the C compiler supports off64_t. */ /*#define HAS_OFF64_T / **/ /* HAS_PIPE2: * This symbol, if defined, indicates that the pipe2 routine is * available to create an inter-process channel. */ /*#define HAS_PIPE2 / **/ /* HAS_PRCTL: * This symbol, if defined, indicates that the prctl routine is * available to set process title. * Note that there are at least two prctl variants: Linux and Irix. * While they are somewhat similar, they are incompatible. */ /* HAS_PRCTL_SET_NAME: * This symbol, if defined, indicates that the prctl routine is * available to set process title and supports PR_SET_NAME. */ /*#define HAS_PRCTL / **/ /*#define HAS_PRCTL_SET_NAME / **/ /* HAS_PROCSELFEXE: * This symbol is defined if PROCSELFEXE_PATH is a symlink * to the absolute pathname of the executing program. */ /* PROCSELFEXE_PATH: * If HAS_PROCSELFEXE is defined this symbol is the filename * of the symbolic link pointing to the absolute pathname of * the executing program. */ /*#define HAS_PROCSELFEXE / **/ #if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH) #define PROCSELFEXE_PATH /**/ #endif /* HAS_PTHREAD_ATTR_SETSCOPE: * This symbol, if defined, indicates that the pthread_attr_setscope * system call is available to set the contention scope attribute of * a thread attribute object. */ /*#define HAS_PTHREAD_ATTR_SETSCOPE / **/ /* HAS_PTRDIFF_T: * This symbol will be defined if the C compiler supports ptrdiff_t. */ #define HAS_PTRDIFF_T /**/ /* HAS_READV: * This symbol, if defined, indicates that the readv routine is * available to do gather reads. You will also need <sys/uio.h> * and there I_SYSUIO. */ /*#define HAS_READV / **/ /* HAS_RECVMSG: * This symbol, if defined, indicates that the recvmsg routine is * available to send structured socket messages. */ /*#define HAS_RECVMSG / **/ /* HAS_REMAINDER: * This symbol, if defined, indicates that the remainder routine is * available to return the floating-point remainder. */ /*#define HAS_REMAINDER / **/ /* HAS_REMQUO: * This symbol, if defined, indicates that the remquo routine is * available to return the remainder and part of quotient. */ /*#define HAS_REMQUO / **/ /* HAS_RINT: * This symbol, if defined, indicates that the rint routine is * available to return the nearest integral value to x as double * using the current rounding mode. */ /*#define HAS_RINT / **/ /* HAS_ROUND: * This symbol, if defined, indicates that the round routine is * available to round to nearest integer, away from zero. */ /*#define HAS_ROUND / **/ /* HAS_SBRK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the sbrk() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern void* sbrk(int); * extern void* sbrk(size_t); */ /*#define HAS_SBRK_PROTO / **/ /* HAS_SCALBN: * This symbol, if defined, indicates that the scalbn routine is * available to multiply floating-point number by integral power * of radix. */ /*#define HAS_SCALBN / **/ /* HAS_SCALBNL: * This symbol, if defined, indicates that the scalbnl routine is * available. If ilogbl is also present we can emulate frexpl. */ /*#define HAS_SCALBNL / **/ /* HAS_SENDMSG: * This symbol, if defined, indicates that the sendmsg routine is * available to send structured socket messages. */ /*#define HAS_SENDMSG / **/ /* HAS_SETITIMER: * This symbol, if defined, indicates that the setitimer routine is * available to set interval timers. */ /*#define HAS_SETITIMER / **/ /* HAS_SETLOCALE: * This symbol, if defined, indicates that the setlocale routine is * available to handle locale-specific ctype implementations. */ /* SETLOCALE_ACCEPTS_ANY_LOCALE_NAME: * This symbol, if defined, indicates that the setlocale routine is * available and it accepts any input locale name as valid. */ /*#define HAS_SETLOCALE / **/ /*#define SETLOCALE_ACCEPTS_ANY_LOCALE_NAME / **/ /* HAS_SETPROCTITLE: * This symbol, if defined, indicates that the setproctitle routine is * available to set process title. */ /*#define HAS_SETPROCTITLE / **/ /* HAS_SIGNBIT: * This symbol, if defined, indicates that the signbit routine is * available to check if the given number has the sign bit set. * This should include correct testing of -0.0. This will only be set * if the signbit() routine is safe to use with the NV type used internally * in perl. Users should call Perl_signbit(), which will be #defined to * the system's signbit() function or macro if this symbol is defined. */ /*#define HAS_SIGNBIT / **/ /* HAS_SIGPROCMASK: * This symbol, if defined, indicates that the sigprocmask * system call is available to examine or change the signal mask * of the calling process. */ /*#define HAS_SIGPROCMASK / **/ /* USE_SITECUSTOMIZE: * This symbol, if defined, indicates that sitecustomize should * be used. */ #ifndef USE_SITECUSTOMIZE /*#define USE_SITECUSTOMIZE / **/ #endif /* HAS_SNPRINTF: * This symbol, if defined, indicates that the snprintf () library * function is available for use. */ /* HAS_VSNPRINTF: * This symbol, if defined, indicates that the vsnprintf () library * function is available for use. */ /*#define HAS_SNPRINTF / **/ /*#define HAS_VSNPRINTF / **/ /* HAS_SOCKATMARK: * This symbol, if defined, indicates that the sockatmark routine is * available to test whether a socket is at the out-of-band mark. */ /*#define HAS_SOCKATMARK / **/ /* HAS_SOCKATMARK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the sockatmark() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int sockatmark(int); */ /*#define HAS_SOCKATMARK_PROTO / **/ /* HAS_SOCKS5_INIT: * This symbol, if defined, indicates that the socks5_init routine is * available to initialize SOCKS 5. */ /*#define HAS_SOCKS5_INIT / **/ /* HAS_SQRTL: * This symbol, if defined, indicates that the sqrtl routine is * available to do long double square roots. */ /*#define HAS_SQRTL / **/ /* HAS_SETRESGID_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the setresgid() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid); */ /*#define HAS_SETRESGID_PROTO / **/ /* HAS_SETRESUID_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the setresuid() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid); */ /*#define HAS_SETRESUID_PROTO / **/ /* HAS_STRUCT_STATFS_F_FLAGS: * This symbol, if defined, indicates that the struct statfs * does have the f_flags member containing the mount flags of * the filesystem containing the file. * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3), * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not * have statfs() and struct statfs, they have ustat() and getmnt() * with struct ustat and struct fs_data. */ /*#define HAS_STRUCT_STATFS_F_FLAGS / **/ /* HAS_STRUCT_STATFS: * This symbol, if defined, indicates that the struct statfs * to do statfs() is supported. */ /*#define HAS_STRUCT_STATFS / **/ /* HAS_FSTATVFS: * This symbol, if defined, indicates that the fstatvfs routine is * available to stat filesystems by file descriptors. */ /*#define HAS_FSTATVFS / **/ /* HAS_STRERROR_L: * This symbol, if defined, indicates that the strerror_l routine is * available to return the error message for a given errno value in * a particular locale (identified by a locale_t object). */ /*#define HAS_STRERROR_L / **/ /* HAS_STRFTIME: * This symbol, if defined, indicates that the strftime routine is * available to do time formatting. */ /*#define HAS_STRFTIME / **/ /* HAS_STRLCAT: * This symbol, if defined, indicates that the strlcat () routine is * available to do string concatenation. */ /*#define HAS_STRLCAT / **/ /* HAS_STRLCPY: * This symbol, if defined, indicates that the strlcpy () routine is * available to do string copying. */ /*#define HAS_STRLCPY / **/ /* HAS_STRNLEN: * This symbol, if defined, indicates that the strnlen () routine is * available to check the length of a string up to a maximum. */ /*#define HAS_STRNLEN / **/ /* HAS_STRTOLD: * This symbol, if defined, indicates that the strtold routine is * available to convert strings to long doubles. */ /*#define HAS_STRTOLD / **/ /* HAS_STRTOLL: * This symbol, if defined, indicates that the strtoll routine is * available to convert strings to long longs. */ /*#define HAS_STRTOLL / **/ /* HAS_STRTOQ: * This symbol, if defined, indicates that the strtoq routine is * available to convert strings to long longs (quads). */ /*#define HAS_STRTOQ / **/ /* HAS_STRTOULL: * This symbol, if defined, indicates that the strtoull routine is * available to convert strings to unsigned long longs. */ /*#define HAS_STRTOULL / **/ /* HAS_STRTOUQ: * This symbol, if defined, indicates that the strtouq routine is * available to convert strings to unsigned long longs (quads). */ /*#define HAS_STRTOUQ / **/ /* HAS_SYSCALL_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the syscall() function. Otherwise, it is up * to the program to supply one. Good guesses are * extern int syscall(int, ...); * extern int syscall(long, ...); */ /*#define HAS_SYSCALL_PROTO / **/ /* HAS_TELLDIR_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the telldir() function. Otherwise, it is up * to the program to supply one. A good guess is * extern long telldir(DIR*); */ /*#define HAS_TELLDIR_PROTO / **/ /* HAS_TGAMMA: * This symbol, if defined, indicates that the tgamma routine is * available to do the gamma function. See also HAS_LGAMMA. */ /*#define HAS_TGAMMA / **/ /* HAS_CTIME64: * This symbol, if defined, indicates that the ctime64 () routine is * available to do the 64bit variant of ctime () */ /* HAS_LOCALTIME64: * This symbol, if defined, indicates that the localtime64 () routine is * available to do the 64bit variant of localtime () */ /* HAS_GMTIME64: * This symbol, if defined, indicates that the gmtime64 () routine is * available to do the 64bit variant of gmtime () */ /* HAS_MKTIME64: * This symbol, if defined, indicates that the mktime64 () routine is * available to do the 64bit variant of mktime () */ /* HAS_DIFFTIME64: * This symbol, if defined, indicates that the difftime64 () routine is * available to do the 64bit variant of difftime () */ /* HAS_ASCTIME64: * This symbol, if defined, indicates that the asctime64 () routine is * available to do the 64bit variant of asctime () */ /*#define HAS_CTIME64 / **/ /*#define HAS_LOCALTIME64 / **/ /*#define HAS_GMTIME64 / **/ /*#define HAS_MKTIME64 / **/ /*#define HAS_DIFFTIME64 / **/ /*#define HAS_ASCTIME64 / **/ /* HAS_TIMEGM: * This symbol, if defined, indicates that the timegm routine is * available to do the opposite of gmtime () */ /*#define HAS_TIMEGM / **/ /* HAS_TOWLOWER: * This symbol, if defined, indicates that the towlower () routine is * available to do case conversion. */ /*#define HAS_TOWLOWER / **/ /* HAS_TOWUPPER: * This symbol, if defined, indicates that the towupper () routine is * available to do case conversion. */ /*#define HAS_TOWUPPER / **/ /* HAS_TRUNC: * This symbol, if defined, indicates that the trunc routine is * available to round doubles towards zero. */ /*#define HAS_TRUNC / **/ /* HAS_TRUNCL: * This symbol, if defined, indicates that the truncl routine is * available. If copysignl is also present we can emulate modfl. */ /*#define HAS_TRUNCL / **/ /* U32_ALIGNMENT_REQUIRED: * This symbol, if defined, indicates that you must access * character data through U32-aligned pointers. */ #ifndef U32_ALIGNMENT_REQUIRED #define U32_ALIGNMENT_REQUIRED /**/ #endif /* HAS_UALARM: * This symbol, if defined, indicates that the ualarm routine is * available to do alarms with microsecond granularity. */ /*#define HAS_UALARM / **/ /* HAS_UNORDERED: * This symbol, if defined, indicates that the unordered routine is * available to check whether two doubles are unordered * (effectively: whether either of them is NaN) */ /*#define HAS_UNORDERED / **/ /* HAS_UNSETENV: * This symbol, if defined, indicates that the unsetenv () routine is * available for use. */ /*#define HAS_UNSETENV / **/ /* HAS_USLEEP_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the usleep() function. Otherwise, it is up * to the program to supply one. A good guess is * extern int usleep(useconds_t); */ /*#define HAS_USLEEP_PROTO / **/ /* HAS_USTAT: * This symbol, if defined, indicates that the ustat system call is * available to query file system statistics by dev_t. */ /*#define HAS_USTAT / **/ /* HAS_WCSCMP: * This symbol, if defined, indicates that the wcscmp routine is * available to compare two wide character strings. */ /*#define HAS_WCSCMP / **/ /* HAS_WCSXFRM: * This symbol, if defined, indicates that the wcsxfrm routine is * available to tranform a wide character string for wcscmp(). */ /*#define HAS_WCSXFRM / **/ /* HAS_WRITEV: * This symbol, if defined, indicates that the writev routine is * available to do scatter writes. */ /*#define HAS_WRITEV / **/ /* DEFAULT_INC_EXCLUDES_DOT: * This symbol, if defined, removes the legacy default behavior of * including '.' at the end of @INC. */ /*#define DEFAULT_INC_EXCLUDES_DOT / **/ /* USE_DYNAMIC_LOADING: * This symbol, if defined, indicates that dynamic loading of * some sort is available. */ /*#define USE_DYNAMIC_LOADING / **/ /* FFLUSH_NULL: * This symbol, if defined, tells that fflush(NULL) correctly * flushes all pending stdio output without side effects. In * particular, on some platforms calling fflush(NULL) *still* * corrupts STDIN if it is a pipe. */ /* FFLUSH_ALL: * This symbol, if defined, tells that to flush * all pending stdio output one must loop through all * the stdio file handles stored in an array and fflush them. * Note that if fflushNULL is defined, fflushall will not * even be probed for and will be left undefined. */ /*#define FFLUSH_NULL / **/ /*#define FFLUSH_ALL / **/ /* I_BFD: * This symbol, if defined, indicates that <bfd.h> exists and * can be included. */ /*#define I_BFD / **/ /* I_CRYPT: * This symbol, if defined, indicates that <crypt.h> exists and * should be included. */ /*#define I_CRYPT / **/ /* DB_Prefix_t: * This symbol contains the type of the prefix structure element * in the <db.h> header file. In older versions of DB, it was * int, while in newer ones it is u_int32_t. */ /* DB_Hash_t: * This symbol contains the type of the prefix structure element * in the <db.h> header file. In older versions of DB, it was * int, while in newer ones it is size_t. */ /* DB_VERSION_MAJOR_CFG: * This symbol, if defined, defines the major version number of * Berkeley DB found in the <db.h> header when Perl was configured. */ /* DB_VERSION_MINOR_CFG: * This symbol, if defined, defines the minor version number of * Berkeley DB found in the <db.h> header when Perl was configured. * For DB version 1 this is always 0. */ /* DB_VERSION_PATCH_CFG: * This symbol, if defined, defines the patch version number of * Berkeley DB found in the <db.h> header when Perl was configured. * For DB version 1 this is always 0. */ #define DB_Hash_t u_int32_t /**/ #define DB_Prefix_t size_t /**/ #define DB_VERSION_MAJOR_CFG 0 /**/ #define DB_VERSION_MINOR_CFG 0 /**/ #define DB_VERSION_PATCH_CFG 0 /**/ /* I_FENV: * This symbol, if defined, indicates to the C program that it should * include <fenv.h> to get the floating point environment definitions. */ /*#define I_FENV / **/ /* I_FP: * This symbol, if defined, indicates that <fp.h> exists and * should be included. */ /*#define I_FP / **/ /* I_FP_CLASS: * This symbol, if defined, indicates that <fp_class.h> exists and * should be included. */ /*#define I_FP_CLASS / **/ /* I_IEEEFP: * This symbol, if defined, indicates that <ieeefp.h> exists and * should be included. */ /*#define I_IEEEFP / **/ /* I_INTTYPES: * This symbol, if defined, indicates to the C program that it should * include <inttypes.h>. */ /*#define I_INTTYPES / **/ /* I_LANGINFO: * This symbol, if defined, indicates that <langinfo.h> exists and * should be included. */ /*#define I_LANGINFO / **/ /* I_LIBUTIL: * This symbol, if defined, indicates that <libutil.h> exists and * should be included. */ /*#define I_LIBUTIL / **/ /* I_MALLOCMALLOC: * This symbol, if defined, indicates to the C program that it should * include <malloc/malloc.h>. */ /*#define I_MALLOCMALLOC / **/ /* I_MNTENT: * This symbol, if defined, indicates that <mntent.h> exists and * should be included. */ /*#define I_MNTENT / **/ /* I_NETINET_TCP: * This symbol, if defined, indicates to the C program that it should * include <netinet/tcp.h>. */ /*#define I_NETINET_TCP / **/ /* I_POLL: * This symbol, if defined, indicates that <poll.h> exists and * should be included. (see also HAS_POLL) */ /*#define I_POLL / **/ /* I_PROT: * This symbol, if defined, indicates that <prot.h> exists and * should be included. */ /*#define I_PROT / **/ /* I_QUADMATH: * This symbol, if defined, indicates that <quadmath.h> exists and * should be included. */ /*#define I_QUADMATH / **/ /* I_SHADOW: * This symbol, if defined, indicates that <shadow.h> exists and * should be included. */ /*#define I_SHADOW / **/ /* I_SOCKS: * This symbol, if defined, indicates that <socks.h> exists and * should be included. */ /*#define I_SOCKS / **/ /* I_STDBOOL: * This symbol, if defined, indicates that <stdbool.h> exists and * can be included. */ /*#define I_STDBOOL / **/ /* I_STDINT: * This symbol, if defined, indicates that <stdint.h> exists and * should be included. */ /*#define I_STDINT / **/ /* I_SUNMATH: * This symbol, if defined, indicates that <sunmath.h> exists and * should be included. */ /*#define I_SUNMATH / **/ /* I_SYSLOG: * This symbol, if defined, indicates that <syslog.h> exists and * should be included. */ /*#define I_SYSLOG / **/ /* I_SYSMODE: * This symbol, if defined, indicates that <sys/mode.h> exists and * should be included. */ /*#define I_SYSMODE / **/ /* I_SYS_MOUNT: * This symbol, if defined, indicates that <sys/mount.h> exists and * should be included. */ /*#define I_SYS_MOUNT / **/ /* I_SYS_STATFS: * This symbol, if defined, indicates that <sys/statfs.h> exists. */ /*#define I_SYS_STATFS / **/ /* I_SYS_STATVFS: * This symbol, if defined, indicates that <sys/statvfs.h> exists and * should be included. */ /*#define I_SYS_STATVFS / **/ /* I_SYSUTSNAME: * This symbol, if defined, indicates that <sys/utsname.h> exists and * should be included. */ /*#define I_SYSUTSNAME / **/ /* I_SYS_VFS: * This symbol, if defined, indicates that <sys/vfs.h> exists and * should be included. */ /*#define I_SYS_VFS / **/ /* I_USTAT: * This symbol, if defined, indicates that <ustat.h> exists and * should be included. */ /*#define I_USTAT / **/ /* I_WCHAR: * This symbol, if defined, indicates to the C program that <wchar.h> * is available for inclusion */ /*#define I_WCHAR / **/ /* I_WCTYPE: * This symbol, if defined, indicates that <wctype.h> exists. */ /*#define I_WCTYPE / **/ /* DOUBLEINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the double precision infinity. */ /* DOUBLENANBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes (0xHH) for the double precision not-a-number. */ /* LONGDBLINFBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes for the long double precision infinity. */ /* LONGDBLNANBYTES: * This symbol, if defined, is a comma-separated list of * hexadecimal bytes (0xHH) for the long double precision not-a-number. */ #define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/ #define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/ #define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ #define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/ /* PERL_PRIfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for output. */ /* PERL_PRIgldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'g') for output. */ /* PERL_PRIeldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'e') for output. */ /* PERL_SCNfldbl: * This symbol, if defined, contains the string used by stdio to * format long doubles (format 'f') for input. */ /* DOUBLEKIND: * DOUBLEKIND will be one of * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE * DOUBLE_IS_VAX_F_FLOAT * DOUBLE_IS_VAX_D_FLOAT * DOUBLE_IS_VAX_G_FLOAT * DOUBLE_IS_IBM_SINGLE_32_BIT * DOUBLE_IS_IBM_DOUBLE_64_BIT * DOUBLE_IS_CRAY_SINGLE_64_BIT * DOUBLE_IS_UNKNOWN_FORMAT */ /* DOUBLE_HAS_INF: * This symbol, if defined, indicates that the double has * the infinity. */ /* DOUBLE_HAS_NAN: * This symbol, if defined, indicates that the double has * the not-a-number. */ /* DOUBLE_HAS_NEGATIVE_ZERO: * This symbol, if defined, indicates that the double has * the negative_zero. */ /* DOUBLE_HAS_SUBNORMALS: * This symbol, if defined, indicates that the double has * the subnormals (denormals). */ /* DOUBLE_STYLE_CRAY: * This symbol, if defined, indicates that the double is * the 64-bit CRAY mainframe format. */ /* DOUBLE_STYLE_IBM: * This symbol, if defined, indicates that the double is * the 64-bit IBM mainframe format. */ /* DOUBLE_STYLE_IEEE: * This symbol, if defined, indicates that the double is * the 64-bit IEEE 754. */ /* DOUBLE_STYLE_VAX: * This symbol, if defined, indicates that the double is * the 64-bit VAX format D or G. */ #define DOUBLEKIND 3 /**/ #define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 #define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 #define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 #define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4 #define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5 #define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8 #define DOUBLE_IS_VAX_F_FLOAT 9 #define DOUBLE_IS_VAX_D_FLOAT 10 #define DOUBLE_IS_VAX_G_FLOAT 11 #define DOUBLE_IS_IBM_SINGLE_32_BIT 12 #define DOUBLE_IS_IBM_DOUBLE_64_BIT 13 #define DOUBLE_IS_CRAY_SINGLE_64_BIT 14 #define DOUBLE_IS_UNKNOWN_FORMAT -1 /*#define PERL_PRIfldbl "llf" / **/ /*#define PERL_PRIgldbl "llg" / **/ /*#define PERL_PRIeldbl "lle" / **/ /*#define PERL_SCNfldbl "llf" / **/ #define DOUBLE_HAS_INF #define DOUBLE_HAS_NAN #define DOUBLE_HAS_NEGATIVE_ZERO #define DOUBLE_HAS_SUBNORMALS #undef DOUBLE_STYLE_CRAY #undef DOUBLE_STYLE_IBM #define DOUBLE_STYLE_IEEE #undef DOUBLE_STYLE_VAX /* DOUBLEMANTBITS: * This symbol, if defined, tells how many mantissa bits * there are in double precision floating point format. * Note that this is usually DBL_MANT_DIG minus one, since * with the standard IEEE 754 formats DBL_MANT_DIG includes * the implicit bit, which doesn't really exist. */ /* LONGDBLMANTBITS: * This symbol, if defined, tells how many mantissa bits * there are in long double precision floating point format. * Note that this can be LDBL_MANT_DIG minus one, * since LDBL_MANT_DIG can include the IEEE 754 implicit bit. * The common x86-style 80-bit long double does not have * an implicit bit. */ /* NVMANTBITS: * This symbol, if defined, tells how many mantissa bits * (not including implicit bit) there are in a Perl NV. * This depends on which floating point type was chosen. */ #define DOUBLEMANTBITS 52 #define LONGDBLMANTBITS 64 #define NVMANTBITS 52 /* NEED_VA_COPY: * This symbol, if defined, indicates that the system stores * the variable argument list datatype, va_list, in a format * that cannot be copied by simple assignment, so that some * other means must be used when copying is required. * As such systems vary in their provision (or non-provision) * of copying mechanisms, handy.h defines a platform- * independent macro, Perl_va_copy(src, dst), to do the job. */ #define NEED_VA_COPY /**/ /* IVTYPE: * This symbol defines the C type used for Perl's IV. */ /* UVTYPE: * This symbol defines the C type used for Perl's UV. */ /* I8TYPE: * This symbol defines the C type used for Perl's I8. */ /* U8TYPE: * This symbol defines the C type used for Perl's U8. */ /* I16TYPE: * This symbol defines the C type used for Perl's I16. */ /* U16TYPE: * This symbol defines the C type used for Perl's U16. */ /* I32TYPE: * This symbol defines the C type used for Perl's I32. */ /* U32TYPE: * This symbol defines the C type used for Perl's U32. */ /* I64TYPE: * This symbol defines the C type used for Perl's I64. */ /* U64TYPE: * This symbol defines the C type used for Perl's U64. */ /* NVTYPE: * This symbol defines the C type used for Perl's NV. */ /* IVSIZE: * This symbol contains the sizeof(IV). */ /* UVSIZE: * This symbol contains the sizeof(UV). */ /* I8SIZE: * This symbol contains the sizeof(I8). */ /* U8SIZE: * This symbol contains the sizeof(U8). */ /* I16SIZE: * This symbol contains the sizeof(I16). */ /* U16SIZE: * This symbol contains the sizeof(U16). */ /* I32SIZE: * This symbol contains the sizeof(I32). */ /* U32SIZE: * This symbol contains the sizeof(U32). */ /* I64SIZE: * This symbol contains the sizeof(I64). */ /* U64SIZE: * This symbol contains the sizeof(U64). */ /* NVSIZE: * This symbol contains the sizeof(NV). * Note that some floating point formats have unused bytes. * The most notable example is the x86* 80-bit extended precision * which comes in byte sizes of 12 and 16 (for 32 and 64 bit * platforms, respectively), but which only uses 10 bytes. * Perl compiled with -Duselongdouble on x86* is like this. */ /* NV_PRESERVES_UV: * This symbol, if defined, indicates that a variable of type NVTYPE * can preserve all the bits of a variable of type UVTYPE. */ /* NV_PRESERVES_UV_BITS: * This symbol contains the number of bits a variable of type NVTYPE * can preserve of a variable of type UVTYPE. */ /* NV_OVERFLOWS_INTEGERS_AT: * This symbol gives the largest integer value that NVs can hold. This * value + 1.0 cannot be stored accurately. It is expressed as constant * floating point expression to reduce the chance of decimal/binary * conversion issues. If it can not be determined, the value 0 is given. */ /* NV_ZERO_IS_ALLBITS_ZERO: * This symbol, if defined, indicates that a variable of type NVTYPE * stores 0.0 in memory as all bits zero. */ #define IVTYPE long /**/ #define UVTYPE unsigned long /**/ #define I8TYPE signed char /**/ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ #define U16TYPE unsigned short /**/ #define I32TYPE long /**/ #define U32TYPE unsigned long /**/ #ifdef HAS_QUAD #define I64TYPE int64_t /**/ #define U64TYPE uint64_t /**/ #endif #define NVTYPE double /**/ #define IVSIZE 4 /**/ #define UVSIZE 4 /**/ #define I8SIZE 1 /**/ #define U8SIZE 1 /**/ #define I16SIZE 2 /**/ #define U16SIZE 2 /**/ #define I32SIZE 4 /**/ #define U32SIZE 4 /**/ #ifdef HAS_QUAD #define I64SIZE 8 /**/ #define U64SIZE 8 /**/ #endif #define NVSIZE 8 /**/ #undef NV_PRESERVES_UV #define NV_PRESERVES_UV_BITS 0 #define NV_OVERFLOWS_INTEGERS_AT (256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0) #undef NV_ZERO_IS_ALLBITS_ZERO #if UVSIZE == 8 # ifdef BYTEORDER # if BYTEORDER == 0x1234 # undef BYTEORDER # define BYTEORDER 0x12345678 # else # if BYTEORDER == 0x4321 # undef BYTEORDER # define BYTEORDER 0x87654321 # endif # endif # endif #endif /* IVdf: * This symbol defines the format string used for printing a Perl IV * as a signed decimal integer. */ /* UVuf: * This symbol defines the format string used for printing a Perl UV * as an unsigned decimal integer. */ /* UVof: * This symbol defines the format string used for printing a Perl UV * as an unsigned octal integer. */ /* UVxf: * This symbol defines the format string used for printing a Perl UV * as an unsigned hexadecimal integer in lowercase abcdef. */ /* UVXf: * This symbol defines the format string used for printing a Perl UV * as an unsigned hexadecimal integer in uppercase ABCDEF. */ /* NVef: * This symbol defines the format string used for printing a Perl NV * using %e-ish floating point format. */ /* NVff: * This symbol defines the format string used for printing a Perl NV * using %f-ish floating point format. */ /* NVgf: * This symbol defines the format string used for printing a Perl NV * using %g-ish floating point format. */ #define IVdf "ld" /**/ #define UVuf "lu" /**/ #define UVof "lo" /**/ #define UVxf "lx" /**/ #define UVXf "lX" /**/ #define NVef "e" /**/ #define NVff "f" /**/ #define NVgf "g" /**/ /* SELECT_MIN_BITS: * This symbol holds the minimum number of bits operated by select. * That is, if you do select(n, ...), how many bits at least will be * cleared in the masks if some activity is detected. Usually this * is either n or 32*ceil(n/32), especially many little-endians do * the latter. This is only useful if you have select(), naturally. */ #define SELECT_MIN_BITS 32 /**/ /* ST_INO_SIZE: * This variable contains the size of struct stat's st_ino in bytes. */ /* ST_INO_SIGN: * This symbol holds the signedness of struct stat's st_ino. * 1 for unsigned, -1 for signed. */ #define ST_INO_SIGN 1 /* st_ino sign */ #define ST_INO_SIZE 4 /* st_ino size */ /* STARTPERL: * This variable contains the string to put in front of a perl * script to make sure (one hopes) that it runs with perl and not * some shell. */ #define STARTPERL "#!perl" /**/ /* HAS_STDIO_STREAM_ARRAY: * This symbol, if defined, tells that there is an array * holding the stdio streams. */ /* STDIO_STREAM_ARRAY: * This symbol tells the name of the array holding the stdio streams. * Usual values include _iob, __iob, and __sF. */ /*#define HAS_STDIO_STREAM_ARRAY / **/ #ifdef HAS_STDIO_STREAM_ARRAY #define STDIO_STREAM_ARRAY #endif /* GMTIME_MAX: * This symbol contains the maximum value for the time_t offset that * the system function gmtime () accepts, and defaults to 0 */ /* GMTIME_MIN: * This symbol contains the minimum value for the time_t offset that * the system function gmtime () accepts, and defaults to 0 */ /* LOCALTIME_MAX: * This symbol contains the maximum value for the time_t offset that * the system function localtime () accepts, and defaults to 0 */ /* LOCALTIME_MIN: * This symbol contains the minimum value for the time_t offset that * the system function localtime () accepts, and defaults to 0 */ #define GMTIME_MAX 2147483647 /**/ #define GMTIME_MIN 0 /**/ #define LOCALTIME_MAX 2147483647 /**/ #define LOCALTIME_MIN 0 /**/ /* USE_64_BIT_INT: * This symbol, if defined, indicates that 64-bit integers should * be used when available. If not defined, the native integers * will be employed (be they 32 or 64 bits). The minimal possible * 64-bitness is used, just enough to get 64-bit integers into Perl. * This may mean using for example "long longs", while your memory * may still be limited to 2 gigabytes. */ /* USE_64_BIT_ALL: * This symbol, if defined, indicates that 64-bit integers should * be used when available. If not defined, the native integers * will be used (be they 32 or 64 bits). The maximal possible * 64-bitness is employed: LP64 or ILP64, meaning that you will * be able to use more than 2 gigabytes of memory. This mode is * even more binary incompatible than USE_64_BIT_INT. You may not * be able to run the resulting executable in a 32-bit CPU at all or * you may need at least to reboot your OS to 64-bit mode. */ #ifndef USE_64_BIT_INT /*#define USE_64_BIT_INT / **/ #endif #ifndef USE_64_BIT_ALL /*#define USE_64_BIT_ALL / **/ #endif /* USE_C_BACKTRACE: * This symbol, if defined, indicates that Perl should * be built with support for backtrace. */ /*#define USE_C_BACKTRACE / **/ /* USE_DTRACE: * This symbol, if defined, indicates that Perl should * be built with support for DTrace. */ /*#define USE_DTRACE / **/ /* USE_FAST_STDIO: * This symbol, if defined, indicates that Perl should * be built to use 'fast stdio'. * Defaults to define in Perls 5.8 and earlier, to undef later. */ #ifndef USE_FAST_STDIO /*#define USE_FAST_STDIO / **/ #endif /* USE_KERN_PROC_PATHNAME: * This symbol, if defined, indicates that we can use sysctl with * KERN_PROC_PATHNAME to get a full path for the executable, and hence * convert $^X to an absolute path. */ /*#define USE_KERN_PROC_PATHNAME / **/ /* USE_LARGE_FILES: * This symbol, if defined, indicates that large file support * should be used when available. */ #ifndef USE_LARGE_FILES /*#define USE_LARGE_FILES / **/ #endif /* USE_LONG_DOUBLE: * This symbol, if defined, indicates that long doubles should * be used when available. */ #ifndef USE_LONG_DOUBLE /*#define USE_LONG_DOUBLE / **/ #endif /* USE_MORE_BITS: * This symbol, if defined, indicates that 64-bit interfaces and * long doubles should be used when available. */ #ifndef USE_MORE_BITS /*#define USE_MORE_BITS / **/ #endif /* MULTIPLICITY: * This symbol, if defined, indicates that Perl should * be built to use multiplicity. */ #ifndef MULTIPLICITY /*#define MULTIPLICITY / **/ #endif /* USE_NSGETEXECUTABLEPATH: * This symbol, if defined, indicates that we can use _NSGetExecutablePath * and realpath to get a full path for the executable, and hence convert * $^X to an absolute path. */ /*#define USE_NSGETEXECUTABLEPATH / **/ /* USE_PERLIO: * This symbol, if defined, indicates that the PerlIO abstraction should * be used throughout. If not defined, stdio should be * used in a fully backward compatible manner. */ #ifndef USE_PERLIO /*#define USE_PERLIO / **/ #endif /* USE_QUADMATH: * This symbol, if defined, indicates that the quadmath library should * be used when available. */ #ifndef USE_QUADMATH /*#define USE_QUADMATH / **/ #endif /* USE_SOCKS: * This symbol, if defined, indicates that Perl should * be built to use socks. */ #ifndef USE_SOCKS /*#define USE_SOCKS / **/ #endif /* HAS_DRAND48_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the drand48() function. Otherwise, it is up * to the program to supply one. A good guess is * extern double drand48(void); */ /*#define HAS_DRAND48_PROTO / **/ /* HAS_GETHOST_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for gethostent(), gethostbyname(), and * gethostbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ /*#define HAS_GETHOST_PROTOS / **/ /* HAS_GETNET_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getnetent(), getnetbyname(), and * getnetbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ /*#define HAS_GETNET_PROTOS / **/ /* HAS_GETPROTO_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getprotoent(), getprotobyname(), and * getprotobyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ /*#define HAS_GETPROTO_PROTOS / **/ /* HAS_GETSERV_PROTOS: * This symbol, if defined, indicates that <netdb.h> includes * prototypes for getservent(), getservbyname(), and * getservbyaddr(). Otherwise, it is up to the program to guess * them. See netdbtype.U for probing for various Netdb_xxx_t types. */ /*#define HAS_GETSERV_PROTOS / **/ /* HAS_LSEEK_PROTO: * This symbol, if defined, indicates that the system provides * a prototype for the lseek() function. Otherwise, it is up * to the program to supply one. A good guess is * extern off_t lseek(int, off_t, int); */ /*#define HAS_LSEEK_PROTO / **/ /* Netdb_host_t: * This symbol holds the type used for the 1st argument * to gethostbyaddr(). */ /* Netdb_hlen_t: * This symbol holds the type used for the 2nd argument * to gethostbyaddr(). */ /* Netdb_name_t: * This symbol holds the type used for the argument to * gethostbyname(). */ /* Netdb_net_t: * This symbol holds the type used for the 1st argument to * getnetbyaddr(). */ #define Netdb_host_t const char * /**/ #define Netdb_hlen_t int /**/ #define Netdb_name_t const char * /**/ #define Netdb_net_t unsigned long /**/ /* Select_fd_set_t: * This symbol holds the type used for the 2nd, 3rd, and 4th * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET * is defined, and 'int *' otherwise. This is only useful if you * have select(), of course. */ #define Select_fd_set_t int /**/ /* Sock_size_t: * This symbol holds the type used for the size argument of * various socket calls (just the base type, not the pointer-to). */ #define Sock_size_t int /**/ /* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname * where library files may be held under a private library, for * instance. */ #define ARCHNAME "unknown" /**/ /* HAS_ASCTIME_R: * This symbol, if defined, indicates that the asctime_r routine * is available to asctime re-entrantly. */ /* ASCTIME_R_PROTO: * This symbol encodes the prototype of asctime_r. * It is zero if d_asctime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r * is defined. */ /*#define HAS_ASCTIME_R / **/ #define ASCTIME_R_PROTO 0 /**/ /* HAS_CRYPT_R: * This symbol, if defined, indicates that the crypt_r routine * is available to crypt re-entrantly. */ /* CRYPT_R_PROTO: * This symbol encodes the prototype of crypt_r. * It is zero if d_crypt_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r * is defined. */ /*#define HAS_CRYPT_R / **/ #define CRYPT_R_PROTO 0 /**/ /* HAS_CTERMID_R: * This symbol, if defined, indicates that the ctermid_r routine * is available to ctermid re-entrantly. */ /* CTERMID_R_PROTO: * This symbol encodes the prototype of ctermid_r. * It is zero if d_ctermid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r * is defined. */ /*#define HAS_CTERMID_R / **/ #define CTERMID_R_PROTO 0 /**/ /* HAS_CTIME_R: * This symbol, if defined, indicates that the ctime_r routine * is available to ctime re-entrantly. */ /* CTIME_R_PROTO: * This symbol encodes the prototype of ctime_r. * It is zero if d_ctime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r * is defined. */ /*#define HAS_CTIME_R / **/ #define CTIME_R_PROTO 0 /**/ /* HAS_DRAND48_R: * This symbol, if defined, indicates that the drand48_r routine * is available to drand48 re-entrantly. */ /* DRAND48_R_PROTO: * This symbol encodes the prototype of drand48_r. * It is zero if d_drand48_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r * is defined. */ /*#define HAS_DRAND48_R / **/ #define DRAND48_R_PROTO 0 /**/ /* HAS_ENDGRENT_R: * This symbol, if defined, indicates that the endgrent_r routine * is available to endgrent re-entrantly. */ /* ENDGRENT_R_PROTO: * This symbol encodes the prototype of endgrent_r. * It is zero if d_endgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r * is defined. */ /*#define HAS_ENDGRENT_R / **/ #define ENDGRENT_R_PROTO 0 /**/ /* HAS_ENDHOSTENT_R: * This symbol, if defined, indicates that the endhostent_r routine * is available to endhostent re-entrantly. */ /* ENDHOSTENT_R_PROTO: * This symbol encodes the prototype of endhostent_r. * It is zero if d_endhostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r * is defined. */ /*#define HAS_ENDHOSTENT_R / **/ #define ENDHOSTENT_R_PROTO 0 /**/ /* HAS_ENDNETENT_R: * This symbol, if defined, indicates that the endnetent_r routine * is available to endnetent re-entrantly. */ /* ENDNETENT_R_PROTO: * This symbol encodes the prototype of endnetent_r. * It is zero if d_endnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r * is defined. */ /*#define HAS_ENDNETENT_R / **/ #define ENDNETENT_R_PROTO 0 /**/ /* HAS_ENDPROTOENT_R: * This symbol, if defined, indicates that the endprotoent_r routine * is available to endprotoent re-entrantly. */ /* ENDPROTOENT_R_PROTO: * This symbol encodes the prototype of endprotoent_r. * It is zero if d_endprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r * is defined. */ /*#define HAS_ENDPROTOENT_R / **/ #define ENDPROTOENT_R_PROTO 0 /**/ /* HAS_ENDPWENT_R: * This symbol, if defined, indicates that the endpwent_r routine * is available to endpwent re-entrantly. */ /* ENDPWENT_R_PROTO: * This symbol encodes the prototype of endpwent_r. * It is zero if d_endpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r * is defined. */ /*#define HAS_ENDPWENT_R / **/ #define ENDPWENT_R_PROTO 0 /**/ /* HAS_ENDSERVENT_R: * This symbol, if defined, indicates that the endservent_r routine * is available to endservent re-entrantly. */ /* ENDSERVENT_R_PROTO: * This symbol encodes the prototype of endservent_r. * It is zero if d_endservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r * is defined. */ /*#define HAS_ENDSERVENT_R / **/ #define ENDSERVENT_R_PROTO 0 /**/ /* HAS_GETGRENT_R: * This symbol, if defined, indicates that the getgrent_r routine * is available to getgrent re-entrantly. */ /* GETGRENT_R_PROTO: * This symbol encodes the prototype of getgrent_r. * It is zero if d_getgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r * is defined. */ /*#define HAS_GETGRENT_R / **/ #define GETGRENT_R_PROTO 0 /**/ /* HAS_GETGRGID_R: * This symbol, if defined, indicates that the getgrgid_r routine * is available to getgrgid re-entrantly. */ /* GETGRGID_R_PROTO: * This symbol encodes the prototype of getgrgid_r. * It is zero if d_getgrgid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r * is defined. */ /*#define HAS_GETGRGID_R / **/ #define GETGRGID_R_PROTO 0 /**/ /* HAS_GETGRNAM_R: * This symbol, if defined, indicates that the getgrnam_r routine * is available to getgrnam re-entrantly. */ /* GETGRNAM_R_PROTO: * This symbol encodes the prototype of getgrnam_r. * It is zero if d_getgrnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r * is defined. */ /*#define HAS_GETGRNAM_R / **/ #define GETGRNAM_R_PROTO 0 /**/ /* HAS_GETHOSTBYADDR_R: * This symbol, if defined, indicates that the gethostbyaddr_r routine * is available to gethostbyaddr re-entrantly. */ /* GETHOSTBYADDR_R_PROTO: * This symbol encodes the prototype of gethostbyaddr_r. * It is zero if d_gethostbyaddr_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r * is defined. */ /*#define HAS_GETHOSTBYADDR_R / **/ #define GETHOSTBYADDR_R_PROTO 0 /**/ /* HAS_GETHOSTBYNAME_R: * This symbol, if defined, indicates that the gethostbyname_r routine * is available to gethostbyname re-entrantly. */ /* GETHOSTBYNAME_R_PROTO: * This symbol encodes the prototype of gethostbyname_r. * It is zero if d_gethostbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r * is defined. */ /*#define HAS_GETHOSTBYNAME_R / **/ #define GETHOSTBYNAME_R_PROTO 0 /**/ /* HAS_GETHOSTENT_R: * This symbol, if defined, indicates that the gethostent_r routine * is available to gethostent re-entrantly. */ /* GETHOSTENT_R_PROTO: * This symbol encodes the prototype of gethostent_r. * It is zero if d_gethostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r * is defined. */ /*#define HAS_GETHOSTENT_R / **/ #define GETHOSTENT_R_PROTO 0 /**/ /* HAS_GETLOGIN_R: * This symbol, if defined, indicates that the getlogin_r routine * is available to getlogin re-entrantly. */ /* GETLOGIN_R_PROTO: * This symbol encodes the prototype of getlogin_r. * It is zero if d_getlogin_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r * is defined. */ /*#define HAS_GETLOGIN_R / **/ #define GETLOGIN_R_PROTO 0 /**/ /* HAS_GETNETBYADDR_R: * This symbol, if defined, indicates that the getnetbyaddr_r routine * is available to getnetbyaddr re-entrantly. */ /* GETNETBYADDR_R_PROTO: * This symbol encodes the prototype of getnetbyaddr_r. * It is zero if d_getnetbyaddr_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r * is defined. */ /*#define HAS_GETNETBYADDR_R / **/ #define GETNETBYADDR_R_PROTO 0 /**/ /* HAS_GETNETBYNAME_R: * This symbol, if defined, indicates that the getnetbyname_r routine * is available to getnetbyname re-entrantly. */ /* GETNETBYNAME_R_PROTO: * This symbol encodes the prototype of getnetbyname_r. * It is zero if d_getnetbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r * is defined. */ /*#define HAS_GETNETBYNAME_R / **/ #define GETNETBYNAME_R_PROTO 0 /**/ /* HAS_GETNETENT_R: * This symbol, if defined, indicates that the getnetent_r routine * is available to getnetent re-entrantly. */ /* GETNETENT_R_PROTO: * This symbol encodes the prototype of getnetent_r. * It is zero if d_getnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r * is defined. */ /*#define HAS_GETNETENT_R / **/ #define GETNETENT_R_PROTO 0 /**/ /* HAS_GETPROTOBYNAME_R: * This symbol, if defined, indicates that the getprotobyname_r routine * is available to getprotobyname re-entrantly. */ /* GETPROTOBYNAME_R_PROTO: * This symbol encodes the prototype of getprotobyname_r. * It is zero if d_getprotobyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r * is defined. */ /*#define HAS_GETPROTOBYNAME_R / **/ #define GETPROTOBYNAME_R_PROTO 0 /**/ /* HAS_GETPROTOBYNUMBER_R: * This symbol, if defined, indicates that the getprotobynumber_r routine * is available to getprotobynumber re-entrantly. */ /* GETPROTOBYNUMBER_R_PROTO: * This symbol encodes the prototype of getprotobynumber_r. * It is zero if d_getprotobynumber_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r * is defined. */ /*#define HAS_GETPROTOBYNUMBER_R / **/ #define GETPROTOBYNUMBER_R_PROTO 0 /**/ /* HAS_GETPROTOENT_R: * This symbol, if defined, indicates that the getprotoent_r routine * is available to getprotoent re-entrantly. */ /* GETPROTOENT_R_PROTO: * This symbol encodes the prototype of getprotoent_r. * It is zero if d_getprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r * is defined. */ /*#define HAS_GETPROTOENT_R / **/ #define GETPROTOENT_R_PROTO 0 /**/ /* HAS_GETPWENT_R: * This symbol, if defined, indicates that the getpwent_r routine * is available to getpwent re-entrantly. */ /* GETPWENT_R_PROTO: * This symbol encodes the prototype of getpwent_r. * It is zero if d_getpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r * is defined. */ /*#define HAS_GETPWENT_R / **/ #define GETPWENT_R_PROTO 0 /**/ /* HAS_GETPWNAM_R: * This symbol, if defined, indicates that the getpwnam_r routine * is available to getpwnam re-entrantly. */ /* GETPWNAM_R_PROTO: * This symbol encodes the prototype of getpwnam_r. * It is zero if d_getpwnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r * is defined. */ /*#define HAS_GETPWNAM_R / **/ #define GETPWNAM_R_PROTO 0 /**/ /* HAS_GETPWUID_R: * This symbol, if defined, indicates that the getpwuid_r routine * is available to getpwuid re-entrantly. */ /* GETPWUID_R_PROTO: * This symbol encodes the prototype of getpwuid_r. * It is zero if d_getpwuid_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r * is defined. */ /*#define HAS_GETPWUID_R / **/ #define GETPWUID_R_PROTO 0 /**/ /* HAS_GETSERVBYNAME_R: * This symbol, if defined, indicates that the getservbyname_r routine * is available to getservbyname re-entrantly. */ /* GETSERVBYNAME_R_PROTO: * This symbol encodes the prototype of getservbyname_r. * It is zero if d_getservbyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r * is defined. */ /*#define HAS_GETSERVBYNAME_R / **/ #define GETSERVBYNAME_R_PROTO 0 /**/ /* HAS_GETSERVBYPORT_R: * This symbol, if defined, indicates that the getservbyport_r routine * is available to getservbyport re-entrantly. */ /* GETSERVBYPORT_R_PROTO: * This symbol encodes the prototype of getservbyport_r. * It is zero if d_getservbyport_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r * is defined. */ /*#define HAS_GETSERVBYPORT_R / **/ #define GETSERVBYPORT_R_PROTO 0 /**/ /* HAS_GETSERVENT_R: * This symbol, if defined, indicates that the getservent_r routine * is available to getservent re-entrantly. */ /* GETSERVENT_R_PROTO: * This symbol encodes the prototype of getservent_r. * It is zero if d_getservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r * is defined. */ /*#define HAS_GETSERVENT_R / **/ #define GETSERVENT_R_PROTO 0 /**/ /* HAS_GETSPNAM_R: * This symbol, if defined, indicates that the getspnam_r routine * is available to getspnam re-entrantly. */ /* GETSPNAM_R_PROTO: * This symbol encodes the prototype of getspnam_r. * It is zero if d_getspnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r * is defined. */ /*#define HAS_GETSPNAM_R / **/ #define GETSPNAM_R_PROTO 0 /**/ /* HAS_GMTIME_R: * This symbol, if defined, indicates that the gmtime_r routine * is available to gmtime re-entrantly. */ /* GMTIME_R_PROTO: * This symbol encodes the prototype of gmtime_r. * It is zero if d_gmtime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r * is defined. */ /*#define HAS_GMTIME_R / **/ #define GMTIME_R_PROTO 0 /**/ /* HAS_LOCALECONV_L: * This symbol, if defined, indicates that the localeconv_l routine is * available to query certain information about a locale. */ /*#define HAS_LOCALECONV_L / **/ /* HAS_LOCALTIME_R: * This symbol, if defined, indicates that the localtime_r routine * is available to localtime re-entrantly. */ /* LOCALTIME_R_NEEDS_TZSET: * Many libc's localtime_r implementations do not call tzset, * making them differ from localtime(), and making timezone * changes using $ENV{TZ} without explicitly calling tzset * impossible. This symbol makes us call tzset before localtime_r */ /*#define LOCALTIME_R_NEEDS_TZSET / **/ #ifdef LOCALTIME_R_NEEDS_TZSET #define L_R_TZSET tzset(), #else #define L_R_TZSET #endif /* LOCALTIME_R_PROTO: * This symbol encodes the prototype of localtime_r. * It is zero if d_localtime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r * is defined. */ /*#define HAS_LOCALTIME_R / **/ #define LOCALTIME_R_PROTO 0 /**/ /* HAS_MBRLEN: * This symbol, if defined, indicates that the mbrlen routine is * available to get the length of multi-byte character strings. */ /*#define HAS_MBRLEN / **/ /* HAS_MBRTOWC: * This symbol, if defined, indicates that the mbrtowc routine is * available to convert a multi-byte character into a wide character. */ /*#define HAS_MBRTOWC / **/ /* HAS_THREAD_SAFE_NL_LANGINFO_L: * This symbol, when defined, indicates presence of the nl_langinfo_l() * function, and that it is thread-safe. */ /*#define HAS_THREAD_SAFE_NL_LANGINFO_L / **/ /* OLD_PTHREAD_CREATE_JOINABLE: * This symbol, if defined, indicates how to create pthread * in joinable (aka undetached) state. NOTE: not defined * if pthread.h already has defined PTHREAD_CREATE_JOINABLE * (the new version of the constant). * If defined, known values are PTHREAD_CREATE_UNDETACHED * and __UNDETACHED. */ /*#define OLD_PTHREAD_CREATE_JOINABLE / **/ /* HAS_PTHREAD_ATFORK: * This symbol, if defined, indicates that the pthread_atfork routine * is available to setup fork handlers. */ /*#define HAS_PTHREAD_ATFORK / **/ /* HAS_PTHREAD_YIELD: * This symbol, if defined, indicates that the pthread_yield * routine is available to yield the execution of the current * thread. sched_yield is preferable to pthread_yield. */ /* SCHED_YIELD: * This symbol defines the way to yield the execution of * the current thread. Known ways are sched_yield, * pthread_yield, and pthread_yield with NULL. */ /* HAS_SCHED_YIELD: * This symbol, if defined, indicates that the sched_yield * routine is available to yield the execution of the current * thread. sched_yield is preferable to pthread_yield. */ /*#define HAS_PTHREAD_YIELD / **/ #define SCHED_YIELD sched_yield() /**/ /*#define HAS_SCHED_YIELD / **/ /* HAS_RANDOM_R: * This symbol, if defined, indicates that the random_r routine * is available to random re-entrantly. */ /* RANDOM_R_PROTO: * This symbol encodes the prototype of random_r. * It is zero if d_random_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r * is defined. */ /*#define HAS_RANDOM_R / **/ #define RANDOM_R_PROTO 0 /**/ /* HAS_READDIR64_R: * This symbol, if defined, indicates that the readdir64_r routine * is available to readdir64 re-entrantly. */ /* READDIR64_R_PROTO: * This symbol encodes the prototype of readdir64_r. * It is zero if d_readdir64_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r * is defined. */ /*#define HAS_READDIR64_R / **/ #define READDIR64_R_PROTO 0 /**/ /* HAS_READDIR_R: * This symbol, if defined, indicates that the readdir_r routine * is available to readdir re-entrantly. */ /* READDIR_R_PROTO: * This symbol encodes the prototype of readdir_r. * It is zero if d_readdir_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r * is defined. */ /*#define HAS_READDIR_R / **/ #define READDIR_R_PROTO 0 /**/ /* HAS_SETGRENT_R: * This symbol, if defined, indicates that the setgrent_r routine * is available to setgrent re-entrantly. */ /* SETGRENT_R_PROTO: * This symbol encodes the prototype of setgrent_r. * It is zero if d_setgrent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r * is defined. */ /*#define HAS_SETGRENT_R / **/ #define SETGRENT_R_PROTO 0 /**/ /* HAS_SETHOSTENT_R: * This symbol, if defined, indicates that the sethostent_r routine * is available to sethostent re-entrantly. */ /* SETHOSTENT_R_PROTO: * This symbol encodes the prototype of sethostent_r. * It is zero if d_sethostent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r * is defined. */ /*#define HAS_SETHOSTENT_R / **/ #define SETHOSTENT_R_PROTO 0 /**/ /* HAS_SETLOCALE_R: * This symbol, if defined, indicates that the setlocale_r routine * is available to setlocale re-entrantly. */ /* SETLOCALE_R_PROTO: * This symbol encodes the prototype of setlocale_r. * It is zero if d_setlocale_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r * is defined. */ /*#define HAS_SETLOCALE_R / **/ #define SETLOCALE_R_PROTO 0 /**/ /* HAS_SETNETENT_R: * This symbol, if defined, indicates that the setnetent_r routine * is available to setnetent re-entrantly. */ /* SETNETENT_R_PROTO: * This symbol encodes the prototype of setnetent_r. * It is zero if d_setnetent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r * is defined. */ /*#define HAS_SETNETENT_R / **/ #define SETNETENT_R_PROTO 0 /**/ /* HAS_SETPROTOENT_R: * This symbol, if defined, indicates that the setprotoent_r routine * is available to setprotoent re-entrantly. */ /* SETPROTOENT_R_PROTO: * This symbol encodes the prototype of setprotoent_r. * It is zero if d_setprotoent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r * is defined. */ /*#define HAS_SETPROTOENT_R / **/ #define SETPROTOENT_R_PROTO 0 /**/ /* HAS_SETPWENT_R: * This symbol, if defined, indicates that the setpwent_r routine * is available to setpwent re-entrantly. */ /* SETPWENT_R_PROTO: * This symbol encodes the prototype of setpwent_r. * It is zero if d_setpwent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r * is defined. */ /*#define HAS_SETPWENT_R / **/ #define SETPWENT_R_PROTO 0 /**/ /* HAS_SETSERVENT_R: * This symbol, if defined, indicates that the setservent_r routine * is available to setservent re-entrantly. */ /* SETSERVENT_R_PROTO: * This symbol encodes the prototype of setservent_r. * It is zero if d_setservent_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r * is defined. */ /*#define HAS_SETSERVENT_R / **/ #define SETSERVENT_R_PROTO 0 /**/ /* HAS_SRAND48_R: * This symbol, if defined, indicates that the srand48_r routine * is available to srand48 re-entrantly. */ /* SRAND48_R_PROTO: * This symbol encodes the prototype of srand48_r. * It is zero if d_srand48_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r * is defined. */ /*#define HAS_SRAND48_R / **/ #define SRAND48_R_PROTO 0 /**/ /* HAS_SRANDOM_R: * This symbol, if defined, indicates that the srandom_r routine * is available to srandom re-entrantly. */ /* SRANDOM_R_PROTO: * This symbol encodes the prototype of srandom_r. * It is zero if d_srandom_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r * is defined. */ /*#define HAS_SRANDOM_R / **/ #define SRANDOM_R_PROTO 0 /**/ /* HAS_STRERROR_R: * This symbol, if defined, indicates that the strerror_r routine * is available to strerror re-entrantly. */ /* STRERROR_R_PROTO: * This symbol encodes the prototype of strerror_r. * It is zero if d_strerror_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r * is defined. */ /*#define HAS_STRERROR_R / **/ #define STRERROR_R_PROTO 0 /**/ /* HAS_STRTOD_L: * This symbol, if defined, indicates that the strtod_l routine is * available to convert strings to long doubles. */ /*#define HAS_STRTOD_L / **/ /* HAS_STRTOLD_L: * This symbol, if defined, indicates that the strtold_l routine is * available to convert strings to long doubles. */ /*#define HAS_STRTOLD_L / **/ /* HAS_TMPNAM_R: * This symbol, if defined, indicates that the tmpnam_r routine * is available to tmpnam re-entrantly. */ /* TMPNAM_R_PROTO: * This symbol encodes the prototype of tmpnam_r. * It is zero if d_tmpnam_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r * is defined. */ /*#define HAS_TMPNAM_R / **/ #define TMPNAM_R_PROTO 0 /**/ /* HAS_TTYNAME_R: * This symbol, if defined, indicates that the ttyname_r routine * is available to ttyname re-entrantly. */ /* TTYNAME_R_PROTO: * This symbol encodes the prototype of ttyname_r. * It is zero if d_ttyname_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r * is defined. */ /*#define HAS_TTYNAME_R / **/ #define TTYNAME_R_PROTO 0 /**/ /* HAS_WCRTOMB: * This symbol, if defined, indicates that the wcrtomb routine is * available to convert a wide character into a multi-byte character. */ /*#define HAS_WCRTOMB / **/ /* I_MACH_CTHREADS: * This symbol, if defined, indicates to the C program that it should * include <mach/cthreads.h>. */ /*#define I_MACH_CTHREADS / **/ /* I_PTHREAD: * This symbol, if defined, indicates to the C program that it should * include <pthread.h>. */ /*#define I_PTHREAD / **/ /* USE_ITHREADS: * This symbol, if defined, indicates that Perl should be built to * use the interpreter-based threading implementation. */ /* USE_5005THREADS: * This symbol, if defined, indicates that Perl should be built to * use the 5.005-based threading implementation. * Only valid up to 5.8.x. */ /* OLD_PTHREADS_API: * This symbol, if defined, indicates that Perl should * be built to use the old draft POSIX threads API. */ /* USE_REENTRANT_API: * This symbol, if defined, indicates that Perl should * try to use the various _r versions of library functions. * This is extremely experimental. */ /*#define USE_5005THREADS / **/ /*#define USE_ITHREADS / **/ #if defined(USE_5005THREADS) && !defined(USE_ITHREADS) #define USE_THREADS /* until src is revised*/ #endif /*#define OLD_PTHREADS_API / **/ /*#define USE_REENTRANT_API / **/ /* HAS_TIME: * This symbol, if defined, indicates that the time() routine exists. */ /* Time_t: * This symbol holds the type returned by time(). It can be long, * or time_t on BSD sites (in which case <sys/types.h> should be * included). */ #define HAS_TIME /**/ #define Time_t time_t /* Time type */ /* HAS_TIMES: * This symbol, if defined, indicates that the times() routine exists. * Note that this became obsolete on some systems (SUNOS), which now * use getrusage(). It may be necessary to include <sys/times.h>. */ /*#define HAS_TIMES / **/ /* Fpos_t: * This symbol holds the type used to declare file positions in libc. * It can be fpos_t, long, uint, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Fpos_t int /* File position type */ /* Gid_t_f: * This symbol defines the format string used for printing a Gid_t. */ #define Gid_t_f "lu" /**/ /* Gid_t_sign: * This symbol holds the signedness of a Gid_t. * 1 for unsigned, -1 for signed. */ #define Gid_t_sign 1 /* GID sign */ /* Gid_t_size: * This symbol holds the size of a Gid_t in bytes. */ #define Gid_t_size 4 /* GID size */ /* Gid_t: * This symbol holds the return type of getgid() and the type of * argument to setrgid() and related functions. Typically, * it is the type of group ids in the kernel. It can be int, ushort, * gid_t, etc... It may be necessary to include <sys/types.h> to get * any typedef'ed information. */ #define Gid_t int /* Type for getgid(), etc... */ /* Off_t: * This symbol holds the type used to declare offsets in the kernel. * It can be int, long, off_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ /* LSEEKSIZE: * This symbol holds the number of bytes used by the Off_t. */ /* Off_t_size: * This symbol holds the number of bytes used by the Off_t. */ #define Off_t int /* <offset> type */ #define LSEEKSIZE 4 /* <offset> size */ #define Off_t_size 4 /* <offset> size */ /* Mode_t: * This symbol holds the type used to declare file modes * for systems calls. It is usually mode_t, but may be * int or unsigned short. It may be necessary to include <sys/types.h> * to get any typedef'ed information. */ #define Mode_t int /* file mode parameter for system calls */ /* Pid_t: * This symbol holds the type used to declare process ids in the kernel. * It can be int, uint, pid_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Pid_t int /* PID type */ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. */ #define Size_t_size 4 /**/ /* Size_t: * This symbol holds the type used to declare length parameters * for string functions. It is usually size_t, but may be * unsigned long, int, etc. It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Size_t size_t /* length parameter for string functions */ /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. */ #define Uid_t_f "lu" /**/ /* Uid_t_sign: * This symbol holds the signedness of a Uid_t. * 1 for unsigned, -1 for signed. */ #define Uid_t_sign 1 /* UID sign */ /* Uid_t_size: * This symbol holds the size of a Uid_t in bytes. */ #define Uid_t_size 4 /* UID size */ /* Uid_t: * This symbol holds the type used to declare user ids in the kernel. * It can be int, ushort, uid_t, etc... It may be necessary to include * <sys/types.h> to get any typedef'ed information. */ #define Uid_t int /* UID type */ #endif /* Generated from: * 14796a77fb4ae3335f5e589a98445bc6e838b688194f6f112537495f0814f5d5 config_h.SH * 6e8898de349ca5bd5102aa12be91e6884110157cb9267e661f6fc797bbd54649 uconfig.sh * ex: set ro: */ hv_macro.h 0000644 00000006045 15140731057 0006523 0 ustar 00 #ifndef PERL_SEEN_HV_MACRO_H /* compile once */ #define PERL_SEEN_HV_MACRO_H #if IVSIZE == 8 #define CAN64BITHASH #endif #ifdef CAN64BITHASH #ifndef U64TYPE /* This probably isn't going to work, but failing with a compiler error due to lack of uint64_t is no worse than failing right now with an #error. */ #define U64 uint64_t #endif #endif /*----------------------------------------------------------------------------- * Endianess and util macros * * The following 3 macros are defined in this section. The other macros defined * are only needed to help derive these 3. * * U8TO16_LE(x) Read a little endian unsigned 32-bit int * U8TO32_LE(x) Read a little endian unsigned 32-bit int * U8TO28_LE(x) Read a little endian unsigned 32-bit int * ROTL32(x,r) Rotate x left by r bits * ROTL64(x,r) Rotate x left by r bits * ROTR32(x,r) Rotate x right by r bits * ROTR64(x,r) Rotate x right by r bits */ #ifndef U8TO16_LE #define _shifted_octet(type,ptr,idx,shift) (((type)(((U8*)(ptr))[(idx)]))<<(shift)) #ifdef USE_UNALIGNED_PTR_DEREF #define U8TO16_LE(ptr) (*((const U16*)(ptr))) #define U8TO32_LE(ptr) (*((const U32*)(ptr))) #define U8TO64_LE(ptr) (*((const U64*)(ptr))) #else #define U8TO16_LE(ptr) (_shifted_octet(U16,(ptr),0, 0)|\ _shifted_octet(U16,(ptr),1, 8)) #define U8TO32_LE(ptr) (_shifted_octet(U32,(ptr),0, 0)|\ _shifted_octet(U32,(ptr),1, 8)|\ _shifted_octet(U32,(ptr),2,16)|\ _shifted_octet(U32,(ptr),3,24)) #define U8TO64_LE(ptr) (_shifted_octet(U64,(ptr),0, 0)|\ _shifted_octet(U64,(ptr),1, 8)|\ _shifted_octet(U64,(ptr),2,16)|\ _shifted_octet(U64,(ptr),3,24)|\ _shifted_octet(U64,(ptr),4,32)|\ _shifted_octet(U64,(ptr),5,40)|\ _shifted_octet(U64,(ptr),6,48)|\ _shifted_octet(U64,(ptr),7,56)) #endif #endif /* Find best way to ROTL32/ROTL64 */ #if defined(_MSC_VER) #include <stdlib.h> /* Microsoft put _rotl declaration in here */ #define ROTL32(x,r) _rotl(x,r) #define ROTR32(x,r) _rotr(x,r) #define ROTL64(x,r) _rotl64(x,r) #define ROTR64(x,r) _rotr64(x,r) #else /* gcc recognises this code and generates a rotate instruction for CPUs with one */ #define ROTL32(x,r) (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r)))) #define ROTR32(x,r) (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r))) #define ROTL64(x,r) ( ( (U64)(x) << (r) ) | ( (U64)(x) >> ( 64 - (r) ) ) ) #define ROTR64(x,r) ( ( (U64)(x) << ( 64 - (r) ) ) | ( (U64)(x) >> (r) ) ) #endif #ifdef UV_IS_QUAD #define ROTL_UV(x,r) ROTL64(x,r) #define ROTR_UV(x,r) ROTL64(x,r) #else #define ROTL_UV(x,r) ROTL32(x,r) #define ROTR_UV(x,r) ROTR32(x,r) #endif #if IVSIZE == 8 #define CAN64BITHASH #endif #endif perliol.h 0000644 00000032701 15140731057 0006371 0 ustar 00 #ifndef PERLIOL_H_ #define PERLIOL_H_ typedef struct { PerlIO_funcs *funcs; SV *arg; } PerlIO_pair_t; struct PerlIO_list_s { IV refcnt; IV cur; IV len; PerlIO_pair_t *array; }; struct _PerlIO_funcs { Size_t fsize; const char *name; Size_t size; U32 kind; IV (*Pushed) (pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); IV (*Popped) (pTHX_ PerlIO *f); PerlIO *(*Open) (pTHX_ PerlIO_funcs *tab, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); IV (*Binmode)(pTHX_ PerlIO *f); SV *(*Getarg) (pTHX_ PerlIO *f, CLONE_PARAMS *param, int flags); IV (*Fileno) (pTHX_ PerlIO *f); PerlIO *(*Dup) (pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); /* Unix-like functions - cf sfio line disciplines */ SSize_t(*Read) (pTHX_ PerlIO *f, void *vbuf, Size_t count); SSize_t(*Unread) (pTHX_ PerlIO *f, const void *vbuf, Size_t count); SSize_t(*Write) (pTHX_ PerlIO *f, const void *vbuf, Size_t count); IV (*Seek) (pTHX_ PerlIO *f, Off_t offset, int whence); Off_t(*Tell) (pTHX_ PerlIO *f); IV (*Close) (pTHX_ PerlIO *f); /* Stdio-like buffered IO functions */ IV (*Flush) (pTHX_ PerlIO *f); IV (*Fill) (pTHX_ PerlIO *f); IV (*Eof) (pTHX_ PerlIO *f); IV (*Error) (pTHX_ PerlIO *f); void (*Clearerr) (pTHX_ PerlIO *f); void (*Setlinebuf) (pTHX_ PerlIO *f); /* Perl's snooping functions */ STDCHAR *(*Get_base) (pTHX_ PerlIO *f); Size_t(*Get_bufsiz) (pTHX_ PerlIO *f); STDCHAR *(*Get_ptr) (pTHX_ PerlIO *f); SSize_t(*Get_cnt) (pTHX_ PerlIO *f); void (*Set_ptrcnt) (pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); }; /*--------------------------------------------------------------------------------------*/ /* Kind values */ #define PERLIO_K_RAW 0x00000001 #define PERLIO_K_BUFFERED 0x00000002 #define PERLIO_K_CANCRLF 0x00000004 #define PERLIO_K_FASTGETS 0x00000008 #define PERLIO_K_DUMMY 0x00000010 #define PERLIO_K_UTF8 0x00008000 #define PERLIO_K_DESTRUCT 0x00010000 #define PERLIO_K_MULTIARG 0x00020000 /*--------------------------------------------------------------------------------------*/ struct _PerlIO { PerlIOl *next; /* Lower layer */ PerlIO_funcs *tab; /* Functions for this layer */ U32 flags; /* Various flags for state */ int err; /* Saved errno value */ #ifdef VMS unsigned os_err; /* Saved vaxc$errno value */ #elif defined (OS2) unsigned long os_err; #elif defined (WIN32) DWORD os_err; /* Saved GetLastError() value */ #endif PerlIOl *head; /* our ultimate parent pointer */ }; /*--------------------------------------------------------------------------------------*/ /* Flag values */ #define PERLIO_F_EOF 0x00000100 #define PERLIO_F_CANWRITE 0x00000200 #define PERLIO_F_CANREAD 0x00000400 #define PERLIO_F_ERROR 0x00000800 #define PERLIO_F_TRUNCATE 0x00001000 #define PERLIO_F_APPEND 0x00002000 #define PERLIO_F_CRLF 0x00004000 #define PERLIO_F_UTF8 0x00008000 #define PERLIO_F_UNBUF 0x00010000 #define PERLIO_F_WRBUF 0x00020000 #define PERLIO_F_RDBUF 0x00040000 #define PERLIO_F_LINEBUF 0x00080000 #define PERLIO_F_TEMP 0x00100000 #define PERLIO_F_OPEN 0x00200000 #define PERLIO_F_FASTGETS 0x00400000 #define PERLIO_F_TTY 0x00800000 #define PERLIO_F_NOTREG 0x01000000 #define PERLIO_F_CLEARED 0x02000000 /* layer cleared but not freed */ #define PerlIOBase(f) (*(f)) #define PerlIOSelf(f,type) ((type *)PerlIOBase(f)) #define PerlIONext(f) (&(PerlIOBase(f)->next)) #define PerlIOValid(f) ((f) && *(f)) /*--------------------------------------------------------------------------------------*/ /* Data exports - EXTCONST rather than extern is needed for Cygwin */ #undef EXTPERLIO #ifdef PERLIO_FUNCS_CONST #define EXTPERLIO EXTCONST #else #define EXTPERLIO EXT #endif EXTPERLIO PerlIO_funcs PerlIO_unix; EXTPERLIO PerlIO_funcs PerlIO_perlio; EXTPERLIO PerlIO_funcs PerlIO_stdio; EXTPERLIO PerlIO_funcs PerlIO_crlf; EXTPERLIO PerlIO_funcs PerlIO_utf8; EXTPERLIO PerlIO_funcs PerlIO_byte; EXTPERLIO PerlIO_funcs PerlIO_raw; EXTPERLIO PerlIO_funcs PerlIO_pending; #ifdef WIN32 EXTPERLIO PerlIO_funcs PerlIO_win32; #endif PERL_CALLCONV PerlIO *PerlIO_allocate(pTHX); PERL_CALLCONV SV *PerlIO_arg_fetch(PerlIO_list_t *av, IV n); #define PerlIOArg PerlIO_arg_fetch(layers,n) #ifdef PERLIO_USING_CRLF #define PERLIO_STDTEXT "t" #else #define PERLIO_STDTEXT "" #endif /*--------------------------------------------------------------------------------------*/ /* perlio buffer layer As this is reasonably generic its struct and "methods" are declared here so they can be used to "inherit" from it. */ typedef struct { struct _PerlIO base; /* Base "class" info */ STDCHAR *buf; /* Start of buffer */ STDCHAR *end; /* End of valid part of buffer */ STDCHAR *ptr; /* Current position in buffer */ Off_t posn; /* Offset of buf into the file */ Size_t bufsiz; /* Real size of buffer */ IV oneword; /* Emergency buffer */ } PerlIOBuf; PERL_CALLCONV int PerlIO_apply_layera(pTHX_ PerlIO *f, const char *mode, PerlIO_list_t *layers, IV n, IV max); PERL_CALLCONV int PerlIO_parse_layers(pTHX_ PerlIO_list_t *av, const char *names); PERL_CALLCONV PerlIO_funcs *PerlIO_layer_fetch(pTHX_ PerlIO_list_t *av, IV n, PerlIO_funcs *def); PERL_CALLCONV SV *PerlIO_sv_dup(pTHX_ SV *arg, CLONE_PARAMS *param); PERL_CALLCONV void PerlIO_cleantable(pTHX_ PerlIOl **tablep); PERL_CALLCONV SV * PerlIO_tab_sv(pTHX_ PerlIO_funcs *tab); PERL_CALLCONV void PerlIO_default_buffer(pTHX_ PerlIO_list_t *av); PERL_CALLCONV void PerlIO_stdstreams(pTHX); PERL_CALLCONV int PerlIO__close(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO_list_t * PerlIO_resolve_layers(pTHX_ const char *layers, const char *mode, int narg, SV **args); PERL_CALLCONV PerlIO_funcs * PerlIO_default_layer(pTHX_ I32 n); PERL_CALLCONV PerlIO_list_t * PerlIO_default_layers(pTHX); PERL_CALLCONV PerlIO * PerlIO_reopen(const char *path, const char *mode, PerlIO *f); PERL_CALLCONV PerlIO_list_t *PerlIO_list_alloc(pTHX); PERL_CALLCONV PerlIO_list_t *PerlIO_clone_list(pTHX_ PerlIO_list_t *proto, CLONE_PARAMS *param); PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list); PERL_CALLCONV void PerlIO_list_push(pTHX_ PerlIO_list_t *list, PerlIO_funcs *funcs, SV *arg); PERL_CALLCONV void PerlIO_list_free(pTHX_ PerlIO_list_t *list); /* PerlIO_teardown doesn't need exporting, but the EXTERN_C is needed * for compiling as C++. Must also match with what perl.h says. */ EXTERN_C void PerlIO_teardown(void); /*--------------------------------------------------------------------------------------*/ /* Generic, or stub layer functions */ PERL_CALLCONV IV PerlIOBase_binmode(pTHX_ PerlIO *f); PERL_CALLCONV void PerlIOBase_clearerr(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_close(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO * PerlIOBase_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); PERL_CALLCONV IV PerlIOBase_eof(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_error(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_fileno(pTHX_ PerlIO *f); PERL_CALLCONV void PerlIOBase_flush_linebuf(pTHX); PERL_CALLCONV IV PerlIOBase_noop_fail(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_noop_ok(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_popped(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBase_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV PerlIO * PerlIOBase_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); PERL_CALLCONV SSize_t PerlIOBase_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); PERL_CALLCONV void PerlIOBase_setlinebuf(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOBase_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Buf */ PERL_CALLCONV Size_t PerlIOBuf_bufsiz(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBuf_close(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO * PerlIOBuf_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); PERL_CALLCONV IV PerlIOBuf_fill(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBuf_flush(pTHX_ PerlIO *f); PERL_CALLCONV STDCHAR * PerlIOBuf_get_base(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOBuf_get_cnt(pTHX_ PerlIO *f); PERL_CALLCONV STDCHAR * PerlIOBuf_get_ptr(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO * PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *old, int narg, SV **args); PERL_CALLCONV IV PerlIOBuf_popped(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOBuf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV SSize_t PerlIOBuf_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); PERL_CALLCONV IV PerlIOBuf_seek(pTHX_ PerlIO *f, Off_t offset, int whence); PERL_CALLCONV void PerlIOBuf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); PERL_CALLCONV Off_t PerlIOBuf_tell(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOBuf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); PERL_CALLCONV SSize_t PerlIOBuf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Crlf */ PERL_CALLCONV IV PerlIOCrlf_binmode(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOCrlf_flush(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOCrlf_get_cnt(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOCrlf_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV void PerlIOCrlf_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); PERL_CALLCONV SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); PERL_CALLCONV SSize_t PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Pending */ PERL_CALLCONV IV PerlIOPending_close(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOPending_fill(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOPending_flush(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOPending_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV SSize_t PerlIOPending_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); PERL_CALLCONV IV PerlIOPending_seek(pTHX_ PerlIO *f, Off_t offset, int whence); PERL_CALLCONV void PerlIOPending_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); /* Pop */ PERL_CALLCONV IV PerlIOPop_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); /* Raw */ PERL_CALLCONV IV PerlIORaw_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); /* Stdio */ PERL_CALLCONV void PerlIOStdio_clearerr(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOStdio_close(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO * PerlIOStdio_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); PERL_CALLCONV IV PerlIOStdio_eof(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOStdio_error(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOStdio_fileno(pTHX_ PerlIO *f); #ifdef USE_STDIO_PTR PERL_CALLCONV STDCHAR * PerlIOStdio_get_ptr(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOStdio_get_cnt(pTHX_ PerlIO *f); PERL_CALLCONV void PerlIOStdio_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR * ptr, SSize_t cnt); #endif PERL_CALLCONV IV PerlIOStdio_fill(pTHX_ PerlIO *f); PERL_CALLCONV IV PerlIOStdio_flush(pTHX_ PerlIO *f); #ifdef FILE_base PERL_CALLCONV STDCHAR * PerlIOStdio_get_base(pTHX_ PerlIO *f); PERL_CALLCONV Size_t PerlIOStdio_get_bufsiz(pTHX_ PerlIO *f); #endif PERL_CALLCONV char * PerlIOStdio_mode(const char *mode, char *tmode); PERL_CALLCONV PerlIO * PerlIOStdio_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args); PERL_CALLCONV IV PerlIOStdio_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV SSize_t PerlIOStdio_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); PERL_CALLCONV IV PerlIOStdio_seek(pTHX_ PerlIO *f, Off_t offset, int whence); PERL_CALLCONV void PerlIOStdio_setlinebuf(pTHX_ PerlIO *f); PERL_CALLCONV Off_t PerlIOStdio_tell(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOStdio_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count); PERL_CALLCONV SSize_t PerlIOStdio_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Unix */ PERL_CALLCONV IV PerlIOUnix_close(pTHX_ PerlIO *f); PERL_CALLCONV PerlIO * PerlIOUnix_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags); PERL_CALLCONV IV PerlIOUnix_fileno(pTHX_ PerlIO *f); PERL_CALLCONV int PerlIOUnix_oflags(const char *mode); PERL_CALLCONV PerlIO * PerlIOUnix_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers, IV n, const char *mode, int fd, int imode, int perm, PerlIO *f, int narg, SV **args); PERL_CALLCONV IV PerlIOUnix_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); PERL_CALLCONV SSize_t PerlIOUnix_read(pTHX_ PerlIO *f, void *vbuf, Size_t count); PERL_CALLCONV int PerlIOUnix_refcnt_dec(int fd); PERL_CALLCONV void PerlIOUnix_refcnt_inc(int fd); PERL_CALLCONV int PerlIOUnix_refcnt(int fd); PERL_CALLCONV IV PerlIOUnix_seek(pTHX_ PerlIO *f, Off_t offset, int whence); PERL_CALLCONV Off_t PerlIOUnix_tell(pTHX_ PerlIO *f); PERL_CALLCONV SSize_t PerlIOUnix_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count); /* Utf8 */ PERL_CALLCONV IV PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab); #endif /* PERLIOL_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ invlist_inline.h 0000644 00000016405 15140731057 0007754 0 ustar 00 /* invlist_inline.h * * Copyright (C) 2012 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. */ #ifndef PERL_INVLIST_INLINE_H_ #define PERL_INVLIST_INLINE_H_ #if defined(PERL_IN_UTF8_C) \ || defined(PERL_IN_REGCOMP_C) \ || defined(PERL_IN_REGEXEC_C) \ || defined(PERL_IN_TOKE_C) \ || defined(PERL_IN_PP_C) \ || defined(PERL_IN_OP_C) \ || defined(PERL_IN_DOOP_C) /* An element is in an inversion list iff its index is even numbered: 0, 2, 4, * etc */ #define ELEMENT_RANGE_MATCHES_INVLIST(i) (! ((i) & 1)) #define PREV_RANGE_MATCHES_INVLIST(i) (! ELEMENT_RANGE_MATCHES_INVLIST(i)) /* This converts to/from our UVs to what the SV code is expecting: bytes. */ #define TO_INTERNAL_SIZE(x) ((x) * sizeof(UV)) #define FROM_INTERNAL_SIZE(x) ((x)/ sizeof(UV)) PERL_STATIC_INLINE bool S_is_invlist(SV* const invlist) { return invlist != NULL && SvTYPE(invlist) == SVt_INVLIST; } PERL_STATIC_INLINE bool* S_get_invlist_offset_addr(SV* invlist) { /* Return the address of the field that says whether the inversion list is * offset (it contains 1) or not (contains 0) */ PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR; assert(is_invlist(invlist)); return &(((XINVLIST*) SvANY(invlist))->is_offset); } PERL_STATIC_INLINE UV S__invlist_len(SV* const invlist) { /* Returns the current number of elements stored in the inversion list's * array */ PERL_ARGS_ASSERT__INVLIST_LEN; assert(is_invlist(invlist)); return (SvCUR(invlist) == 0) ? 0 : FROM_INTERNAL_SIZE(SvCUR(invlist)) - *get_invlist_offset_addr(invlist); } PERL_STATIC_INLINE bool S__invlist_contains_cp(SV* const invlist, const UV cp) { /* Does <invlist> contain code point <cp> as part of the set? */ IV index = _invlist_search(invlist, cp); PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP; return index >= 0 && ELEMENT_RANGE_MATCHES_INVLIST(index); } PERL_STATIC_INLINE UV* S_invlist_array(SV* const invlist) { /* Returns the pointer to the inversion list's array. Every time the * length changes, this needs to be called in case malloc or realloc moved * it */ PERL_ARGS_ASSERT_INVLIST_ARRAY; /* Must not be empty. If these fail, you probably didn't check for <len> * being non-zero before trying to get the array */ assert(_invlist_len(invlist)); /* The very first element always contains zero, The array begins either * there, or if the inversion list is offset, at the element after it. * The offset header field determines which; it contains 0 or 1 to indicate * how much additionally to add */ assert(0 == *(SvPVX(invlist))); return ((UV *) SvPVX(invlist) + *get_invlist_offset_addr(invlist)); } #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_DOOP_C) PERL_STATIC_INLINE void S_invlist_extend(pTHX_ SV* const invlist, const UV new_max) { /* Grow the maximum size of an inversion list */ PERL_ARGS_ASSERT_INVLIST_EXTEND; assert(SvTYPE(invlist) == SVt_INVLIST); /* Add one to account for the zero element at the beginning which may not * be counted by the calling parameters */ SvGROW((SV *)invlist, TO_INTERNAL_SIZE(new_max + 1)); } PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len, const bool offset) { /* Sets the current number of elements stored in the inversion list. * Updates SvCUR correspondingly */ PERL_UNUSED_CONTEXT; PERL_ARGS_ASSERT_INVLIST_SET_LEN; assert(SvTYPE(invlist) == SVt_INVLIST); SvCUR_set(invlist, (len == 0) ? 0 : TO_INTERNAL_SIZE(len + offset)); assert(SvLEN(invlist) == 0 || SvCUR(invlist) <= SvLEN(invlist)); } PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) { return _add_range_to_invlist(invlist, cp, cp); } PERL_STATIC_INLINE UV S_invlist_highest(SV* const invlist) { /* Returns the highest code point that matches an inversion list. This API * has an ambiguity, as it returns 0 under either the highest is actually * 0, or if the list is empty. If this distinction matters to you, check * for emptiness before calling this function */ UV len = _invlist_len(invlist); UV *array; PERL_ARGS_ASSERT_INVLIST_HIGHEST; if (len == 0) { return 0; } array = invlist_array(invlist); /* The last element in the array in the inversion list always starts a * range that goes to infinity. That range may be for code points that are * matched in the inversion list, or it may be for ones that aren't * matched. In the latter case, the highest code point in the set is one * less than the beginning of this range; otherwise it is the final element * of this range: infinity */ return (ELEMENT_RANGE_MATCHES_INVLIST(len - 1)) ? UV_MAX : array[len - 1] - 1; } #endif #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) PERL_STATIC_INLINE STRLEN* S_get_invlist_iter_addr(SV* invlist) { /* Return the address of the UV that contains the current iteration * position */ PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR; assert(is_invlist(invlist)); return &(((XINVLIST*) SvANY(invlist))->iterator); } PERL_STATIC_INLINE void S_invlist_iterinit(SV* invlist) /* Initialize iterator for invlist */ { PERL_ARGS_ASSERT_INVLIST_ITERINIT; *get_invlist_iter_addr(invlist) = 0; } PERL_STATIC_INLINE void S_invlist_iterfinish(SV* invlist) { /* Terminate iterator for invlist. This is to catch development errors. * Any iteration that is interrupted before completed should call this * function. Functions that add code points anywhere else but to the end * of an inversion list assert that they are not in the middle of an * iteration. If they were, the addition would make the iteration * problematical: if the iteration hadn't reached the place where things * were being added, it would be ok */ PERL_ARGS_ASSERT_INVLIST_ITERFINISH; *get_invlist_iter_addr(invlist) = (STRLEN) UV_MAX; } STATIC bool S_invlist_iternext(SV* invlist, UV* start, UV* end) { /* An C<invlist_iterinit> call on <invlist> must be used to set this up. * This call sets in <*start> and <*end>, the next range in <invlist>. * Returns <TRUE> if successful and the next call will return the next * range; <FALSE> if was already at the end of the list. If the latter, * <*start> and <*end> are unchanged, and the next call to this function * will start over at the beginning of the list */ STRLEN* pos = get_invlist_iter_addr(invlist); UV len = _invlist_len(invlist); UV *array; PERL_ARGS_ASSERT_INVLIST_ITERNEXT; if (*pos >= len) { *pos = (STRLEN) UV_MAX; /* Force iterinit() to be required next time */ return FALSE; } array = invlist_array(invlist); *start = array[(*pos)++]; if (*pos >= len) { *end = UV_MAX; } else { *end = array[(*pos)++] - 1; } return TRUE; } #endif #ifndef PERL_IN_REGCOMP_C /* These symbols are only needed later in regcomp.c */ # undef TO_INTERNAL_SIZE # undef FROM_INTERNAL_SIZE #endif #endif /* PERL_INVLIST_INLINE_H_ */ git_version.h 0000644 00000000545 15140731057 0007254 0 ustar 00 /************************************************************************** * WARNING: 'git_version.h' is automatically generated by make_patchnum.pl * DO NOT EDIT DIRECTLY - edit make_patchnum.pl instead ***************************************************************************/ #define PERL_GIT_UNPUSHED_COMMITS \ /*leave-this-comment*/ perl_langinfo.h 0000644 00000005542 15140731057 0007545 0 ustar 00 /* Replaces <langinfo.h>, and allows our code to work on systems that don't * have that. */ #ifndef PERL_LANGINFO_H #define PERL_LANGINFO_H 1 #include "config.h" #if defined(HAS_NL_LANGINFO) && defined(I_LANGINFO) # include <langinfo.h> #endif /* NOTE that this file is parsed by ext/XS-APItest/t/locale.t, so be careful * with changes */ /* If foo doesn't exist define it to a negative number. */ #ifndef CODESET # define CODESET -1 #endif #ifndef D_T_FMT # define D_T_FMT -2 #endif #ifndef D_FMT # define D_FMT -3 #endif #ifndef T_FMT # define T_FMT -4 #endif #ifndef T_FMT_AMPM # define T_FMT_AMPM -5 #endif #ifndef AM_STR # define AM_STR -6 #endif #ifndef PM_STR # define PM_STR -7 #endif #ifndef DAY_1 # define DAY_1 -8 #endif #ifndef DAY_2 # define DAY_2 -9 #endif #ifndef DAY_3 # define DAY_3 -10 #endif #ifndef DAY_4 # define DAY_4 -11 #endif #ifndef DAY_5 # define DAY_5 -12 #endif #ifndef DAY_6 # define DAY_6 -13 #endif #ifndef DAY_7 # define DAY_7 -14 #endif #ifndef ABDAY_1 # define ABDAY_1 -15 #endif #ifndef ABDAY_2 # define ABDAY_2 -16 #endif #ifndef ABDAY_3 # define ABDAY_3 -17 #endif #ifndef ABDAY_4 # define ABDAY_4 -18 #endif #ifndef ABDAY_5 # define ABDAY_5 -19 #endif #ifndef ABDAY_6 # define ABDAY_6 -20 #endif #ifndef ABDAY_7 # define ABDAY_7 -21 #endif #ifndef MON_1 # define MON_1 -22 #endif #ifndef MON_2 # define MON_2 -23 #endif #ifndef MON_3 # define MON_3 -24 #endif #ifndef MON_4 # define MON_4 -25 #endif #ifndef MON_5 # define MON_5 -26 #endif #ifndef MON_6 # define MON_6 -27 #endif #ifndef MON_7 # define MON_7 -28 #endif #ifndef MON_8 # define MON_8 -29 #endif #ifndef MON_9 # define MON_9 -30 #endif #ifndef MON_10 # define MON_10 -31 #endif #ifndef MON_11 # define MON_11 -32 #endif #ifndef MON_12 # define MON_12 -33 #endif #ifndef ABMON_1 # define ABMON_1 -34 #endif #ifndef ABMON_2 # define ABMON_2 -35 #endif #ifndef ABMON_3 # define ABMON_3 -36 #endif #ifndef ABMON_4 # define ABMON_4 -37 #endif #ifndef ABMON_5 # define ABMON_5 -38 #endif #ifndef ABMON_6 # define ABMON_6 -39 #endif #ifndef ABMON_7 # define ABMON_7 -40 #endif #ifndef ABMON_8 # define ABMON_8 -41 #endif #ifndef ABMON_9 # define ABMON_9 -42 #endif #ifndef ABMON_10 # define ABMON_10 -43 #endif #ifndef ABMON_11 # define ABMON_11 -44 #endif #ifndef ABMON_12 # define ABMON_12 -45 #endif #ifndef ERA # define ERA -46 #endif #ifndef ERA_D_FMT # define ERA_D_FMT -47 #endif #ifndef ERA_D_T_FMT # define ERA_D_T_FMT -48 #endif #ifndef ERA_T_FMT # define ERA_T_FMT -49 #endif #ifndef ALT_DIGITS # define ALT_DIGITS -50 #endif #ifndef RADIXCHAR # define RADIXCHAR -51 #endif #ifndef THOUSEP # define THOUSEP -52 #endif #ifndef YESEXPR # define YESEXPR -53 #endif #ifndef YESSTR # define YESSTR -54 #endif #ifndef NOEXPR # define NOEXPR -55 #endif #ifndef NOSTR # define NOSTR -56 #endif #ifndef CRNCYSTR # define CRNCYSTR -57 #endif #endif INTERN.h 0000644 00000002435 15140731057 0005723 0 ustar 00 /* INTERN.h * * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1998, 2000, 2001, * by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * EXT designates a global var which is defined in perl.h * dEXT designates a global var which is defined in another * file, so we can't count on finding it in perl.h * (this practice should be avoided). */ #undef EXT #undef dEXT #undef EXTCONST #undef dEXTCONST # if (defined(WIN32) && defined(__MINGW32__) && ! defined(PERL_IS_MINIPERL)) \ || defined(__SYMBIAN32__) # ifdef __cplusplus # define EXT __declspec(dllexport) # define dEXT # define EXTCONST __declspec(dllexport) extern const # define dEXTCONST const # else # define EXT __declspec(dllexport) # define dEXT # define EXTCONST __declspec(dllexport) const # define dEXTCONST const # endif # else # ifdef __cplusplus # define EXT # define dEXT # define EXTCONST EXTERN_C const # define dEXTCONST const # else # define EXT # define dEXT # define EXTCONST const # define dEXTCONST const # endif # endif #undef INIT #define INIT(x) = x #define DOINIT keywords.h 0000644 00000014721 15140731057 0006574 0 ustar 00 /* -*- buffer-read-only: t -*- * * keywords.h * * Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2005, * 2006, 2007 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/keywords.pl from its data. * Any changes made here will be lost! */ #define KEY_NULL 0 #define KEY___FILE__ 1 #define KEY___LINE__ 2 #define KEY___PACKAGE__ 3 #define KEY___DATA__ 4 #define KEY___END__ 5 #define KEY___SUB__ 6 #define KEY_AUTOLOAD 7 #define KEY_BEGIN 8 #define KEY_UNITCHECK 9 #define KEY_DESTROY 10 #define KEY_END 11 #define KEY_INIT 12 #define KEY_CHECK 13 #define KEY_abs 14 #define KEY_accept 15 #define KEY_alarm 16 #define KEY_and 17 #define KEY_atan2 18 #define KEY_bind 19 #define KEY_binmode 20 #define KEY_bless 21 #define KEY_break 22 #define KEY_caller 23 #define KEY_chdir 24 #define KEY_chmod 25 #define KEY_chomp 26 #define KEY_chop 27 #define KEY_chown 28 #define KEY_chr 29 #define KEY_chroot 30 #define KEY_close 31 #define KEY_closedir 32 #define KEY_cmp 33 #define KEY_connect 34 #define KEY_continue 35 #define KEY_cos 36 #define KEY_crypt 37 #define KEY_dbmclose 38 #define KEY_dbmopen 39 #define KEY_default 40 #define KEY_defined 41 #define KEY_delete 42 #define KEY_die 43 #define KEY_do 44 #define KEY_dump 45 #define KEY_each 46 #define KEY_else 47 #define KEY_elsif 48 #define KEY_endgrent 49 #define KEY_endhostent 50 #define KEY_endnetent 51 #define KEY_endprotoent 52 #define KEY_endpwent 53 #define KEY_endservent 54 #define KEY_eof 55 #define KEY_eq 56 #define KEY_eval 57 #define KEY_evalbytes 58 #define KEY_exec 59 #define KEY_exists 60 #define KEY_exit 61 #define KEY_exp 62 #define KEY_fc 63 #define KEY_fcntl 64 #define KEY_fileno 65 #define KEY_flock 66 #define KEY_for 67 #define KEY_foreach 68 #define KEY_fork 69 #define KEY_format 70 #define KEY_formline 71 #define KEY_ge 72 #define KEY_getc 73 #define KEY_getgrent 74 #define KEY_getgrgid 75 #define KEY_getgrnam 76 #define KEY_gethostbyaddr 77 #define KEY_gethostbyname 78 #define KEY_gethostent 79 #define KEY_getlogin 80 #define KEY_getnetbyaddr 81 #define KEY_getnetbyname 82 #define KEY_getnetent 83 #define KEY_getpeername 84 #define KEY_getpgrp 85 #define KEY_getppid 86 #define KEY_getpriority 87 #define KEY_getprotobyname 88 #define KEY_getprotobynumber 89 #define KEY_getprotoent 90 #define KEY_getpwent 91 #define KEY_getpwnam 92 #define KEY_getpwuid 93 #define KEY_getservbyname 94 #define KEY_getservbyport 95 #define KEY_getservent 96 #define KEY_getsockname 97 #define KEY_getsockopt 98 #define KEY_given 99 #define KEY_glob 100 #define KEY_gmtime 101 #define KEY_goto 102 #define KEY_grep 103 #define KEY_gt 104 #define KEY_hex 105 #define KEY_if 106 #define KEY_index 107 #define KEY_int 108 #define KEY_ioctl 109 #define KEY_isa 110 #define KEY_join 111 #define KEY_keys 112 #define KEY_kill 113 #define KEY_last 114 #define KEY_lc 115 #define KEY_lcfirst 116 #define KEY_le 117 #define KEY_length 118 #define KEY_link 119 #define KEY_listen 120 #define KEY_local 121 #define KEY_localtime 122 #define KEY_lock 123 #define KEY_log 124 #define KEY_lstat 125 #define KEY_lt 126 #define KEY_m 127 #define KEY_map 128 #define KEY_mkdir 129 #define KEY_msgctl 130 #define KEY_msgget 131 #define KEY_msgrcv 132 #define KEY_msgsnd 133 #define KEY_my 134 #define KEY_ne 135 #define KEY_next 136 #define KEY_no 137 #define KEY_not 138 #define KEY_oct 139 #define KEY_open 140 #define KEY_opendir 141 #define KEY_or 142 #define KEY_ord 143 #define KEY_our 144 #define KEY_pack 145 #define KEY_package 146 #define KEY_pipe 147 #define KEY_pop 148 #define KEY_pos 149 #define KEY_print 150 #define KEY_printf 151 #define KEY_prototype 152 #define KEY_push 153 #define KEY_q 154 #define KEY_qq 155 #define KEY_qr 156 #define KEY_quotemeta 157 #define KEY_qw 158 #define KEY_qx 159 #define KEY_rand 160 #define KEY_read 161 #define KEY_readdir 162 #define KEY_readline 163 #define KEY_readlink 164 #define KEY_readpipe 165 #define KEY_recv 166 #define KEY_redo 167 #define KEY_ref 168 #define KEY_rename 169 #define KEY_require 170 #define KEY_reset 171 #define KEY_return 172 #define KEY_reverse 173 #define KEY_rewinddir 174 #define KEY_rindex 175 #define KEY_rmdir 176 #define KEY_s 177 #define KEY_say 178 #define KEY_scalar 179 #define KEY_seek 180 #define KEY_seekdir 181 #define KEY_select 182 #define KEY_semctl 183 #define KEY_semget 184 #define KEY_semop 185 #define KEY_send 186 #define KEY_setgrent 187 #define KEY_sethostent 188 #define KEY_setnetent 189 #define KEY_setpgrp 190 #define KEY_setpriority 191 #define KEY_setprotoent 192 #define KEY_setpwent 193 #define KEY_setservent 194 #define KEY_setsockopt 195 #define KEY_shift 196 #define KEY_shmctl 197 #define KEY_shmget 198 #define KEY_shmread 199 #define KEY_shmwrite 200 #define KEY_shutdown 201 #define KEY_sin 202 #define KEY_sleep 203 #define KEY_socket 204 #define KEY_socketpair 205 #define KEY_sort 206 #define KEY_splice 207 #define KEY_split 208 #define KEY_sprintf 209 #define KEY_sqrt 210 #define KEY_srand 211 #define KEY_stat 212 #define KEY_state 213 #define KEY_study 214 #define KEY_sub 215 #define KEY_substr 216 #define KEY_symlink 217 #define KEY_syscall 218 #define KEY_sysopen 219 #define KEY_sysread 220 #define KEY_sysseek 221 #define KEY_system 222 #define KEY_syswrite 223 #define KEY_tell 224 #define KEY_telldir 225 #define KEY_tie 226 #define KEY_tied 227 #define KEY_time 228 #define KEY_times 229 #define KEY_tr 230 #define KEY_truncate 231 #define KEY_uc 232 #define KEY_ucfirst 233 #define KEY_umask 234 #define KEY_undef 235 #define KEY_unless 236 #define KEY_unlink 237 #define KEY_unpack 238 #define KEY_unshift 239 #define KEY_untie 240 #define KEY_until 241 #define KEY_use 242 #define KEY_utime 243 #define KEY_values 244 #define KEY_vec 245 #define KEY_wait 246 #define KEY_waitpid 247 #define KEY_wantarray 248 #define KEY_warn 249 #define KEY_when 250 #define KEY_while 251 #define KEY_write 252 #define KEY_x 253 #define KEY_xor 254 #define KEY_y 255 /* Generated from: * f77998a5bc995c1b42d3d080de227ef5f11638bcd329367431d8f193aef2d3cc regen/keywords.pl * ex: set ro: */ regnodes.h 0000644 00000116636 15140731057 0006543 0 ustar 00 /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen/regcomp.pl from regcomp.sym. Any changes made here will be lost! */ /* Regops and State definitions */ #define REGNODE_MAX 109 #define REGMATCH_STATE_MAX 149 #define END 0 /* 0000 End of program. */ #define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */ #define SBOL 2 /* 0x02 Match "" at beginning of line: /^/, /\A/ */ #define BOL 2 /* 0x02 type alias */ #define MBOL 3 /* 0x03 Same, assuming multiline: /^/m */ #define SEOL 4 /* 0x04 Match "" at end of line: /$/ */ #define EOL 4 /* 0x04 type alias */ #define MEOL 5 /* 0x05 Same, assuming multiline: /$/m */ #define EOS 6 /* 0x06 Match "" at end of string: /\z/ */ #define GPOS 7 /* 0x07 Matches where last m//g left off. */ #define BOUND 8 /* 0x08 Like BOUNDA for non-utf8, otherwise like BOUNDU */ #define BOUNDL 9 /* 0x09 Like BOUND/BOUNDU, but \w and \W are defined by current locale */ #define BOUNDU 10 /* 0x0a Match "" at any boundary of a given type using /u rules. */ #define BOUNDA 11 /* 0x0b Match "" at any boundary between \w\W or \W\w, where \w is [_a-zA-Z0-9] */ #define NBOUND 12 /* 0x0c Like NBOUNDA for non-utf8, otherwise like BOUNDU */ #define NBOUNDL 13 /* 0x0d Like NBOUND/NBOUNDU, but \w and \W are defined by current locale */ #define NBOUNDU 14 /* 0x0e Match "" at any non-boundary of a given type using using /u rules. */ #define NBOUNDA 15 /* 0x0f Match "" betweeen any \w\w or \W\W, where \w is [_a-zA-Z0-9] */ #define REG_ANY 16 /* 0x10 Match any one character (except newline). */ #define SANY 17 /* 0x11 Match any one character. */ #define ANYOF 18 /* 0x12 Match character in (or not in) this class, single char match only */ #define ANYOFD 19 /* 0x13 Like ANYOF, but /d is in effect */ #define ANYOFL 20 /* 0x14 Like ANYOF, but /l is in effect */ #define ANYOFPOSIXL 21 /* 0x15 Like ANYOFL, but matches [[:posix:]] classes */ #define ANYOFH 22 /* 0x16 Like ANYOF, but only has "High" matches, none in the bitmap; the flags field contains the lowest matchable UTF-8 start byte */ #define ANYOFHb 23 /* 0x17 Like ANYOFH, but all matches share the same UTF-8 start byte, given in the flags field */ #define ANYOFHr 24 /* 0x18 Like ANYOFH, but the flags field contains packed bounds for all matchable UTF-8 start bytes. */ #define ANYOFHs 25 /* 0x19 Like ANYOFHb, but has a string field that gives the leading matchable UTF-8 bytes; flags field is len */ #define ANYOFR 26 /* 0x1a Matches any character in the range given by its packed args: upper 12 bits is the max delta from the base lower 20; the flags field contains the lowest matchable UTF-8 start byte */ #define ANYOFRb 27 /* 0x1b Like ANYOFR, but all matches share the same UTF-8 start byte, given in the flags field */ #define ANYOFM 28 /* 0x1c Like ANYOF, but matches an invariant byte as determined by the mask and arg */ #define NANYOFM 29 /* 0x1d complement of ANYOFM */ #define POSIXD 30 /* 0x1e Some [[:class:]] under /d; the FLAGS field gives which one */ #define POSIXL 31 /* 0x1f Some [[:class:]] under /l; the FLAGS field gives which one */ #define POSIXU 32 /* 0x20 Some [[:class:]] under /u; the FLAGS field gives which one */ #define POSIXA 33 /* 0x21 Some [[:class:]] under /a; the FLAGS field gives which one */ #define NPOSIXD 34 /* 0x22 complement of POSIXD, [[:^class:]] */ #define NPOSIXL 35 /* 0x23 complement of POSIXL, [[:^class:]] */ #define NPOSIXU 36 /* 0x24 complement of POSIXU, [[:^class:]] */ #define NPOSIXA 37 /* 0x25 complement of POSIXA, [[:^class:]] */ #define CLUMP 38 /* 0x26 Match any extended grapheme cluster sequence */ #define BRANCH 39 /* 0x27 Match this alternative, or the next... */ #define EXACT 40 /* 0x28 Match this string (flags field is the length). */ #define LEXACT 41 /* 0x29 Match this long string (preceded by length; flags unused). */ #define EXACTL 42 /* 0x2a Like EXACT, but /l is in effect (used so locale-related warnings can be checked for) */ #define EXACTF 43 /* 0x2b Like EXACT, but match using /id rules; (string not UTF-8, ASCII folded; non-ASCII not) */ #define EXACTFL 44 /* 0x2c Like EXACT, but match using /il rules; (string not likely to be folded) */ #define EXACTFU 45 /* 0x2d Like EXACT, but match using /iu rules; (string folded) */ #define EXACTFAA 46 /* 0x2e Like EXACT, but match using /iaa rules; (string folded except in non-UTF8 patterns: MICRO, SHARP S; folded length <= unfolded) */ #define EXACTFUP 47 /* 0x2f Like EXACT, but match using /iu rules; (string not UTF-8, folded except MICRO, SHARP S: hence Problematic) */ #define EXACTFLU8 48 /* 0x30 Like EXACTFU, but use /il, UTF-8, (string is folded, and everything in it is above 255 */ #define EXACTFAA_NO_TRIE 49 /* 0x31 Like EXACT, but match using /iaa rules (string not UTF-8, not guaranteed to be folded, not currently trie-able) */ #define EXACT_REQ8 50 /* 0x32 Like EXACT, but only UTF-8 encoded targets can match */ #define LEXACT_REQ8 51 /* 0x33 Like LEXACT, but only UTF-8 encoded targets can match */ #define EXACTFU_REQ8 52 /* 0x34 Like EXACTFU, but only UTF-8 encoded targets can match */ #define EXACTFU_S_EDGE 53 /* 0x35 /di rules, but nothing in it precludes /ui, except begins and/or ends with [Ss]; (string not UTF-8; compile-time only) */ #define NOTHING 54 /* 0x36 Match empty string. */ #define TAIL 55 /* 0x37 Match empty string. Can jump here from outside. */ #define STAR 56 /* 0x38 Match this (simple) thing 0 or more times. */ #define PLUS 57 /* 0x39 Match this (simple) thing 1 or more times. */ #define CURLY 58 /* 0x3a Match this simple thing {n,m} times. */ #define CURLYN 59 /* 0x3b Capture next-after-this simple thing */ #define CURLYM 60 /* 0x3c Capture this medium-complex thing {n,m} times. */ #define CURLYX 61 /* 0x3d Match this complex thing {n,m} times. */ #define WHILEM 62 /* 0x3e Do curly processing and see if rest matches. */ #define OPEN 63 /* 0x3f Mark this point in input as start of #n. */ #define CLOSE 64 /* 0x40 Close corresponding OPEN of #n. */ #define SROPEN 65 /* 0x41 Same as OPEN, but for script run */ #define SRCLOSE 66 /* 0x42 Close preceding SROPEN */ #define REF 67 /* 0x43 Match some already matched string */ #define REFF 68 /* 0x44 Match already matched string, using /di rules. */ #define REFFL 69 /* 0x45 Match already matched string, using /li rules. */ #define REFFU 70 /* 0x46 Match already matched string, usng /ui. */ #define REFFA 71 /* 0x47 Match already matched string, using /aai rules. */ #define REFN 72 /* 0x48 Match some already matched string */ #define REFFN 73 /* 0x49 Match already matched string, using /di rules. */ #define REFFLN 74 /* 0x4a Match already matched string, using /li rules. */ #define REFFUN 75 /* 0x4b Match already matched string, using /ui rules. */ #define REFFAN 76 /* 0x4c Match already matched string, using /aai rules. */ #define LONGJMP 77 /* 0x4d Jump far away. */ #define BRANCHJ 78 /* 0x4e BRANCH with long offset. */ #define IFMATCH 79 /* 0x4f Succeeds if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ #define UNLESSM 80 /* 0x50 Fails if the following matches; non-zero flags "f", next_off "o" means lookbehind assertion starting "f..(f-o)" characters before current */ #define SUSPEND 81 /* 0x51 "Independent" sub-RE. */ #define IFTHEN 82 /* 0x52 Switch, should be preceded by switcher. */ #define GROUPP 83 /* 0x53 Whether the group matched. */ #define EVAL 84 /* 0x54 Execute some Perl code. */ #define MINMOD 85 /* 0x55 Next operator is not greedy. */ #define LOGICAL 86 /* 0x56 Next opcode should set the flag only. */ #define RENUM 87 /* 0x57 Group with independently numbered parens. */ #define TRIE 88 /* 0x58 Match many EXACT(F[ALU]?)? at once. flags==type */ #define TRIEC 89 /* 0x59 Same as TRIE, but with embedded charclass data */ #define AHOCORASICK 90 /* 0x5a Aho Corasick stclass. flags==type */ #define AHOCORASICKC 91 /* 0x5b Same as AHOCORASICK, but with embedded charclass data */ #define GOSUB 92 /* 0x5c recurse to paren arg1 at (signed) ofs arg2 */ #define GROUPPN 93 /* 0x5d Whether the group matched. */ #define INSUBP 94 /* 0x5e Whether we are in a specific recurse. */ #define DEFINEP 95 /* 0x5f Never execute directly. */ #define ENDLIKE 96 /* 0x60 Used only for the type field of verbs */ #define OPFAIL 97 /* 0x61 Same as (?!), but with verb arg */ #define ACCEPT 98 /* 0x62 Accepts the current matched string, with verbar */ #define VERB 99 /* 0x63 Used only for the type field of verbs */ #define PRUNE 100 /* 0x64 Pattern fails at this startpoint if no-backtracking through this */ #define MARKPOINT 101 /* 0x65 Push the current location for rollback by cut. */ #define SKIP 102 /* 0x66 On failure skip forward (to the mark) before retrying */ #define COMMIT 103 /* 0x67 Pattern fails outright if backtracking through this */ #define CUTGROUP 104 /* 0x68 On failure go to the next alternation in the group */ #define KEEPS 105 /* 0x69 $& begins here. */ #define LNBREAK 106 /* 0x6a generic newline pattern */ #define OPTIMIZED 107 /* 0x6b Placeholder for dump. */ #define PSEUDO 108 /* 0x6c Pseudo opcode for internal use. */ #define REGEX_SET 109 /* 0x6d Regex set, temporary node used in pre-optimization compilation */ /* ------------ States ------------- */ #define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */ #define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */ #define EVAL_B (REGNODE_MAX + 3) /* state for EVAL */ #define EVAL_B_fail (REGNODE_MAX + 4) /* state for EVAL */ #define EVAL_postponed_AB (REGNODE_MAX + 5) /* state for EVAL */ #define EVAL_postponed_AB_fail (REGNODE_MAX + 6) /* state for EVAL */ #define CURLYX_end (REGNODE_MAX + 7) /* state for CURLYX */ #define CURLYX_end_fail (REGNODE_MAX + 8) /* state for CURLYX */ #define WHILEM_A_pre (REGNODE_MAX + 9) /* state for WHILEM */ #define WHILEM_A_pre_fail (REGNODE_MAX + 10) /* state for WHILEM */ #define WHILEM_A_min (REGNODE_MAX + 11) /* state for WHILEM */ #define WHILEM_A_min_fail (REGNODE_MAX + 12) /* state for WHILEM */ #define WHILEM_A_max (REGNODE_MAX + 13) /* state for WHILEM */ #define WHILEM_A_max_fail (REGNODE_MAX + 14) /* state for WHILEM */ #define WHILEM_B_min (REGNODE_MAX + 15) /* state for WHILEM */ #define WHILEM_B_min_fail (REGNODE_MAX + 16) /* state for WHILEM */ #define WHILEM_B_max (REGNODE_MAX + 17) /* state for WHILEM */ #define WHILEM_B_max_fail (REGNODE_MAX + 18) /* state for WHILEM */ #define BRANCH_next (REGNODE_MAX + 19) /* state for BRANCH */ #define BRANCH_next_fail (REGNODE_MAX + 20) /* state for BRANCH */ #define CURLYM_A (REGNODE_MAX + 21) /* state for CURLYM */ #define CURLYM_A_fail (REGNODE_MAX + 22) /* state for CURLYM */ #define CURLYM_B (REGNODE_MAX + 23) /* state for CURLYM */ #define CURLYM_B_fail (REGNODE_MAX + 24) /* state for CURLYM */ #define IFMATCH_A (REGNODE_MAX + 25) /* state for IFMATCH */ #define IFMATCH_A_fail (REGNODE_MAX + 26) /* state for IFMATCH */ #define CURLY_B_min (REGNODE_MAX + 27) /* state for CURLY */ #define CURLY_B_min_fail (REGNODE_MAX + 28) /* state for CURLY */ #define CURLY_B_max (REGNODE_MAX + 29) /* state for CURLY */ #define CURLY_B_max_fail (REGNODE_MAX + 30) /* state for CURLY */ #define COMMIT_next (REGNODE_MAX + 31) /* state for COMMIT */ #define COMMIT_next_fail (REGNODE_MAX + 32) /* state for COMMIT */ #define MARKPOINT_next (REGNODE_MAX + 33) /* state for MARKPOINT */ #define MARKPOINT_next_fail (REGNODE_MAX + 34) /* state for MARKPOINT */ #define SKIP_next (REGNODE_MAX + 35) /* state for SKIP */ #define SKIP_next_fail (REGNODE_MAX + 36) /* state for SKIP */ #define CUTGROUP_next (REGNODE_MAX + 37) /* state for CUTGROUP */ #define CUTGROUP_next_fail (REGNODE_MAX + 38) /* state for CUTGROUP */ #define KEEPS_next (REGNODE_MAX + 39) /* state for KEEPS */ #define KEEPS_next_fail (REGNODE_MAX + 40) /* state for KEEPS */ /* PL_regkind[] What type of regop or state is this. */ #ifndef DOINIT EXTCONST U8 PL_regkind[]; #else EXTCONST U8 PL_regkind[] = { END, /* END */ END, /* SUCCEED */ BOL, /* SBOL */ BOL, /* MBOL */ EOL, /* SEOL */ EOL, /* MEOL */ EOL, /* EOS */ GPOS, /* GPOS */ BOUND, /* BOUND */ BOUND, /* BOUNDL */ BOUND, /* BOUNDU */ BOUND, /* BOUNDA */ NBOUND, /* NBOUND */ NBOUND, /* NBOUNDL */ NBOUND, /* NBOUNDU */ NBOUND, /* NBOUNDA */ REG_ANY, /* REG_ANY */ REG_ANY, /* SANY */ ANYOF, /* ANYOF */ ANYOF, /* ANYOFD */ ANYOF, /* ANYOFL */ ANYOF, /* ANYOFPOSIXL */ ANYOF, /* ANYOFH */ ANYOF, /* ANYOFHb */ ANYOF, /* ANYOFHr */ ANYOF, /* ANYOFHs */ ANYOFR, /* ANYOFR */ ANYOFR, /* ANYOFRb */ ANYOFM, /* ANYOFM */ ANYOFM, /* NANYOFM */ POSIXD, /* POSIXD */ POSIXD, /* POSIXL */ POSIXD, /* POSIXU */ POSIXD, /* POSIXA */ NPOSIXD, /* NPOSIXD */ NPOSIXD, /* NPOSIXL */ NPOSIXD, /* NPOSIXU */ NPOSIXD, /* NPOSIXA */ CLUMP, /* CLUMP */ BRANCH, /* BRANCH */ EXACT, /* EXACT */ EXACT, /* LEXACT */ EXACT, /* EXACTL */ EXACT, /* EXACTF */ EXACT, /* EXACTFL */ EXACT, /* EXACTFU */ EXACT, /* EXACTFAA */ EXACT, /* EXACTFUP */ EXACT, /* EXACTFLU8 */ EXACT, /* EXACTFAA_NO_TRIE */ EXACT, /* EXACT_REQ8 */ EXACT, /* LEXACT_REQ8 */ EXACT, /* EXACTFU_REQ8 */ EXACT, /* EXACTFU_S_EDGE */ NOTHING, /* NOTHING */ NOTHING, /* TAIL */ STAR, /* STAR */ PLUS, /* PLUS */ CURLY, /* CURLY */ CURLY, /* CURLYN */ CURLY, /* CURLYM */ CURLY, /* CURLYX */ WHILEM, /* WHILEM */ OPEN, /* OPEN */ CLOSE, /* CLOSE */ SROPEN, /* SROPEN */ SRCLOSE, /* SRCLOSE */ REF, /* REF */ REF, /* REFF */ REF, /* REFFL */ REF, /* REFFU */ REF, /* REFFA */ REF, /* REFN */ REF, /* REFFN */ REF, /* REFFLN */ REF, /* REFFUN */ REF, /* REFFAN */ LONGJMP, /* LONGJMP */ BRANCHJ, /* BRANCHJ */ BRANCHJ, /* IFMATCH */ BRANCHJ, /* UNLESSM */ BRANCHJ, /* SUSPEND */ BRANCHJ, /* IFTHEN */ GROUPP, /* GROUPP */ EVAL, /* EVAL */ MINMOD, /* MINMOD */ LOGICAL, /* LOGICAL */ BRANCHJ, /* RENUM */ TRIE, /* TRIE */ TRIE, /* TRIEC */ TRIE, /* AHOCORASICK */ TRIE, /* AHOCORASICKC */ GOSUB, /* GOSUB */ GROUPPN, /* GROUPPN */ INSUBP, /* INSUBP */ DEFINEP, /* DEFINEP */ ENDLIKE, /* ENDLIKE */ ENDLIKE, /* OPFAIL */ ENDLIKE, /* ACCEPT */ VERB, /* VERB */ VERB, /* PRUNE */ VERB, /* MARKPOINT */ VERB, /* SKIP */ VERB, /* COMMIT */ VERB, /* CUTGROUP */ KEEPS, /* KEEPS */ LNBREAK, /* LNBREAK */ NOTHING, /* OPTIMIZED */ PSEUDO, /* PSEUDO */ REGEX_SET, /* REGEX_SET */ /* ------------ States ------------- */ TRIE, /* TRIE_next */ TRIE, /* TRIE_next_fail */ EVAL, /* EVAL_B */ EVAL, /* EVAL_B_fail */ EVAL, /* EVAL_postponed_AB */ EVAL, /* EVAL_postponed_AB_fail */ CURLYX, /* CURLYX_end */ CURLYX, /* CURLYX_end_fail */ WHILEM, /* WHILEM_A_pre */ WHILEM, /* WHILEM_A_pre_fail */ WHILEM, /* WHILEM_A_min */ WHILEM, /* WHILEM_A_min_fail */ WHILEM, /* WHILEM_A_max */ WHILEM, /* WHILEM_A_max_fail */ WHILEM, /* WHILEM_B_min */ WHILEM, /* WHILEM_B_min_fail */ WHILEM, /* WHILEM_B_max */ WHILEM, /* WHILEM_B_max_fail */ BRANCH, /* BRANCH_next */ BRANCH, /* BRANCH_next_fail */ CURLYM, /* CURLYM_A */ CURLYM, /* CURLYM_A_fail */ CURLYM, /* CURLYM_B */ CURLYM, /* CURLYM_B_fail */ IFMATCH, /* IFMATCH_A */ IFMATCH, /* IFMATCH_A_fail */ CURLY, /* CURLY_B_min */ CURLY, /* CURLY_B_min_fail */ CURLY, /* CURLY_B_max */ CURLY, /* CURLY_B_max_fail */ COMMIT, /* COMMIT_next */ COMMIT, /* COMMIT_next_fail */ MARKPOINT, /* MARKPOINT_next */ MARKPOINT, /* MARKPOINT_next_fail */ SKIP, /* SKIP_next */ SKIP, /* SKIP_next_fail */ CUTGROUP, /* CUTGROUP_next */ CUTGROUP, /* CUTGROUP_next_fail */ KEEPS, /* KEEPS_next */ KEEPS, /* KEEPS_next_fail */ }; #endif #ifdef REG_COMP_C /* regarglen[] - How large is the argument part of the node (in regnodes) */ static const U8 regarglen[] = { 0, /* END */ 0, /* SUCCEED */ 0, /* SBOL */ 0, /* MBOL */ 0, /* SEOL */ 0, /* MEOL */ 0, /* EOS */ 0, /* GPOS */ 0, /* BOUND */ 0, /* BOUNDL */ 0, /* BOUNDU */ 0, /* BOUNDA */ 0, /* NBOUND */ 0, /* NBOUNDL */ 0, /* NBOUNDU */ 0, /* NBOUNDA */ 0, /* REG_ANY */ 0, /* SANY */ EXTRA_SIZE(struct regnode_charclass), /* ANYOF */ EXTRA_SIZE(struct regnode_charclass), /* ANYOFD */ EXTRA_SIZE(struct regnode_charclass), /* ANYOFL */ EXTRA_SIZE(struct regnode_charclass_posixl), /* ANYOFPOSIXL */ EXTRA_SIZE(struct regnode_1), /* ANYOFH */ EXTRA_SIZE(struct regnode_1), /* ANYOFHb */ EXTRA_SIZE(struct regnode_1), /* ANYOFHr */ EXTRA_SIZE(struct regnode_1), /* ANYOFHs */ EXTRA_SIZE(struct regnode_1), /* ANYOFR */ EXTRA_SIZE(struct regnode_1), /* ANYOFRb */ EXTRA_SIZE(struct regnode_1), /* ANYOFM */ EXTRA_SIZE(struct regnode_1), /* NANYOFM */ 0, /* POSIXD */ 0, /* POSIXL */ 0, /* POSIXU */ 0, /* POSIXA */ 0, /* NPOSIXD */ 0, /* NPOSIXL */ 0, /* NPOSIXU */ 0, /* NPOSIXA */ 0, /* CLUMP */ 0, /* BRANCH */ 0, /* EXACT */ EXTRA_SIZE(struct regnode_1), /* LEXACT */ 0, /* EXACTL */ 0, /* EXACTF */ 0, /* EXACTFL */ 0, /* EXACTFU */ 0, /* EXACTFAA */ 0, /* EXACTFUP */ 0, /* EXACTFLU8 */ 0, /* EXACTFAA_NO_TRIE */ 0, /* EXACT_REQ8 */ EXTRA_SIZE(struct regnode_1), /* LEXACT_REQ8 */ 0, /* EXACTFU_REQ8 */ 0, /* EXACTFU_S_EDGE */ 0, /* NOTHING */ 0, /* TAIL */ 0, /* STAR */ 0, /* PLUS */ EXTRA_SIZE(struct regnode_2), /* CURLY */ EXTRA_SIZE(struct regnode_2), /* CURLYN */ EXTRA_SIZE(struct regnode_2), /* CURLYM */ EXTRA_SIZE(struct regnode_2), /* CURLYX */ 0, /* WHILEM */ EXTRA_SIZE(struct regnode_1), /* OPEN */ EXTRA_SIZE(struct regnode_1), /* CLOSE */ 0, /* SROPEN */ 0, /* SRCLOSE */ EXTRA_SIZE(struct regnode_1), /* REF */ EXTRA_SIZE(struct regnode_1), /* REFF */ EXTRA_SIZE(struct regnode_1), /* REFFL */ EXTRA_SIZE(struct regnode_1), /* REFFU */ EXTRA_SIZE(struct regnode_1), /* REFFA */ EXTRA_SIZE(struct regnode_1), /* REFN */ EXTRA_SIZE(struct regnode_1), /* REFFN */ EXTRA_SIZE(struct regnode_1), /* REFFLN */ EXTRA_SIZE(struct regnode_1), /* REFFUN */ EXTRA_SIZE(struct regnode_1), /* REFFAN */ EXTRA_SIZE(struct regnode_1), /* LONGJMP */ EXTRA_SIZE(struct regnode_1), /* BRANCHJ */ EXTRA_SIZE(struct regnode_1), /* IFMATCH */ EXTRA_SIZE(struct regnode_1), /* UNLESSM */ EXTRA_SIZE(struct regnode_1), /* SUSPEND */ EXTRA_SIZE(struct regnode_1), /* IFTHEN */ EXTRA_SIZE(struct regnode_1), /* GROUPP */ EXTRA_SIZE(struct regnode_2L), /* EVAL */ 0, /* MINMOD */ 0, /* LOGICAL */ EXTRA_SIZE(struct regnode_1), /* RENUM */ EXTRA_SIZE(struct regnode_1), /* TRIE */ EXTRA_SIZE(struct regnode_charclass), /* TRIEC */ EXTRA_SIZE(struct regnode_1), /* AHOCORASICK */ EXTRA_SIZE(struct regnode_charclass), /* AHOCORASICKC */ EXTRA_SIZE(struct regnode_2L), /* GOSUB */ EXTRA_SIZE(struct regnode_1), /* GROUPPN */ EXTRA_SIZE(struct regnode_1), /* INSUBP */ EXTRA_SIZE(struct regnode_1), /* DEFINEP */ 0, /* ENDLIKE */ EXTRA_SIZE(struct regnode_1), /* OPFAIL */ EXTRA_SIZE(struct regnode_2L), /* ACCEPT */ EXTRA_SIZE(struct regnode_1), /* VERB */ EXTRA_SIZE(struct regnode_1), /* PRUNE */ EXTRA_SIZE(struct regnode_1), /* MARKPOINT */ EXTRA_SIZE(struct regnode_1), /* SKIP */ EXTRA_SIZE(struct regnode_1), /* COMMIT */ EXTRA_SIZE(struct regnode_1), /* CUTGROUP */ 0, /* KEEPS */ 0, /* LNBREAK */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ EXTRA_SIZE(struct regnode_p), /* REGEX_SET */ }; /* reg_off_by_arg[] - Which argument holds the offset to the next node */ static const char reg_off_by_arg[] = { 0, /* END */ 0, /* SUCCEED */ 0, /* SBOL */ 0, /* MBOL */ 0, /* SEOL */ 0, /* MEOL */ 0, /* EOS */ 0, /* GPOS */ 0, /* BOUND */ 0, /* BOUNDL */ 0, /* BOUNDU */ 0, /* BOUNDA */ 0, /* NBOUND */ 0, /* NBOUNDL */ 0, /* NBOUNDU */ 0, /* NBOUNDA */ 0, /* REG_ANY */ 0, /* SANY */ 0, /* ANYOF */ 0, /* ANYOFD */ 0, /* ANYOFL */ 0, /* ANYOFPOSIXL */ 0, /* ANYOFH */ 0, /* ANYOFHb */ 0, /* ANYOFHr */ 0, /* ANYOFHs */ 0, /* ANYOFR */ 0, /* ANYOFRb */ 0, /* ANYOFM */ 0, /* NANYOFM */ 0, /* POSIXD */ 0, /* POSIXL */ 0, /* POSIXU */ 0, /* POSIXA */ 0, /* NPOSIXD */ 0, /* NPOSIXL */ 0, /* NPOSIXU */ 0, /* NPOSIXA */ 0, /* CLUMP */ 0, /* BRANCH */ 0, /* EXACT */ 0, /* LEXACT */ 0, /* EXACTL */ 0, /* EXACTF */ 0, /* EXACTFL */ 0, /* EXACTFU */ 0, /* EXACTFAA */ 0, /* EXACTFUP */ 0, /* EXACTFLU8 */ 0, /* EXACTFAA_NO_TRIE */ 0, /* EXACT_REQ8 */ 0, /* LEXACT_REQ8 */ 0, /* EXACTFU_REQ8 */ 0, /* EXACTFU_S_EDGE */ 0, /* NOTHING */ 0, /* TAIL */ 0, /* STAR */ 0, /* PLUS */ 0, /* CURLY */ 0, /* CURLYN */ 0, /* CURLYM */ 0, /* CURLYX */ 0, /* WHILEM */ 0, /* OPEN */ 0, /* CLOSE */ 0, /* SROPEN */ 0, /* SRCLOSE */ 0, /* REF */ 0, /* REFF */ 0, /* REFFL */ 0, /* REFFU */ 0, /* REFFA */ 0, /* REFN */ 0, /* REFFN */ 0, /* REFFLN */ 0, /* REFFUN */ 0, /* REFFAN */ 1, /* LONGJMP */ 1, /* BRANCHJ */ 1, /* IFMATCH */ 1, /* UNLESSM */ 1, /* SUSPEND */ 1, /* IFTHEN */ 0, /* GROUPP */ 0, /* EVAL */ 0, /* MINMOD */ 0, /* LOGICAL */ 1, /* RENUM */ 0, /* TRIE */ 0, /* TRIEC */ 0, /* AHOCORASICK */ 0, /* AHOCORASICKC */ 0, /* GOSUB */ 0, /* GROUPPN */ 0, /* INSUBP */ 0, /* DEFINEP */ 0, /* ENDLIKE */ 0, /* OPFAIL */ 0, /* ACCEPT */ 0, /* VERB */ 0, /* PRUNE */ 0, /* MARKPOINT */ 0, /* SKIP */ 0, /* COMMIT */ 0, /* CUTGROUP */ 0, /* KEEPS */ 0, /* LNBREAK */ 0, /* OPTIMIZED */ 0, /* PSEUDO */ 0, /* REGEX_SET */ }; #endif /* REG_COMP_C */ /* reg_name[] - Opcode/state names in string form, for debugging */ #ifndef DOINIT EXTCONST char * PL_reg_name[]; #else EXTCONST char * const PL_reg_name[] = { "END", /* 0000 */ "SUCCEED", /* 0x01 */ "SBOL", /* 0x02 */ "MBOL", /* 0x03 */ "SEOL", /* 0x04 */ "MEOL", /* 0x05 */ "EOS", /* 0x06 */ "GPOS", /* 0x07 */ "BOUND", /* 0x08 */ "BOUNDL", /* 0x09 */ "BOUNDU", /* 0x0a */ "BOUNDA", /* 0x0b */ "NBOUND", /* 0x0c */ "NBOUNDL", /* 0x0d */ "NBOUNDU", /* 0x0e */ "NBOUNDA", /* 0x0f */ "REG_ANY", /* 0x10 */ "SANY", /* 0x11 */ "ANYOF", /* 0x12 */ "ANYOFD", /* 0x13 */ "ANYOFL", /* 0x14 */ "ANYOFPOSIXL", /* 0x15 */ "ANYOFH", /* 0x16 */ "ANYOFHb", /* 0x17 */ "ANYOFHr", /* 0x18 */ "ANYOFHs", /* 0x19 */ "ANYOFR", /* 0x1a */ "ANYOFRb", /* 0x1b */ "ANYOFM", /* 0x1c */ "NANYOFM", /* 0x1d */ "POSIXD", /* 0x1e */ "POSIXL", /* 0x1f */ "POSIXU", /* 0x20 */ "POSIXA", /* 0x21 */ "NPOSIXD", /* 0x22 */ "NPOSIXL", /* 0x23 */ "NPOSIXU", /* 0x24 */ "NPOSIXA", /* 0x25 */ "CLUMP", /* 0x26 */ "BRANCH", /* 0x27 */ "EXACT", /* 0x28 */ "LEXACT", /* 0x29 */ "EXACTL", /* 0x2a */ "EXACTF", /* 0x2b */ "EXACTFL", /* 0x2c */ "EXACTFU", /* 0x2d */ "EXACTFAA", /* 0x2e */ "EXACTFUP", /* 0x2f */ "EXACTFLU8", /* 0x30 */ "EXACTFAA_NO_TRIE", /* 0x31 */ "EXACT_REQ8", /* 0x32 */ "LEXACT_REQ8", /* 0x33 */ "EXACTFU_REQ8", /* 0x34 */ "EXACTFU_S_EDGE", /* 0x35 */ "NOTHING", /* 0x36 */ "TAIL", /* 0x37 */ "STAR", /* 0x38 */ "PLUS", /* 0x39 */ "CURLY", /* 0x3a */ "CURLYN", /* 0x3b */ "CURLYM", /* 0x3c */ "CURLYX", /* 0x3d */ "WHILEM", /* 0x3e */ "OPEN", /* 0x3f */ "CLOSE", /* 0x40 */ "SROPEN", /* 0x41 */ "SRCLOSE", /* 0x42 */ "REF", /* 0x43 */ "REFF", /* 0x44 */ "REFFL", /* 0x45 */ "REFFU", /* 0x46 */ "REFFA", /* 0x47 */ "REFN", /* 0x48 */ "REFFN", /* 0x49 */ "REFFLN", /* 0x4a */ "REFFUN", /* 0x4b */ "REFFAN", /* 0x4c */ "LONGJMP", /* 0x4d */ "BRANCHJ", /* 0x4e */ "IFMATCH", /* 0x4f */ "UNLESSM", /* 0x50 */ "SUSPEND", /* 0x51 */ "IFTHEN", /* 0x52 */ "GROUPP", /* 0x53 */ "EVAL", /* 0x54 */ "MINMOD", /* 0x55 */ "LOGICAL", /* 0x56 */ "RENUM", /* 0x57 */ "TRIE", /* 0x58 */ "TRIEC", /* 0x59 */ "AHOCORASICK", /* 0x5a */ "AHOCORASICKC", /* 0x5b */ "GOSUB", /* 0x5c */ "GROUPPN", /* 0x5d */ "INSUBP", /* 0x5e */ "DEFINEP", /* 0x5f */ "ENDLIKE", /* 0x60 */ "OPFAIL", /* 0x61 */ "ACCEPT", /* 0x62 */ "VERB", /* 0x63 */ "PRUNE", /* 0x64 */ "MARKPOINT", /* 0x65 */ "SKIP", /* 0x66 */ "COMMIT", /* 0x67 */ "CUTGROUP", /* 0x68 */ "KEEPS", /* 0x69 */ "LNBREAK", /* 0x6a */ "OPTIMIZED", /* 0x6b */ "PSEUDO", /* 0x6c */ "REGEX_SET", /* 0x6d */ /* ------------ States ------------- */ "TRIE_next", /* REGNODE_MAX +0x01 */ "TRIE_next_fail", /* REGNODE_MAX +0x02 */ "EVAL_B", /* REGNODE_MAX +0x03 */ "EVAL_B_fail", /* REGNODE_MAX +0x04 */ "EVAL_postponed_AB", /* REGNODE_MAX +0x05 */ "EVAL_postponed_AB_fail", /* REGNODE_MAX +0x06 */ "CURLYX_end", /* REGNODE_MAX +0x07 */ "CURLYX_end_fail", /* REGNODE_MAX +0x08 */ "WHILEM_A_pre", /* REGNODE_MAX +0x09 */ "WHILEM_A_pre_fail", /* REGNODE_MAX +0x0a */ "WHILEM_A_min", /* REGNODE_MAX +0x0b */ "WHILEM_A_min_fail", /* REGNODE_MAX +0x0c */ "WHILEM_A_max", /* REGNODE_MAX +0x0d */ "WHILEM_A_max_fail", /* REGNODE_MAX +0x0e */ "WHILEM_B_min", /* REGNODE_MAX +0x0f */ "WHILEM_B_min_fail", /* REGNODE_MAX +0x10 */ "WHILEM_B_max", /* REGNODE_MAX +0x11 */ "WHILEM_B_max_fail", /* REGNODE_MAX +0x12 */ "BRANCH_next", /* REGNODE_MAX +0x13 */ "BRANCH_next_fail", /* REGNODE_MAX +0x14 */ "CURLYM_A", /* REGNODE_MAX +0x15 */ "CURLYM_A_fail", /* REGNODE_MAX +0x16 */ "CURLYM_B", /* REGNODE_MAX +0x17 */ "CURLYM_B_fail", /* REGNODE_MAX +0x18 */ "IFMATCH_A", /* REGNODE_MAX +0x19 */ "IFMATCH_A_fail", /* REGNODE_MAX +0x1a */ "CURLY_B_min", /* REGNODE_MAX +0x1b */ "CURLY_B_min_fail", /* REGNODE_MAX +0x1c */ "CURLY_B_max", /* REGNODE_MAX +0x1d */ "CURLY_B_max_fail", /* REGNODE_MAX +0x1e */ "COMMIT_next", /* REGNODE_MAX +0x1f */ "COMMIT_next_fail", /* REGNODE_MAX +0x20 */ "MARKPOINT_next", /* REGNODE_MAX +0x21 */ "MARKPOINT_next_fail", /* REGNODE_MAX +0x22 */ "SKIP_next", /* REGNODE_MAX +0x23 */ "SKIP_next_fail", /* REGNODE_MAX +0x24 */ "CUTGROUP_next", /* REGNODE_MAX +0x25 */ "CUTGROUP_next_fail", /* REGNODE_MAX +0x26 */ "KEEPS_next", /* REGNODE_MAX +0x27 */ "KEEPS_next_fail", /* REGNODE_MAX +0x28 */ }; #endif /* DOINIT */ /* PL_reg_extflags_name[] - Opcode/state names in string form, for debugging */ #ifndef DOINIT EXTCONST char * PL_reg_extflags_name[]; #else EXTCONST char * const PL_reg_extflags_name[] = { /* Bits in extflags defined: 11111111111111110000111111111111 */ "MULTILINE", /* 0x00000001 */ "SINGLELINE", /* 0x00000002 */ "FOLD", /* 0x00000004 */ "EXTENDED", /* 0x00000008 */ "EXTENDED_MORE", /* 0x00000010 */ "NOCAPTURE", /* 0x00000020 */ "KEEPCOPY", /* 0x00000040 */ "CHARSET0", /* 0x00000080 : "CHARSET" - 0x00000380 */ "CHARSET1", /* 0x00000100 : "CHARSET" - 0x00000380 */ "CHARSET2", /* 0x00000200 : "CHARSET" - 0x00000380 */ "STRICT", /* 0x00000400 */ "SPLIT", /* 0x00000800 */ "UNUSED_BIT_12", /* 0x00001000 */ "UNUSED_BIT_13", /* 0x00002000 */ "UNUSED_BIT_14", /* 0x00004000 */ "UNUSED_BIT_15", /* 0x00008000 */ "NO_INPLACE_SUBST", /* 0x00010000 */ "EVAL_SEEN", /* 0x00020000 */ "UNBOUNDED_QUANTIFIER_SEEN",/* 0x00040000 */ "CHECK_ALL", /* 0x00080000 */ "MATCH_UTF8", /* 0x00100000 */ "USE_INTUIT_NOML", /* 0x00200000 */ "USE_INTUIT_ML", /* 0x00400000 */ "INTUIT_TAIL", /* 0x00800000 */ "IS_ANCHORED", /* 0x01000000 */ "COPY_DONE", /* 0x02000000 */ "TAINTED_SEEN", /* 0x04000000 */ "TAINTED", /* 0x08000000 */ "START_ONLY", /* 0x10000000 */ "SKIPWHITE", /* 0x20000000 */ "WHITE", /* 0x40000000 */ "NULL", /* 0x80000000 */ }; #endif /* DOINIT */ #ifdef DEBUGGING # define REG_EXTFLAGS_NAME_SIZE 32 #endif /* PL_reg_intflags_name[] - Opcode/state names in string form, for debugging */ #ifndef DOINIT EXTCONST char * PL_reg_intflags_name[]; #else EXTCONST char * const PL_reg_intflags_name[] = { "SKIP", /* 0x00000001 - PREGf_SKIP */ "IMPLICIT", /* 0x00000002 - PREGf_IMPLICIT - Converted .* to ^.* */ "NAUGHTY", /* 0x00000004 - PREGf_NAUGHTY - how exponential is this pattern? */ "VERBARG_SEEN", /* 0x00000008 - PREGf_VERBARG_SEEN */ "CUTGROUP_SEEN", /* 0x00000010 - PREGf_CUTGROUP_SEEN */ "USE_RE_EVAL", /* 0x00000020 - PREGf_USE_RE_EVAL - compiled with "use re 'eval'" */ "NOSCAN", /* 0x00000040 - PREGf_NOSCAN */ "GPOS_SEEN", /* 0x00000100 - PREGf_GPOS_SEEN */ "GPOS_FLOAT", /* 0x00000200 - PREGf_GPOS_FLOAT */ "ANCH_MBOL", /* 0x00000400 - PREGf_ANCH_MBOL */ "ANCH_SBOL", /* 0x00000800 - PREGf_ANCH_SBOL */ "ANCH_GPOS", /* 0x00001000 - PREGf_ANCH_GPOS */ "RECURSE_SEEN", /* 0x00002000 - PREGf_RECURSE_SEEN */ }; #endif /* DOINIT */ #ifdef DEBUGGING # define REG_INTFLAGS_NAME_SIZE 13 #endif /* The following have no fixed length. U8 so we can do strchr() on it. */ #define REGNODE_VARIES(node) (PL_varies_bitmask[(node) >> 3] & (1 << ((node) & 7))) #ifndef DOINIT EXTCONST U8 PL_varies[] __attribute__deprecated__; #else EXTCONST U8 PL_varies[] __attribute__deprecated__ = { CLUMP, BRANCH, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX, WHILEM, REF, REFF, REFFL, REFFU, REFFA, REFN, REFFN, REFFLN, REFFUN, REFFAN, BRANCHJ, SUSPEND, IFTHEN, 0 }; #endif /* DOINIT */ #ifndef DOINIT EXTCONST U8 PL_varies_bitmask[]; #else EXTCONST U8 PL_varies_bitmask[] = { 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x7F, 0xF8, 0x5F, 0x06, 0x00, 0x00, 0x00 }; #endif /* DOINIT */ /* The following always have a length of 1. U8 we can do strchr() on it. */ /* (Note that length 1 means "one character" under UTF8, not "one octet".) */ #define REGNODE_SIMPLE(node) (PL_simple_bitmask[(node) >> 3] & (1 << ((node) & 7))) #ifndef DOINIT EXTCONST U8 PL_simple[] __attribute__deprecated__; #else EXTCONST U8 PL_simple[] __attribute__deprecated__ = { REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, ANYOFPOSIXL, ANYOFH, ANYOFHb, ANYOFHr, ANYOFHs, ANYOFR, ANYOFRb, ANYOFM, NANYOFM, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA, REGEX_SET, 0 }; #endif /* DOINIT */ #ifndef DOINIT EXTCONST U8 PL_simple_bitmask[]; #else EXTCONST U8 PL_simple_bitmask[] = { 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20 }; #endif /* DOINIT */ /* ex: set ro: */ mydtrace.h 0000644 00000003235 15140731057 0006533 0 ustar 00 /* mydtrace.h * * Copyright (C) 2008, 2010, 2011 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * Provides macros that wrap the various DTrace probes we use. We add * an extra level of wrapping to encapsulate the _ENABLED tests. */ #if defined(USE_DTRACE) && defined(PERL_CORE) # include "perldtrace.h" # define PERL_DTRACE_PROBE_ENTRY(cv) \ if (PERL_SUB_ENTRY_ENABLED()) \ Perl_dtrace_probe_call(aTHX_ cv, TRUE); # define PERL_DTRACE_PROBE_RETURN(cv) \ if (PERL_SUB_ENTRY_ENABLED()) \ Perl_dtrace_probe_call(aTHX_ cv, FALSE); # define PERL_DTRACE_PROBE_FILE_LOADING(name) \ if (PERL_SUB_ENTRY_ENABLED()) \ Perl_dtrace_probe_load(aTHX_ name, TRUE); # define PERL_DTRACE_PROBE_FILE_LOADED(name) \ if (PERL_SUB_ENTRY_ENABLED()) \ Perl_dtrace_probe_load(aTHX_ name, FALSE); # define PERL_DTRACE_PROBE_OP(op) \ if (PERL_OP_ENTRY_ENABLED()) \ Perl_dtrace_probe_op(aTHX_ op); # define PERL_DTRACE_PROBE_PHASE(phase) \ if (PERL_OP_ENTRY_ENABLED()) \ Perl_dtrace_probe_phase(aTHX_ phase); #else /* NOPs */ # define PERL_DTRACE_PROBE_ENTRY(cv) # define PERL_DTRACE_PROBE_RETURN(cv) # define PERL_DTRACE_PROBE_FILE_LOADING(cv) # define PERL_DTRACE_PROBE_FILE_LOADED(cv) # define PERL_DTRACE_PROBE_OP(op) # define PERL_DTRACE_PROBE_PHASE(phase) #endif /* * ex: set ts=8 sts=4 sw=4 et: */ cop.h 0000644 00000122015 15140731057 0005502 0 ustar 00 /* cop.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, * 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * Control ops (cops) are one of the two ops OP_NEXTSTATE and OP_DBSTATE, * that (loosely speaking) are statement separators. * They hold information important for lexical state and error reporting. * At run time, PL_curcop is set to point to the most recently executed cop, * and thus can be used to determine our current state. */ /* A jmpenv packages the state required to perform a proper non-local jump. * Note that there is a PL_start_env initialized when perl starts, and * PL_top_env points to this initially, so PL_top_env should always be * non-null. * * Existence of a non-null PL_top_env->je_prev implies it is valid to call * longjmp() at that runlevel (we make sure PL_start_env.je_prev is always * null to ensure this). * * je_mustcatch, when set at any runlevel to TRUE, means eval ops must * establish a local jmpenv to handle exception traps. Care must be taken * to restore the previous value of je_mustcatch before exiting the * stack frame iff JMPENV_PUSH was not called in that stack frame. * GSAR 97-03-27 */ struct jmpenv { struct jmpenv * je_prev; Sigjmp_buf je_buf; /* uninit if je_prev is NULL */ int je_ret; /* last exception thrown */ bool je_mustcatch; /* need to call longjmp()? */ U16 je_old_delaymagic; /* saved PL_delaymagic */ SSize_t je_old_stack_hwm; }; typedef struct jmpenv JMPENV; #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY # define JE_OLD_STACK_HWM_zero PL_start_env.je_old_stack_hwm = 0 # define JE_OLD_STACK_HWM_save(je) \ (je).je_old_stack_hwm = PL_curstackinfo->si_stack_hwm # define JE_OLD_STACK_HWM_restore(je) \ if (PL_curstackinfo->si_stack_hwm < (je).je_old_stack_hwm) \ PL_curstackinfo->si_stack_hwm = (je).je_old_stack_hwm #else # define JE_OLD_STACK_HWM_zero NOOP # define JE_OLD_STACK_HWM_save(je) NOOP # define JE_OLD_STACK_HWM_restore(je) NOOP #endif /* * How to build the first jmpenv. * * top_env needs to be non-zero. It points to an area * in which longjmp() stuff is stored, as C callstack * info there at least is thread specific this has to * be per-thread. Otherwise a 'die' in a thread gives * that thread the C stack of last thread to do an eval {}! */ #define JMPENV_BOOTSTRAP \ STMT_START { \ PERL_POISON_EXPR(PoisonNew(&PL_start_env, 1, JMPENV));\ PL_top_env = &PL_start_env; \ PL_start_env.je_prev = NULL; \ PL_start_env.je_ret = -1; \ PL_start_env.je_mustcatch = TRUE; \ PL_start_env.je_old_delaymagic = 0; \ JE_OLD_STACK_HWM_zero; \ } STMT_END /* * PERL_FLEXIBLE_EXCEPTIONS * * All the flexible exceptions code has been removed. * See the following threads for details: * * Message-Id: 20040713143217.GB1424@plum.flirble.org * https://www.nntp.perl.org/group/perl.perl5.porters/2004/07/msg93041.html * * Joshua's original patches (which weren't applied) and discussion: * * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01396.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01489.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01491.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg01608.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02144.html * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-02/msg02998.html * * Chip's reworked patch and discussion: * * http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1999-03/msg00520.html * * The flaw in these patches (which went unnoticed at the time) was * that they moved some code that could potentially die() out of the * region protected by the setjmp()s. This caused exceptions within * END blocks and such to not be handled by the correct setjmp(). * * The original patches that introduces flexible exceptions were: * * https://github.com/Perl/perl5/commit/312caa8e97f1c7ee342a9895c2f0e749625b4929 * https://github.com/Perl/perl5/commit/14dd3ad8c9bf82cf09798a22cc89a9862dfd6d1a * */ #define dJMPENV JMPENV cur_env #define JMPENV_PUSH(v) \ STMT_START { \ DEBUG_l({ \ int i = 0; JMPENV *p = PL_top_env; \ while (p) { i++; p = p->je_prev; } \ Perl_deb(aTHX_ "JUMPENV_PUSH level=%d at %s:%d\n", \ i, __FILE__, __LINE__);}) \ cur_env.je_prev = PL_top_env; \ JE_OLD_STACK_HWM_save(cur_env); \ cur_env.je_ret = PerlProc_setjmp(cur_env.je_buf, SCOPE_SAVES_SIGNAL_MASK); \ JE_OLD_STACK_HWM_restore(cur_env); \ PL_top_env = &cur_env; \ cur_env.je_mustcatch = FALSE; \ cur_env.je_old_delaymagic = PL_delaymagic; \ (v) = cur_env.je_ret; \ } STMT_END #define JMPENV_POP \ STMT_START { \ DEBUG_l({ \ int i = -1; JMPENV *p = PL_top_env; \ while (p) { i++; p = p->je_prev; } \ Perl_deb(aTHX_ "JUMPENV_POP level=%d at %s:%d\n", \ i, __FILE__, __LINE__);}) \ assert(PL_top_env == &cur_env); \ PL_delaymagic = cur_env.je_old_delaymagic; \ PL_top_env = cur_env.je_prev; \ } STMT_END #define JMPENV_JUMP(v) \ STMT_START { \ DEBUG_l({ \ int i = -1; JMPENV *p = PL_top_env; \ while (p) { i++; p = p->je_prev; } \ Perl_deb(aTHX_ "JUMPENV_JUMP(%d) level=%d at %s:%d\n", \ (int)v, i, __FILE__, __LINE__);}) \ if (PL_top_env->je_prev) \ PerlProc_longjmp(PL_top_env->je_buf, (v)); \ if ((v) == 2) \ PerlProc_exit(STATUS_EXIT); \ PerlIO_printf(PerlIO_stderr(), "panic: top_env, v=%d\n", (int)v); \ PerlProc_exit(1); \ } STMT_END #define CATCH_GET (PL_top_env->je_mustcatch) #define CATCH_SET(v) \ STMT_START { \ DEBUG_l( \ Perl_deb(aTHX_ \ "JUMPLEVEL set catch %d => %d (for %p) at %s:%d\n", \ PL_top_env->je_mustcatch, v, (void*)PL_top_env, \ __FILE__, __LINE__);) \ PL_top_env->je_mustcatch = (v); \ } STMT_END /* =head1 COP Hint Hashes */ typedef struct refcounted_he COPHH; #define COPHH_KEY_UTF8 REFCOUNTED_HE_KEY_UTF8 /* =for apidoc Amx|SV *|cophh_fetch_pvn|const COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags Look up the entry in the cop hints hash C<cophh> with the key specified by C<keypv> and C<keylen>. If C<flags> has the C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8, otherwise they are interpreted as Latin-1. C<hash> is a precomputed hash of the key string, or zero if it has not been precomputed. Returns a mortal scalar copy of the value associated with the key, or C<&PL_sv_placeholder> if there is no value associated with the key. =for apidoc Amnh||COPHH_KEY_UTF8 =cut */ #define cophh_fetch_pvn(cophh, keypv, keylen, hash, flags) \ Perl_refcounted_he_fetch_pvn(aTHX_ cophh, keypv, keylen, hash, flags) /* =for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|"key"|U32 flags Like L</cophh_fetch_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define cophh_fetch_pvs(cophh, key, flags) \ Perl_refcounted_he_fetch_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, flags) /* =for apidoc Amx|SV *|cophh_fetch_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags Like L</cophh_fetch_pvn>, but takes a nul-terminated string instead of a string/length pair. =cut */ #define cophh_fetch_pv(cophh, key, hash, flags) \ Perl_refcounted_he_fetch_pv(aTHX_ cophh, key, hash, flags) /* =for apidoc Amx|SV *|cophh_fetch_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags Like L</cophh_fetch_pvn>, but takes a Perl scalar instead of a string/length pair. =cut */ #define cophh_fetch_sv(cophh, key, hash, flags) \ Perl_refcounted_he_fetch_sv(aTHX_ cophh, key, hash, flags) /* =for apidoc Amx|HV *|cophh_2hv|const COPHH *cophh|U32 flags Generates and returns a standard Perl hash representing the full set of key/value pairs in the cop hints hash C<cophh>. C<flags> is currently unused and must be zero. =cut */ #define cophh_2hv(cophh, flags) \ Perl_refcounted_he_chain_2hv(aTHX_ cophh, flags) /* =for apidoc Amx|COPHH *|cophh_copy|COPHH *cophh Make and return a complete copy of the cop hints hash C<cophh>. =cut */ #define cophh_copy(cophh) Perl_refcounted_he_inc(aTHX_ cophh) /* =for apidoc Amx|void|cophh_free|COPHH *cophh Discard the cop hints hash C<cophh>, freeing all resources associated with it. =cut */ #define cophh_free(cophh) Perl_refcounted_he_free(aTHX_ cophh) /* =for apidoc Amx|COPHH *|cophh_new_empty Generate and return a fresh cop hints hash containing no entries. =cut */ #define cophh_new_empty() ((COPHH *)NULL) /* =for apidoc Amx|COPHH *|cophh_store_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|SV *value|U32 flags Stores a value, associated with a key, in the cop hints hash C<cophh>, and returns the modified hash. The returned hash pointer is in general not the same as the hash pointer that was passed in. The input hash is consumed by the function, and the pointer to it must not be subsequently used. Use L</cophh_copy> if you need both hashes. The key is specified by C<keypv> and C<keylen>. If C<flags> has the C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8, otherwise they are interpreted as Latin-1. C<hash> is a precomputed hash of the key string, or zero if it has not been precomputed. C<value> is the scalar value to store for this key. C<value> is copied by this function, which thus does not take ownership of any reference to it, and later changes to the scalar will not be reflected in the value visible in the cop hints hash. Complex types of scalar will not be stored with referential integrity, but will be coerced to strings. =cut */ #define cophh_store_pvn(cophh, keypv, keylen, hash, value, flags) \ Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, value, flags) /* =for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|"key"|SV *value|U32 flags Like L</cophh_store_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define cophh_store_pvs(cophh, key, value, flags) \ Perl_refcounted_he_new_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, value, flags) /* =for apidoc Amx|COPHH *|cophh_store_pv|const COPHH *cophh|const char *key|U32 hash|SV *value|U32 flags Like L</cophh_store_pvn>, but takes a nul-terminated string instead of a string/length pair. =cut */ #define cophh_store_pv(cophh, key, hash, value, flags) \ Perl_refcounted_he_new_pv(aTHX_ cophh, key, hash, value, flags) /* =for apidoc Amx|COPHH *|cophh_store_sv|const COPHH *cophh|SV *key|U32 hash|SV *value|U32 flags Like L</cophh_store_pvn>, but takes a Perl scalar instead of a string/length pair. =cut */ #define cophh_store_sv(cophh, key, hash, value, flags) \ Perl_refcounted_he_new_sv(aTHX_ cophh, key, hash, value, flags) /* =for apidoc Amx|COPHH *|cophh_delete_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags Delete a key and its associated value from the cop hints hash C<cophh>, and returns the modified hash. The returned hash pointer is in general not the same as the hash pointer that was passed in. The input hash is consumed by the function, and the pointer to it must not be subsequently used. Use L</cophh_copy> if you need both hashes. The key is specified by C<keypv> and C<keylen>. If C<flags> has the C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8, otherwise they are interpreted as Latin-1. C<hash> is a precomputed hash of the key string, or zero if it has not been precomputed. =cut */ #define cophh_delete_pvn(cophh, keypv, keylen, hash, flags) \ Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, \ (SV *)NULL, flags) /* =for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|"key"|U32 flags Like L</cophh_delete_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define cophh_delete_pvs(cophh, key, flags) \ Perl_refcounted_he_new_pvn(aTHX_ cophh, STR_WITH_LEN(key), 0, \ (SV *)NULL, flags) /* =for apidoc Amx|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags Like L</cophh_delete_pvn>, but takes a nul-terminated string instead of a string/length pair. =cut */ #define cophh_delete_pv(cophh, key, hash, flags) \ Perl_refcounted_he_new_pv(aTHX_ cophh, key, hash, (SV *)NULL, flags) /* =for apidoc Amx|COPHH *|cophh_delete_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags Like L</cophh_delete_pvn>, but takes a Perl scalar instead of a string/length pair. =cut */ #define cophh_delete_sv(cophh, key, hash, flags) \ Perl_refcounted_he_new_sv(aTHX_ cophh, key, hash, (SV *)NULL, flags) #include "mydtrace.h" struct cop { BASEOP /* On LP64 putting this here takes advantage of the fact that BASEOP isn't an exact multiple of 8 bytes to save structure padding. */ line_t cop_line; /* line # of this command */ /* label for this construct is now stored in cop_hints_hash */ #ifdef USE_ITHREADS PADOFFSET cop_stashoff; /* offset into PL_stashpad, for the package the line was compiled in */ char * cop_file; /* file name the following line # is from */ #else HV * cop_stash; /* package line was compiled in */ GV * cop_filegv; /* file the following line # is from */ #endif U32 cop_hints; /* hints bits from pragmata */ U32 cop_seq; /* parse sequence number */ /* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */ STRLEN * cop_warnings; /* lexical warnings bitmask */ /* compile time state of %^H. See the comment in op.c for how this is used to recreate a hash to return from caller. */ COPHH * cop_hints_hash; /* for now just a bitmask stored here. If we get sufficient features this may become a pointer. How these flags are stored is subject to change without notice. Use the macros to test for features. */ U32 cop_features; }; #ifdef USE_ITHREADS # define CopFILE(c) ((c)->cop_file) # define CopFILEGV(c) (CopFILE(c) \ ? gv_fetchfile(CopFILE(c)) : NULL) # ifdef NETWARE # define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv)) # define CopFILE_setn(c,pv,l) ((c)->cop_file = savepvn((pv),(l))) # else # define CopFILE_set(c,pv) ((c)->cop_file = savesharedpv(pv)) # define CopFILE_setn(c,pv,l) ((c)->cop_file = savesharedpvn((pv),(l))) # endif # define CopFILESV(c) (CopFILE(c) \ ? GvSV(gv_fetchfile(CopFILE(c))) : NULL) # define CopFILEAV(c) (CopFILE(c) \ ? GvAV(gv_fetchfile(CopFILE(c))) : NULL) # define CopFILEAVx(c) (assert_(CopFILE(c)) \ GvAV(gv_fetchfile(CopFILE(c)))) # define CopSTASH(c) PL_stashpad[(c)->cop_stashoff] # define CopSTASH_set(c,hv) ((c)->cop_stashoff = (hv) \ ? alloccopstash(hv) \ : 0) # ifdef NETWARE # define CopFILE_free(c) SAVECOPFILE_FREE(c) # else # define CopFILE_free(c) (PerlMemShared_free(CopFILE(c)),(CopFILE(c) = NULL)) # endif #else # define CopFILEGV(c) ((c)->cop_filegv) # define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv)) # define CopFILE_set(c,pv) CopFILEGV_set((c), gv_fetchfile(pv)) # define CopFILE_setn(c,pv,l) CopFILEGV_set((c), gv_fetchfile_flags((pv),(l),0)) # define CopFILESV(c) (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : NULL) # define CopFILEAV(c) (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : NULL) # ifdef DEBUGGING # define CopFILEAVx(c) (assert(CopFILEGV(c)), GvAV(CopFILEGV(c))) # else # define CopFILEAVx(c) (GvAV(CopFILEGV(c))) # endif # define CopFILE(c) (CopFILEGV(c) \ ? GvNAME(CopFILEGV(c))+2 : NULL) # define CopSTASH(c) ((c)->cop_stash) # define CopSTASH_set(c,hv) ((c)->cop_stash = (hv)) # define CopFILE_free(c) (SvREFCNT_dec(CopFILEGV(c)),(CopFILEGV(c) = NULL)) #endif /* USE_ITHREADS */ #define CopSTASHPV(c) (CopSTASH(c) ? HvNAME_get(CopSTASH(c)) : NULL) /* cop_stash is not refcounted */ #define CopSTASHPV_set(c,pv) CopSTASH_set((c), gv_stashpv(pv,GV_ADD)) #define CopSTASH_eq(c,hv) (CopSTASH(c) == (hv)) #define CopHINTHASH_get(c) ((COPHH*)((c)->cop_hints_hash)) #define CopHINTHASH_set(c,h) ((c)->cop_hints_hash = (h)) /* =head1 COP Hint Reading */ /* =for apidoc Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags Look up the hint entry in the cop C<cop> with the key specified by C<keypv> and C<keylen>. If C<flags> has the C<COPHH_KEY_UTF8> bit set, the key octets are interpreted as UTF-8, otherwise they are interpreted as Latin-1. C<hash> is a precomputed hash of the key string, or zero if it has not been precomputed. Returns a mortal scalar copy of the value associated with the key, or C<&PL_sv_placeholder> if there is no value associated with the key. =cut */ #define cop_hints_fetch_pvn(cop, keypv, keylen, hash, flags) \ cophh_fetch_pvn(CopHINTHASH_get(cop), keypv, keylen, hash, flags) /* =for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|"key"|U32 flags Like L</cop_hints_fetch_pvn>, but takes a literal string instead of a string/length pair, and no precomputed hash. =cut */ #define cop_hints_fetch_pvs(cop, key, flags) \ cophh_fetch_pvs(CopHINTHASH_get(cop), key, flags) /* =for apidoc Am|SV *|cop_hints_fetch_pv|const COP *cop|const char *key|U32 hash|U32 flags Like L</cop_hints_fetch_pvn>, but takes a nul-terminated string instead of a string/length pair. =cut */ #define cop_hints_fetch_pv(cop, key, hash, flags) \ cophh_fetch_pv(CopHINTHASH_get(cop), key, hash, flags) /* =for apidoc Am|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags Like L</cop_hints_fetch_pvn>, but takes a Perl scalar instead of a string/length pair. =cut */ #define cop_hints_fetch_sv(cop, key, hash, flags) \ cophh_fetch_sv(CopHINTHASH_get(cop), key, hash, flags) /* =for apidoc Am|HV *|cop_hints_2hv|const COP *cop|U32 flags Generates and returns a standard Perl hash representing the full set of hint entries in the cop C<cop>. C<flags> is currently unused and must be zero. =cut */ #define cop_hints_2hv(cop, flags) \ cophh_2hv(CopHINTHASH_get(cop), flags) /* =for apidoc Am|const char *|CopLABEL|COP *const cop Returns the label attached to a cop. =for apidoc Am|const char *|CopLABEL_len|COP *const cop|STRLEN *len Returns the label attached to a cop, and stores its length in bytes into C<*len>. =for apidoc Am|const char *|CopLABEL_len_flags|COP *const cop|STRLEN *len|U32 *flags Returns the label attached to a cop, and stores its length in bytes into C<*len>. Upon return, C<*flags> will be set to either C<SVf_UTF8> or 0. =cut */ #define CopLABEL(c) Perl_cop_fetch_label(aTHX_ (c), NULL, NULL) #define CopLABEL_len(c,len) Perl_cop_fetch_label(aTHX_ (c), len, NULL) #define CopLABEL_len_flags(c,len,flags) Perl_cop_fetch_label(aTHX_ (c), len, flags) #define CopLABEL_alloc(pv) ((pv)?savepv(pv):NULL) #define CopSTASH_ne(c,hv) (!CopSTASH_eq(c,hv)) #define CopLINE(c) ((c)->cop_line) #define CopLINE_inc(c) (++CopLINE(c)) #define CopLINE_dec(c) (--CopLINE(c)) #define CopLINE_set(c,l) (CopLINE(c) = (l)) /* OutCopFILE() is CopFILE for output (caller, die, warn, etc.) */ #define OutCopFILE(c) CopFILE(c) #define CopHINTS_get(c) ((c)->cop_hints + 0) #define CopHINTS_set(c, h) STMT_START { \ (c)->cop_hints = (h); \ } STMT_END /* * Here we have some enormously heavy (or at least ponderous) wizardry. */ /* subroutine context */ struct block_sub { OP * retop; /* op to execute on exit from sub */ I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ PAD *prevcomppad; /* the caller's PL_comppad */ CV * cv; /* Above here is the same for sub and format. */ I32 olddepth; AV *savearray; }; /* format context */ struct block_format { OP * retop; /* op to execute on exit from sub */ I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ PAD *prevcomppad; /* the caller's PL_comppad */ CV * cv; /* Above here is the same for sub and format. */ GV * gv; GV * dfoutgv; }; /* return a pointer to the current context */ #define CX_CUR() (&cxstack[cxstack_ix]) /* free all savestack items back to the watermark of the specified context */ #define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix) #ifdef DEBUGGING /* on debugging builds, poison cx afterwards so we know no code * uses it - because after doing cxstack_ix--, any ties, exceptions etc * may overwrite the current stack frame */ # define CX_POP(cx) \ assert(CX_CUR() == cx); \ cxstack_ix--; \ cx = NULL; #else # define CX_POP(cx) cxstack_ix--; #endif /* base for the next two macros. Don't use directly. * The context frame holds a reference to the CV so that it can't be * freed while we're executing it */ #define CX_PUSHSUB_GET_LVALUE_MASK(func) \ /* If the context is indeterminate, then only the lvalue */ \ /* flags that the caller also has are applicable. */ \ ( \ (PL_op->op_flags & OPf_WANT) \ ? OPpENTERSUB_LVAL_MASK \ : !(PL_op->op_private & OPpENTERSUB_LVAL_MASK) \ ? 0 : (U8)func(aTHX) \ ) /* Restore old @_ */ #define CX_POP_SAVEARRAY(cx) \ STMT_START { \ AV *cx_pop_savearray_av = GvAV(PL_defgv); \ GvAV(PL_defgv) = cx->blk_sub.savearray; \ cx->blk_sub.savearray = NULL; \ SvREFCNT_dec(cx_pop_savearray_av); \ } STMT_END /* junk in @_ spells trouble when cloning CVs and in pp_caller(), so don't * leave any (a fast av_clear(ary), basically) */ #define CLEAR_ARGARRAY(ary) \ STMT_START { \ AvMAX(ary) += AvARRAY(ary) - AvALLOC(ary); \ AvARRAY(ary) = AvALLOC(ary); \ AvFILLp(ary) = -1; \ } STMT_END /* eval context */ struct block_eval { OP * retop; /* op to execute on exit from eval */ I32 old_cxsubix; /* previous value of si_cxsubix */ /* Above here is the same for sub, format and eval. */ SV * old_namesv; OP * old_eval_root; SV * cur_text; CV * cv; JMPENV * cur_top_env; /* value of PL_top_env when eval CX created */ }; /* If we ever need more than 512 op types, change the shift from 7. blku_gimme is actually also only 2 bits, so could be merged with something. */ /* blk_u16 bit usage for eval contexts: */ #define CxOLD_IN_EVAL(cx) (((cx)->blk_u16) & 0x3F) /* saved PL in_eval */ #define CxEVAL_TXT_REFCNTED(cx) (((cx)->blk_u16) & 0x40) /* cur_text rc++ */ #define CxOLD_OP_TYPE(cx) (((cx)->blk_u16) >> 7) /* type of eval op */ /* loop context */ struct block_loop { LOOP * my_op; /* My op, that contains redo, next and last ops. */ union { /* different ways of locating the iteration variable */ SV **svp; /* for lexicals: address of pad slot */ GV *gv; /* for package vars */ } itervar_u; SV *itersave; /* the original iteration var */ union { struct { /* CXt_LOOP_ARY, C<for (@ary)> */ AV *ary; /* array being iterated over */ IV ix; /* index relative to base of array */ } ary; struct { /* CXt_LOOP_LIST, C<for (list)> */ I32 basesp; /* first element of list on stack */ IV ix; /* index relative to basesp */ } stack; struct { /* CXt_LOOP_LAZYIV, C<for (1..9)> */ IV cur; IV end; } lazyiv; struct { /* CXt_LOOP_LAZYSV C<for ('a'..'z')> */ SV * cur; SV * end; /* maxiumum value (or minimum in reverse) */ } lazysv; } state_u; #ifdef USE_ITHREADS PAD *oldcomppad; /* needed to map itervar_u.svp during thread clone */ #endif }; #define CxITERVAR(c) \ (CxPADLOOP(c) \ ? (c)->blk_loop.itervar_u.svp \ : ((c)->cx_type & CXp_FOR_GV) \ ? &GvSV((c)->blk_loop.itervar_u.gv) \ : (SV **)&(c)->blk_loop.itervar_u.gv) #define CxLABEL(c) (0 + CopLABEL((c)->blk_oldcop)) #define CxLABEL_len(c,len) (0 + CopLABEL_len((c)->blk_oldcop, len)) #define CxLABEL_len_flags(c,len,flags) (0 + CopLABEL_len_flags((c)->blk_oldcop, len, flags)) #define CxHASARGS(c) (((c)->cx_type & CXp_HASARGS) == CXp_HASARGS) /* CxLVAL(): the lval flags of the call site: the relevant flag bits from * the op_private field of the calling pp_entersub (or its caller's caller * if the caller's lvalue context isn't known): * OPpLVAL_INTRO: sub used in lvalue context, e.g. f() = 1; * OPpENTERSUB_INARGS (in conjunction with OPpLVAL_INTRO): the * function is being used as a sub arg or as a referent, e.g. * g(...,f(),...) or $r = \f() * OPpDEREF: 2-bit mask indicating e.g. f()->[0]. * Note the contrast with CvLVALUE(), which is a property of the sub * rather than the call site. */ #define CxLVAL(c) (0 + ((c)->blk_u16 & 0xff)) /* given/when context */ struct block_givwhen { OP *leave_op; SV *defsv_save; /* the original $_ */ }; /* context common to subroutines, evals and loops */ struct block { U8 blku_type; /* what kind of context this is */ U8 blku_gimme; /* is this block running in list context? */ U16 blku_u16; /* used by block_sub and block_eval (so far) */ I32 blku_oldsaveix; /* saved PL_savestack_ix */ /* all the fields above must be aligned with same-sized fields as sbu */ I32 blku_oldsp; /* current sp floor: where nextstate pops to */ I32 blku_oldmarksp; /* mark stack index */ COP * blku_oldcop; /* old curcop pointer */ PMOP * blku_oldpm; /* values of pattern match vars */ SSize_t blku_old_tmpsfloor; /* saved PL_tmps_floor */ I32 blku_oldscopesp; /* scope stack index */ union { struct block_sub blku_sub; struct block_format blku_format; struct block_eval blku_eval; struct block_loop blku_loop; struct block_givwhen blku_givwhen; } blk_u; }; #define blk_oldsp cx_u.cx_blk.blku_oldsp #define blk_oldcop cx_u.cx_blk.blku_oldcop #define blk_oldmarksp cx_u.cx_blk.blku_oldmarksp #define blk_oldscopesp cx_u.cx_blk.blku_oldscopesp #define blk_oldpm cx_u.cx_blk.blku_oldpm #define blk_gimme cx_u.cx_blk.blku_gimme #define blk_u16 cx_u.cx_blk.blku_u16 #define blk_oldsaveix cx_u.cx_blk.blku_oldsaveix #define blk_old_tmpsfloor cx_u.cx_blk.blku_old_tmpsfloor #define blk_sub cx_u.cx_blk.blk_u.blku_sub #define blk_format cx_u.cx_blk.blk_u.blku_format #define blk_eval cx_u.cx_blk.blk_u.blku_eval #define blk_loop cx_u.cx_blk.blk_u.blku_loop #define blk_givwhen cx_u.cx_blk.blk_u.blku_givwhen #define CX_DEBUG(cx, action) \ DEBUG_l( \ Perl_deb(aTHX_ "CX %ld %s %s (scope %ld,%ld) (save %ld,%ld) at %s:%d\n",\ (long)cxstack_ix, \ action, \ PL_block_type[CxTYPE(cx)], \ (long)PL_scopestack_ix, \ (long)(cx->blk_oldscopesp), \ (long)PL_savestack_ix, \ (long)(cx->blk_oldsaveix), \ __FILE__, __LINE__)); /* substitution context */ struct subst { U8 sbu_type; /* same as blku_type */ U8 sbu_rflags; U16 sbu_rxtainted; I32 sbu_oldsaveix; /* same as blku_oldsaveix */ /* all the fields above must be aligned with same-sized fields as blk_u */ SSize_t sbu_iters; SSize_t sbu_maxiters; char * sbu_orig; SV * sbu_dstr; SV * sbu_targ; char * sbu_s; char * sbu_m; char * sbu_strend; void * sbu_rxres; REGEXP * sbu_rx; }; #define sb_iters cx_u.cx_subst.sbu_iters #define sb_maxiters cx_u.cx_subst.sbu_maxiters #define sb_rflags cx_u.cx_subst.sbu_rflags #define sb_rxtainted cx_u.cx_subst.sbu_rxtainted #define sb_orig cx_u.cx_subst.sbu_orig #define sb_dstr cx_u.cx_subst.sbu_dstr #define sb_targ cx_u.cx_subst.sbu_targ #define sb_s cx_u.cx_subst.sbu_s #define sb_m cx_u.cx_subst.sbu_m #define sb_strend cx_u.cx_subst.sbu_strend #define sb_rxres cx_u.cx_subst.sbu_rxres #define sb_rx cx_u.cx_subst.sbu_rx #ifdef PERL_CORE # define CX_PUSHSUBST(cx) CXINC, cx = CX_CUR(), \ cx->blk_oldsaveix = oldsave, \ cx->sb_iters = iters, \ cx->sb_maxiters = maxiters, \ cx->sb_rflags = r_flags, \ cx->sb_rxtainted = rxtainted, \ cx->sb_orig = orig, \ cx->sb_dstr = dstr, \ cx->sb_targ = targ, \ cx->sb_s = s, \ cx->sb_m = m, \ cx->sb_strend = strend, \ cx->sb_rxres = NULL, \ cx->sb_rx = rx, \ cx->cx_type = CXt_SUBST | (once ? CXp_ONCE : 0); \ rxres_save(&cx->sb_rxres, rx); \ (void)ReREFCNT_inc(rx); \ SvREFCNT_inc_void_NN(targ) # define CX_POPSUBST(cx) \ STMT_START { \ REGEXP *re; \ assert(CxTYPE(cx) == CXt_SUBST); \ rxres_free(&cx->sb_rxres); \ re = cx->sb_rx; \ cx->sb_rx = NULL; \ ReREFCNT_dec(re); \ SvREFCNT_dec_NN(cx->sb_targ); \ } STMT_END #endif #define CxONCE(cx) ((cx)->cx_type & CXp_ONCE) struct context { union { struct block cx_blk; struct subst cx_subst; } cx_u; }; #define cx_type cx_u.cx_subst.sbu_type /* If you re-order these, there is also an array of uppercase names in perl.h and a static array of context names in pp_ctl.c */ #define CXTYPEMASK 0xf #define CXt_NULL 0 /* currently only used for sort BLOCK */ #define CXt_WHEN 1 #define CXt_BLOCK 2 /* When micro-optimising :-) keep GIVEN next to the LOOPs, as these 5 share a jump table in pp_ctl.c The first 4 don't have a 'case' in at least one switch statement in pp_ctl.c */ #define CXt_GIVEN 3 /* be careful of the ordering of these five. Macros like CxTYPE_is_LOOP, * CxFOREACH compare ranges */ #define CXt_LOOP_ARY 4 /* for (@ary) { ...; } */ #define CXt_LOOP_LAZYSV 5 /* for ('a'..'z') { ...; } */ #define CXt_LOOP_LAZYIV 6 /* for (1..9) { ...; } */ #define CXt_LOOP_LIST 7 /* for (1,2,3) { ...; } */ #define CXt_LOOP_PLAIN 8 /* while (...) { ...; } or plain block { ...; } */ #define CXt_SUB 9 #define CXt_FORMAT 10 #define CXt_EVAL 11 #define CXt_SUBST 12 /* SUBST doesn't feature in all switch statements. */ /* private flags for CXt_SUB and CXt_FORMAT */ #define CXp_MULTICALL 0x10 /* part of a multicall (so don't tear down context on exit). (not CXt_FORMAT) */ #define CXp_HASARGS 0x20 #define CXp_SUB_RE 0x40 /* code called within regex, i.e. (?{}) */ #define CXp_SUB_RE_FAKE 0x80 /* fake sub CX for (?{}) in current scope */ /* private flags for CXt_EVAL */ #define CXp_REAL 0x20 /* truly eval'', not a lookalike */ #define CXp_TRYBLOCK 0x40 /* eval{}, not eval'' or similar */ /* private flags for CXt_LOOP */ /* this is only set in conjunction with CXp_FOR_GV */ #define CXp_FOR_DEF 0x10 /* foreach using $_ */ /* these 3 are mutually exclusive */ #define CXp_FOR_LVREF 0x20 /* foreach using \$var */ #define CXp_FOR_GV 0x40 /* foreach using package var */ #define CXp_FOR_PAD 0x80 /* foreach using lexical var */ #define CxPADLOOP(c) ((c)->cx_type & CXp_FOR_PAD) /* private flags for CXt_SUBST */ #define CXp_ONCE 0x10 /* What was sbu_once in struct subst */ #define CxTYPE(c) ((c)->cx_type & CXTYPEMASK) #define CxTYPE_is_LOOP(c) ( CxTYPE(cx) >= CXt_LOOP_ARY \ && CxTYPE(cx) <= CXt_LOOP_PLAIN) #define CxMULTICALL(c) ((c)->cx_type & CXp_MULTICALL) #define CxREALEVAL(c) (((c)->cx_type & (CXTYPEMASK|CXp_REAL)) \ == (CXt_EVAL|CXp_REAL)) #define CxTRYBLOCK(c) (((c)->cx_type & (CXTYPEMASK|CXp_TRYBLOCK)) \ == (CXt_EVAL|CXp_TRYBLOCK)) #define CxFOREACH(c) ( CxTYPE(cx) >= CXt_LOOP_ARY \ && CxTYPE(cx) <= CXt_LOOP_LIST) #define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix = cxinc())) /* =head1 "Gimme" Values */ /* =for apidoc AmnU||G_SCALAR Used to indicate scalar context. See C<L</GIMME_V>>, C<L</GIMME>>, and L<perlcall>. =for apidoc AmnU||G_ARRAY Used to indicate list context. See C<L</GIMME_V>>, C<L</GIMME>> and L<perlcall>. =for apidoc AmnU||G_VOID Used to indicate void context. See C<L</GIMME_V>> and L<perlcall>. =for apidoc AmnU||G_DISCARD Indicates that arguments returned from a callback should be discarded. See L<perlcall>. =for apidoc AmnU||G_EVAL Used to force a Perl C<eval> wrapper around a callback. See L<perlcall>. =for apidoc AmnU||G_NOARGS Indicates that no arguments are being sent to a callback. See L<perlcall>. =cut */ #define G_SCALAR 2 #define G_ARRAY 3 #define G_VOID 1 #define G_WANT 3 /* extra flags for Perl_call_* routines */ #define G_DISCARD 0x4 /* Call FREETMPS. Don't change this without consulting the hash actions codes defined in hv.h */ #define G_EVAL 0x8 /* Assume eval {} around subroutine call. */ #define G_NOARGS 0x10 /* Don't construct a @_ array. */ #define G_KEEPERR 0x20 /* Warn for errors, don't overwrite $@ */ #define G_NODEBUG 0x40 /* Disable debugging at toplevel. */ #define G_METHOD 0x80 /* Calling method. */ #define G_FAKINGEVAL 0x100 /* Faking an eval context for call_sv or fold_constants. */ #define G_UNDEF_FILL 0x200 /* Fill the stack with &PL_sv_undef A special case for UNSHIFT in Perl_magic_methcall(). */ #define G_WRITING_TO_STDERR 0x400 /* Perl_write_to_stderr() is calling Perl_magic_methcall(). */ #define G_RE_REPARSING 0x800 /* compiling a run-time /(?{..})/ */ #define G_METHOD_NAMED 0x1000 /* calling named method, eg without :: or ' */ #define G_RETHROW 0x2000 /* eval_sv(): re-throw any error */ /* flag bits for PL_in_eval */ #define EVAL_NULL 0 /* not in an eval */ #define EVAL_INEVAL 1 /* some enclosing scope is an eval */ #define EVAL_WARNONLY 2 /* used by yywarn() when calling yyerror() */ #define EVAL_KEEPERR 4 /* set by Perl_call_sv if G_KEEPERR */ #define EVAL_INREQUIRE 8 /* The code is being required. */ #define EVAL_RE_REPARSING 0x10 /* eval_sv() called with G_RE_REPARSING */ /* if adding extra bits, make sure they can fit in CxOLD_OP_TYPE() */ /* Support for switching (stack and block) contexts. * This ensures magic doesn't invalidate local stack and cx pointers. * Which one to use (or add) is mostly, but not completely arbitrary: See * http://nntp.perl.org/group/perl.perl5.porters/257169 */ #define PERLSI_UNKNOWN -1 #define PERLSI_UNDEF 0 #define PERLSI_MAIN 1 #define PERLSI_MAGIC 2 #define PERLSI_SORT 3 #define PERLSI_SIGNAL 4 #define PERLSI_OVERLOAD 5 #define PERLSI_DESTROY 6 #define PERLSI_WARNHOOK 7 #define PERLSI_DIEHOOK 8 #define PERLSI_REQUIRE 9 #define PERLSI_MULTICALL 10 #define PERLSI_REGCOMP 11 struct stackinfo { AV * si_stack; /* stack for current runlevel */ PERL_CONTEXT * si_cxstack; /* context stack for runlevel */ struct stackinfo * si_prev; struct stackinfo * si_next; I32 si_cxix; /* current context index */ I32 si_cxmax; /* maximum allocated index */ I32 si_cxsubix; /* topmost sub/eval/format */ I32 si_type; /* type of runlevel */ I32 si_markoff; /* offset where markstack begins for us. * currently used only with DEBUGGING, * but not #ifdef-ed for bincompat */ #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY /* high water mark: for checking if the stack was correctly extended / * tested for extension by each pp function */ SSize_t si_stack_hwm; #endif }; typedef struct stackinfo PERL_SI; #define cxstack (PL_curstackinfo->si_cxstack) #define cxstack_ix (PL_curstackinfo->si_cxix) #define cxstack_max (PL_curstackinfo->si_cxmax) #ifdef DEBUGGING # define SET_MARK_OFFSET \ PL_curstackinfo->si_markoff = PL_markstack_ptr - PL_markstack #else # define SET_MARK_OFFSET NOOP #endif #if defined DEBUGGING && !defined DEBUGGING_RE_ONLY # define PUSHSTACK_INIT_HWM(si) ((si)->si_stack_hwm = 0) #else # define PUSHSTACK_INIT_HWM(si) NOOP #endif #define PUSHSTACKi(type) \ STMT_START { \ PERL_SI *next = PL_curstackinfo->si_next; \ DEBUG_l({ \ int i = 0; PERL_SI *p = PL_curstackinfo; \ while (p) { i++; p = p->si_prev; } \ Perl_deb(aTHX_ "push STACKINFO %d at %s:%d\n", \ i, __FILE__, __LINE__);}) \ if (!next) { \ next = new_stackinfo(32, 2048/sizeof(PERL_CONTEXT) - 1); \ next->si_prev = PL_curstackinfo; \ PL_curstackinfo->si_next = next; \ } \ next->si_type = type; \ next->si_cxix = -1; \ next->si_cxsubix = -1; \ PUSHSTACK_INIT_HWM(next); \ AvFILLp(next->si_stack) = 0; \ SWITCHSTACK(PL_curstack,next->si_stack); \ PL_curstackinfo = next; \ SET_MARK_OFFSET; \ } STMT_END #define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN) /* POPSTACK works with PL_stack_sp, so it may need to be bracketed by * PUTBACK/SPAGAIN to flush/refresh any local SP that may be active */ #define POPSTACK \ STMT_START { \ dSP; \ PERL_SI * const prev = PL_curstackinfo->si_prev; \ DEBUG_l({ \ int i = -1; PERL_SI *p = PL_curstackinfo; \ while (p) { i++; p = p->si_prev; } \ Perl_deb(aTHX_ "pop STACKINFO %d at %s:%d\n", \ i, __FILE__, __LINE__);}) \ if (!prev) { \ Perl_croak_popstack(); \ } \ SWITCHSTACK(PL_curstack,prev->si_stack); \ /* don't free prev here, free them all at the END{} */ \ PL_curstackinfo = prev; \ } STMT_END #define POPSTACK_TO(s) \ STMT_START { \ while (PL_curstack != s) { \ dounwind(-1); \ POPSTACK; \ } \ } STMT_END #define IN_PERL_COMPILETIME cBOOL(PL_curcop == &PL_compiling) #define IN_PERL_RUNTIME cBOOL(PL_curcop != &PL_compiling) /* =head1 Multicall Functions =for apidoc Amns||dMULTICALL Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>. =for apidoc Ams||PUSH_MULTICALL|CV* the_cv Opening bracket for a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>. =for apidoc Amns||MULTICALL Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>. =for apidoc Amns||POP_MULTICALL Closing bracket for a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>. =cut */ #define dMULTICALL \ OP *multicall_cop; \ bool multicall_oldcatch #define PUSH_MULTICALL(the_cv) \ PUSH_MULTICALL_FLAGS(the_cv, 0) /* Like PUSH_MULTICALL, but allows you to specify extra flags * for the CX stack entry (this isn't part of the public API) */ #define PUSH_MULTICALL_FLAGS(the_cv, flags) \ STMT_START { \ PERL_CONTEXT *cx; \ CV * const _nOnclAshIngNamE_ = the_cv; \ CV * const cv = _nOnclAshIngNamE_; \ PADLIST * const padlist = CvPADLIST(cv); \ multicall_oldcatch = CATCH_GET; \ CATCH_SET(TRUE); \ PUSHSTACKi(PERLSI_MULTICALL); \ cx = cx_pushblock((CXt_SUB|CXp_MULTICALL|flags), (U8)gimme, \ PL_stack_sp, PL_savestack_ix); \ cx_pushsub(cx, cv, NULL, 0); \ SAVEOP(); \ if (!(flags & CXp_SUB_RE_FAKE)) \ CvDEPTH(cv)++; \ if (CvDEPTH(cv) >= 2) \ Perl_pad_push(aTHX_ padlist, CvDEPTH(cv)); \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ multicall_cop = CvSTART(cv); \ } STMT_END #define MULTICALL \ STMT_START { \ PL_op = multicall_cop; \ CALLRUNOPS(aTHX); \ } STMT_END #define POP_MULTICALL \ STMT_START { \ PERL_CONTEXT *cx; \ cx = CX_CUR(); \ CX_LEAVE_SCOPE(cx); \ cx_popsub_common(cx); \ gimme = cx->blk_gimme; \ PERL_UNUSED_VAR(gimme); /* for API */ \ cx_popblock(cx); \ CX_POP(cx); \ POPSTACK; \ CATCH_SET(multicall_oldcatch); \ SPAGAIN; \ } STMT_END /* Change the CV of an already-pushed MULTICALL CxSUB block. * (this isn't part of the public API) */ #define CHANGE_MULTICALL_FLAGS(the_cv, flags) \ STMT_START { \ CV * const _nOnclAshIngNamE_ = the_cv; \ CV * const cv = _nOnclAshIngNamE_; \ PADLIST * const padlist = CvPADLIST(cv); \ PERL_CONTEXT *cx = CX_CUR(); \ assert(CxMULTICALL(cx)); \ cx_popsub_common(cx); \ cx->cx_type = (CXt_SUB|CXp_MULTICALL|flags); \ cx_pushsub(cx, cv, NULL, 0); \ if (!(flags & CXp_SUB_RE_FAKE)) \ CvDEPTH(cv)++; \ if (CvDEPTH(cv) >= 2) \ Perl_pad_push(aTHX_ padlist, CvDEPTH(cv)); \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ multicall_cop = CvSTART(cv); \ } STMT_END /* * ex: set ts=8 sts=4 sw=4 et: */ perl_inc_macro.h 0000644 00000014117 15140731057 0007700 0 ustar 00 /* just define a list of macros to push elements in INC * so we can easily use them and change order on demand * * list of available INCPUSH macros * - INCPUSH_APPLLIB_EXP * - INCPUSH_SITEARCH_EXP * - INCPUSH_SITELIB_EXP * - INCPUSH_PERL_VENDORARCH_EXP * - INCPUSH_PERL_VENDORLIB_EXP * - INCPUSH_ARCHLIB_EXP * - INCPUSH_PRIVLIB_EXP * - INCPUSH_PERL_OTHERLIBDIRS * - INCPUSH_PERL5LIB * - INCPUSH_APPLLIB_OLD_EXP * - INCPUSH_SITELIB_STEM * - INCPUSH_PERL_VENDORLIB_STEM * - INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY */ #ifndef DEFINE_INC_MACROS /* protect against multiple inclusions */ #define DEFINE_INC_MACROS 1 #ifdef APPLLIB_EXP # define INCPUSH_APPLLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP), \ INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); #endif #ifdef SITEARCH_EXP /* sitearch is always relative to sitelib on Windows for * DLL-based path intuition to work correctly */ # if !defined(WIN32) # define INCPUSH_SITEARCH_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITEARCH_EXP), \ INCPUSH_CAN_RELOCATE); # endif #endif #ifdef SITELIB_EXP # if defined(WIN32) /* this picks up sitearch as well */ # define INCPUSH_SITELIB_EXP s = PerlEnv_sitelib_path(PERL_FS_VERSION, &len); \ if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); # else # define INCPUSH_SITELIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_EXP), \ INCPUSH_CAN_RELOCATE); # endif #endif #ifdef PERL_VENDORARCH_EXP /* vendorarch is always relative to vendorlib on Windows for * DLL-based path intuition to work correctly */ # if !defined(WIN32) # define INCPUSH_PERL_VENDORARCH_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORARCH_EXP), INCPUSH_CAN_RELOCATE); # endif #endif #ifdef PERL_VENDORLIB_EXP # if defined(WIN32) /* this picks up vendorarch as well */ # define INCPUSH_PERL_VENDORLIB_EXP s = PerlEnv_vendorlib_path(PERL_FS_VERSION, &len); \ if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); # else # define INCPUSH_PERL_VENDORLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_EXP), INCPUSH_CAN_RELOCATE); # endif #endif #ifdef ARCHLIB_EXP # define INCPUSH_ARCHLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(ARCHLIB_EXP), INCPUSH_CAN_RELOCATE); #endif /* used by INCPUSH_PRIVLIB_EXP */ #ifndef PRIVLIB_EXP # define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl" #endif #if defined(WIN32) # define INCPUSH_PRIVLIB_EXP s = PerlEnv_lib_path(PERL_FS_VERSION, &len); \ if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE); #elif defined(NETWARE) # define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ PRIVLIB_EXP, 0, INCPUSH_CAN_RELOCATE); #else # define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_RELOCATE); #endif #ifdef PERL_OTHERLIBDIRS # define INCPUSH_PERL_OTHERLIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \ INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE); #endif /* submacros for INCPUSH_PERL5LIB */ #if defined(PERL_USE_SAFE_PUTENV) && ! defined(HAS_UNSETENV) # define _INCPUSH_PERL5LIB_IF if (perl5lib && *perl5lib != '\0') #else # define _INCPUSH_PERL5LIB_IF if (perl5lib) #endif #ifndef VMS /* * It isn't possible to delete an environment variable with * PERL_USE_SAFE_PUTENV set unless unsetenv() is also available, so in that * case we treat PERL5LIB as undefined if it has a zero-length value. */ # define _INCPUSH_PERL5LIB_ADD _INCPUSH_PERL5LIB_IF incpush_use_sep(perl5lib, 0, INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR); #else /* VMS */ /* Treat PERL5?LIB as a possible search list logical name -- the * "natural" VMS idiom for a Unix path string. We allow each * element to be a set of |-separated directories for compatibility. */ # define _INCPUSH_PERL5LIB_ADD char buf[256]; \ int idx = 0; \ if (vmstrnenv("PERL5LIB",buf,0,NULL,0)) \ do { \ incpush_use_sep(buf, 0, \ INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR); \ } while (vmstrnenv("PERL5LIB",buf,++idx,NULL,0)); #endif /* this macro is special and use submacros from above */ #define INCPUSH_PERL5LIB if (!TAINTING_get) { _INCPUSH_PERL5LIB_ADD } /* Use the ~-expanded versions of APPLLIB (undocumented), SITELIB and VENDORLIB for older versions */ #ifdef APPLLIB_EXP # define INCPUSH_APPLLIB_OLD_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP), \ INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE); #endif #if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST) /* Search for version-specific dirs below here */ # define INCPUSH_SITELIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM), \ INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); #endif #if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST) /* Search for version-specific dirs below here */ # define INCPUSH_PERL_VENDORLIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM), \ INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE); #endif #ifdef PERL_OTHERLIBDIRS # define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \ INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE); #endif /* define all undefined macros... */ #ifndef INCPUSH_APPLLIB_EXP #define INCPUSH_APPLLIB_EXP #endif #ifndef INCPUSH_SITEARCH_EXP #define INCPUSH_SITEARCH_EXP #endif #ifndef INCPUSH_SITELIB_EXP #define INCPUSH_SITELIB_EXP #endif #ifndef INCPUSH_PERL_VENDORARCH_EXP #define INCPUSH_PERL_VENDORARCH_EXP #endif #ifndef INCPUSH_PERL_VENDORLIB_EXP #define INCPUSH_PERL_VENDORLIB_EXP #endif #ifndef INCPUSH_ARCHLIB_EXP #define INCPUSH_ARCHLIB_EXP #endif #ifndef INCPUSH_PRIVLIB_EXP #define INCPUSH_PRIVLIB_EXP #endif #ifndef INCPUSH_PERL_OTHERLIBDIRS #define INCPUSH_PERL_OTHERLIBDIRS #endif #ifndef INCPUSH_PERL5LIB #define INCPUSH_PERL5LIB #endif #ifndef INCPUSH_APPLLIB_OLD_EXP #define INCPUSH_APPLLIB_OLD_EXP #endif #ifndef INCPUSH_SITELIB_STEM #define INCPUSH_SITELIB_STEM #endif #ifndef INCPUSH_PERL_VENDORLIB_STEM #define INCPUSH_PERL_VENDORLIB_STEM #endif #ifndef INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY #define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY #endif #endif /* DEFINE_INC_MACROS */ l1_char_class_tab.h 0000644 00000357220 15140731057 0010255 0 ustar 00 /* -*- buffer-read-only: t -*- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/mk_PL_charclass.pl from Unicode::UCD. * Any changes made here will be lost! */ /* For code points whose position is not the same as Unicode, both are shown * in the comment*/ #if 'A' == 65 /* ASCII/Latin1 */ /* U+00 NUL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+01 SOH */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+02 STX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+03 ETX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+04 EOT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+05 ENQ */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+06 ACK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+07 BEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+08 BS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+09 HT */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* U+0A LF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0B VT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0C FF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0D CR */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0E SO */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+0F SI */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+10 DLE */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+11 DC1 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+12 DC2 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+13 DC3 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+14 DC4 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+15 NAK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+16 SYN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+17 ETB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+18 CAN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+19 EOM */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1B ESC */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1C FS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1D GS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1E RS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1F US */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+29 ')' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+3B ';' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+40 '@' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+41 'A' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+42 'B' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+43 'C' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+44 'D' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+45 'E' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+46 'F' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+47 'G' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+48 'H' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+49 'I' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4A 'J' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4B 'K' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4C 'L' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4D 'M' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4E 'N' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+4F 'O' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+50 'P' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+51 'Q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+52 'R' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+53 'S' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+54 'T' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+55 'U' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+56 'V' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+57 'W' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+58 'X' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+59 'Y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+5A 'Z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR), /* U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+61 'a' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+62 'b' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+63 'c' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+64 'd' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+65 'e' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+66 'f' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* U+67 'g' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+68 'h' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+69 'i' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6A 'j' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6B 'k' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6C 'l' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6D 'm' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6E 'n' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+6F 'o' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+70 'p' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+71 'q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+72 'r' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+73 's' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+74 't' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+75 'u' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+76 'v' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+77 'w' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+78 'x' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+79 'y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+7A 'z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+7F DEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+80 PAD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+81 HOP */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+82 BPH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+83 NBH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+84 IND */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+85 NEL */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+86 SSA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+87 ESA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+88 HTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+89 HTJ */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8A VTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8B PLD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8C PLU */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8D RI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8E SS2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+8F SS3 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+90 DCS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+91 PU1 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+92 PU2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+93 STS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+94 CCH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+95 MW */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+96 SPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+97 EPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+98 SOS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+99 SGC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9A SCI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9B CSI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9C ST */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9D OSC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* U+A1 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+A2 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+A3 POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+A4 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+A5 YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+A6 BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+A7 SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+A8 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+A9 COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+AA FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+AB LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+AC NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+AD SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+AE REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+AF MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+B0 DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+B1 PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+B2 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+B3 SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+B4 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+B5 MICRO */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+B6 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+B7 MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT), /* U+B8 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+B9 SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+BA MASCULINE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+BC 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+BD 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+BE 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* U+BF INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+C0 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C1 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C2 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C3 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C4 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C5 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C6 AE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C7 C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C8 E with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+C9 E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CA E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CB E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CC I with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CD I with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CE I with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+CF I with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D0 ETH */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D1 N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D2 O with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D3 O with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D4 O with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D5 O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D6 O with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+D8 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+D9 U with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DA U with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DB U with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DC U with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DD Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DE THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* U+DF sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E0 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E1 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E2 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E3 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E4 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E5 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E6 ae */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E8 e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+E9 e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+EA e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+EB e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+EC i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+ED i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+EE i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+EF i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F0 eth */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F1 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F2 o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F3 o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F4 o with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F5 o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F6 o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F7 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* U+F8 o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+F9 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FA u with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FB u with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FC u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FD y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FE thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* U+FF y with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR) #endif /* ASCII/Latin1 */ #if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* U+00 NUL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+01 SOH */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+02 STX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+03 ETX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x04 U+9C ST */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x05 U+09 HT */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x06 U+86 SSA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x07 U+7F DEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x08 U+97 EPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x09 U+8D RI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x0A U+8E SS2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+0B VT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0C FF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0D CR */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0E SO */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+0F SI */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+10 DLE */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+11 DC1 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+12 DC2 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+13 DC3 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x14 U+9D OSC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x15 U+0A LF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* 0x16 U+08 BS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x17 U+87 ESA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+18 CAN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+19 EOM */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x1A U+92 PU2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x1B U+8F SS3 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1C FS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1D GS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1E RS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1F US */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x20 U+80 PAD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x21 U+81 HOP */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x22 U+82 BPH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x23 U+83 NBH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x24 U+84 IND */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x25 U+85 NEL */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* 0x26 U+17 ETB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x27 U+1B ESC */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x28 U+88 HTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x29 U+89 HTJ */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2A U+8A VTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2B U+8B PLD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2C U+8C PLU */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2D U+05 ENQ */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2E U+06 ACK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2F U+07 BEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x30 U+90 DCS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x31 U+91 PU1 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x32 U+16 SYN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x33 U+93 STS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x34 U+94 CCH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x35 U+95 MW */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x36 U+96 SPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x37 U+04 EOT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x38 U+98 SOS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x39 U+99 SGC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3A U+9A SCI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3B U+9B CSI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3C U+14 DC4 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3D U+15 NAK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3E U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3F U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x40 U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x4B U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4C U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4D U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4E U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4F U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x50 U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x5A U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5B U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5C U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5D U+29 ')' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5E U+3B ';' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5F U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x60 U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x61 U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x62 U+C2 I8=B3 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x63 U+C4 I8=B4 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x64 U+C0 I8=B5 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x65 U+C1 I8=B6 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x66 U+C3 I8=B7 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x67 U+C5 I8=B8 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x68 U+C7 I8=B9 C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x69 U+D1 I8=BA N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x6A U+A6 I8=BB BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x6B U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6C U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6D U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR), /* 0x6E U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6F U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x70 U+F8 I8=BC o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x71 U+C9 I8=BD E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x72 U+CA I8=BE E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x73 U+CB I8=BF E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x74 U+C8 I8=C0 E with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x75 U+CD I8=C1 I with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x76 U+CE I8=C2 I with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x77 U+CF I8=C3 I with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x78 U+CC I8=C4 I with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x79 U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7A U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7B U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7C U+40 '@' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7D U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7E U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7F U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x80 U+D8 I8=C5 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x81 U+61 'a' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x82 U+62 'b' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x83 U+63 'c' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x84 U+64 'd' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x85 U+65 'e' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x86 U+66 'f' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x87 U+67 'g' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x88 U+68 'h' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x89 U+69 'i' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8A U+AB I8=C6 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x8B U+BB I8=C7 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x8C U+F0 I8=C8 eth */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8D U+FD I8=C9 y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8E U+FE I8=CA thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8F U+B1 I8=CB PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x90 U+B0 I8=CC DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x91 U+6A 'j' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x92 U+6B 'k' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x93 U+6C 'l' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x94 U+6D 'm' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x95 U+6E 'n' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x96 U+6F 'o' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x97 U+70 'p' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x98 U+71 'q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x99 U+72 'r' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9A U+AA I8=CD FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9B U+BA I8=CE MASCULINE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9C U+E6 I8=CF ae */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9D U+B8 I8=D0 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0x9E U+C6 I8=D1 AE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x9F U+A4 I8=D2 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xA0 U+B5 I8=D3 MICRO */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xA2 U+73 's' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA3 U+74 't' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA4 U+75 'u' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA5 U+76 'v' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA6 U+77 'w' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA8 U+79 'y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xAA U+A1 I8=D4 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xAB U+BF I8=D5 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xAC U+D0 I8=D6 ETH */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAD U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xAE U+DE I8=D7 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAF U+AE I8=D8 REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB0 U+AC I8=D9 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB1 U+A3 I8=DA POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB2 U+A5 I8=DB YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB3 U+B7 I8=DC MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT), /* 0xB4 U+A9 I8=DD COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB5 U+A7 I8=DE SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+B6 I8=DF PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xB7 U+BC I8=E0 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xB8 U+BD I8=E1 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xB9 U+BE I8=E2 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBA U+DD I8=E3 Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xBB U+A8 I8=E4 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBC U+AF I8=E5 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBD U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xC1 U+41 'A' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC3 U+43 'C' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC4 U+44 'D' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC5 U+45 'E' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC6 U+46 'F' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC8 U+48 'H' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC9 U+49 'I' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xD1 U+4A 'J' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD2 U+4B 'K' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD3 U+4C 'L' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD4 U+4D 'M' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD5 U+4E 'N' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD6 U+4F 'O' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE0 U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE2 U+53 'S' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE3 U+54 'T' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE5 U+56 'V' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE6 U+57 'W' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE8 U+59 'Y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF2 U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF3 U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF4 U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF5 U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF6 U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF7 U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF8 U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF9 U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA) #endif /* EBCDIC 1047 */ #if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* U+00 NUL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+01 SOH */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+02 STX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+03 ETX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x04 U+9C ST */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x05 U+09 HT */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x06 U+86 SSA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x07 U+7F DEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x08 U+97 EPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x09 U+8D RI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x0A U+8E SS2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+0B VT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0C FF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0D CR */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* U+0E SO */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+0F SI */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+10 DLE */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+11 DC1 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+12 DC2 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+13 DC3 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x14 U+9D OSC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x15 U+85 NEL */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* 0x16 U+08 BS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x17 U+87 ESA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+18 CAN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+19 EOM */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x1A U+92 PU2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x1B U+8F SS3 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1C FS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1D GS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1E RS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* U+1F US */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x20 U+80 PAD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x21 U+81 HOP */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x22 U+82 BPH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x23 U+83 NBH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x24 U+84 IND */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x25 U+0A LF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE), /* 0x26 U+17 ETB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x27 U+1B ESC */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x28 U+88 HTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x29 U+89 HTJ */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2A U+8A VTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2B U+8B PLD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2C U+8C PLU */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2D U+05 ENQ */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2E U+06 ACK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x2F U+07 BEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_MNEMONIC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x30 U+90 DCS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x31 U+91 PU1 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x32 U+16 SYN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x33 U+93 STS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x34 U+94 CCH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x35 U+95 MW */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x36 U+96 SPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x37 U+04 EOT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x38 U+98 SOS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x39 U+99 SGC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3A U+9A SCI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3B U+9B CSI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3C U+14 DC4 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3D U+15 NAK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3E U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x3F U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA), /* 0x40 U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE), /* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x4B U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4C U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4D U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4E U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x4F U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x50 U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x5A U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5B U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5C U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5D U+29 ')' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5E U+3B ';' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x5F U+AC I8=B3 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x60 U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x61 U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x62 U+C2 I8=B4 A with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x63 U+C4 I8=B5 A with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x64 U+C0 I8=B6 A with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x65 U+C1 I8=B7 A with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x66 U+C3 I8=B8 A with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x67 U+C5 I8=B9 A with RING */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x68 U+C7 I8=BA C with CEDILLA */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x69 U+D1 I8=BB N with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x6A U+A6 I8=BC BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x6B U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6C U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6D U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR), /* 0x6E U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x6F U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x70 U+F8 I8=BD o with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x71 U+C9 I8=BE E with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x72 U+CA I8=BF E with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x73 U+CB I8=C0 E with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x74 U+C8 I8=C1 E with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x75 U+CD I8=C2 I with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x76 U+CE I8=C3 I with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x77 U+CF I8=C4 I with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x78 U+CC I8=C5 I with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x79 U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7A U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7B U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7C U+40 '@' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7D U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7E U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x7F U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x80 U+D8 I8=C6 O with '/' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x81 U+61 'a' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x82 U+62 'b' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x83 U+63 'c' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x84 U+64 'd' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x85 U+65 'e' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x86 U+66 'f' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0x87 U+67 'g' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x88 U+68 'h' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x89 U+69 'i' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8A U+AB I8=C7 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x8B U+BB I8=C8 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0x8C U+F0 I8=C9 eth */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8D U+FD I8=CA y with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8E U+FE I8=CB thorn */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x8F U+B1 I8=CC PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x90 U+B0 I8=CD DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0x91 U+6A 'j' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x92 U+6B 'k' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x93 U+6C 'l' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x94 U+6D 'm' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x95 U+6E 'n' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x96 U+6F 'o' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x97 U+70 'p' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x98 U+71 'q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x99 U+72 'r' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9A U+AA I8=CE FEMININE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9B U+BA I8=CF MASCULINE ORDINAL */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9C U+E6 I8=D0 ae */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0x9D U+B8 I8=D1 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0x9E U+C6 I8=D2 AE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0x9F U+A4 I8=D3 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xA0 U+B5 I8=D4 MICRO */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xA2 U+73 's' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA3 U+74 't' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA4 U+75 'u' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA5 U+76 'v' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA6 U+77 'w' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA8 U+79 'y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xAA U+A1 I8=D5 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xAB U+BF I8=D6 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xAC U+D0 I8=D7 ETH */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAD U+DD I8=D8 Y with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAE U+DE I8=D9 THORN */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xAF U+AE I8=DA REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB0 U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xB1 U+A3 I8=DB POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB2 U+A5 I8=DC YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB3 U+B7 I8=DD MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT), /* 0xB4 U+A9 I8=DE COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xB5 U+A7 I8=DF SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* U+B6 I8=E0 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xB7 U+BC I8=E1 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xB8 U+BD I8=E2 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xB9 U+BE I8=E3 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBA U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xBB U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xBC U+AF I8=E4 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBD U+A8 I8=E5 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xC1 U+41 'A' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC3 U+43 'C' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC4 U+44 'D' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC5 U+45 'E' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC6 U+46 'F' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC8 U+48 'H' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xC9 U+49 'I' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA), /* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xD1 U+4A 'J' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD2 U+4B 'K' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD3 U+4C 'L' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD4 U+4D 'M' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD5 U+4E 'N' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD6 U+4F 'O' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT), /* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR), /* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_LOWER)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE0 U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA), /* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xE2 U+53 'S' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE3 U+54 'T' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE5 U+56 'V' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE6 U+57 'W' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE8 U+59 'Y' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR), /* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_BINDIGIT)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF2 U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF3 U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF4 U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF5 U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF6 U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF7 U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_OCTDIGIT)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF8 U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xF9 U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT), /* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHA)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE), /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA) #endif /* EBCDIC 037 */ /* ex: set ro: */ pp_proto.h 0000644 00000027443 15140731057 0006574 0 ustar 00 /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by opcode.pl from its data. Any changes made here will be lost! */ PERL_CALLCONV OP *Perl_do_kv(pTHX); PERL_CALLCONV OP *Perl_pp_aassign(pTHX); PERL_CALLCONV OP *Perl_pp_abs(pTHX); PERL_CALLCONV OP *Perl_pp_accept(pTHX); PERL_CALLCONV OP *Perl_pp_add(pTHX); PERL_CALLCONV OP *Perl_pp_aeach(pTHX); PERL_CALLCONV OP *Perl_pp_aelem(pTHX); PERL_CALLCONV OP *Perl_pp_aelemfast(pTHX); PERL_CALLCONV OP *Perl_pp_akeys(pTHX); PERL_CALLCONV OP *Perl_pp_alarm(pTHX); PERL_CALLCONV OP *Perl_pp_and(pTHX); PERL_CALLCONV OP *Perl_pp_anoncode(pTHX); PERL_CALLCONV OP *Perl_pp_anonconst(pTHX); PERL_CALLCONV OP *Perl_pp_anonhash(pTHX); PERL_CALLCONV OP *Perl_pp_anonlist(pTHX); PERL_CALLCONV OP *Perl_pp_argcheck(pTHX); PERL_CALLCONV OP *Perl_pp_argdefelem(pTHX); PERL_CALLCONV OP *Perl_pp_argelem(pTHX); PERL_CALLCONV OP *Perl_pp_aslice(pTHX); PERL_CALLCONV OP *Perl_pp_atan2(pTHX); PERL_CALLCONV OP *Perl_pp_av2arylen(pTHX); PERL_CALLCONV OP *Perl_pp_avhvswitch(pTHX); PERL_CALLCONV OP *Perl_pp_backtick(pTHX); PERL_CALLCONV OP *Perl_pp_bind(pTHX); PERL_CALLCONV OP *Perl_pp_binmode(pTHX); PERL_CALLCONV OP *Perl_pp_bit_and(pTHX); PERL_CALLCONV OP *Perl_pp_bit_or(pTHX); PERL_CALLCONV OP *Perl_pp_bless(pTHX); PERL_CALLCONV OP *Perl_pp_break(pTHX); PERL_CALLCONV OP *Perl_pp_caller(pTHX); PERL_CALLCONV OP *Perl_pp_chdir(pTHX); PERL_CALLCONV OP *Perl_pp_chop(pTHX); PERL_CALLCONV OP *Perl_pp_chown(pTHX); PERL_CALLCONV OP *Perl_pp_chr(pTHX); PERL_CALLCONV OP *Perl_pp_chroot(pTHX); PERL_CALLCONV OP *Perl_pp_clonecv(pTHX); PERL_CALLCONV OP *Perl_pp_close(pTHX); PERL_CALLCONV OP *Perl_pp_closedir(pTHX); PERL_CALLCONV OP *Perl_pp_cmpchain_and(pTHX); PERL_CALLCONV OP *Perl_pp_cmpchain_dup(pTHX); PERL_CALLCONV OP *Perl_pp_complement(pTHX); PERL_CALLCONV OP *Perl_pp_concat(pTHX); PERL_CALLCONV OP *Perl_pp_cond_expr(pTHX); PERL_CALLCONV OP *Perl_pp_const(pTHX); PERL_CALLCONV OP *Perl_pp_continue(pTHX); PERL_CALLCONV OP *Perl_pp_coreargs(pTHX); PERL_CALLCONV OP *Perl_pp_crypt(pTHX); PERL_CALLCONV OP *Perl_pp_dbmopen(pTHX); PERL_CALLCONV OP *Perl_pp_dbstate(pTHX); PERL_CALLCONV OP *Perl_pp_defined(pTHX); PERL_CALLCONV OP *Perl_pp_delete(pTHX); PERL_CALLCONV OP *Perl_pp_die(pTHX); PERL_CALLCONV OP *Perl_pp_divide(pTHX); PERL_CALLCONV OP *Perl_pp_each(pTHX); PERL_CALLCONV OP *Perl_pp_ehostent(pTHX); PERL_CALLCONV OP *Perl_pp_enter(pTHX); PERL_CALLCONV OP *Perl_pp_entereval(pTHX); PERL_CALLCONV OP *Perl_pp_entergiven(pTHX); PERL_CALLCONV OP *Perl_pp_enteriter(pTHX); PERL_CALLCONV OP *Perl_pp_enterloop(pTHX); PERL_CALLCONV OP *Perl_pp_entersub(pTHX); PERL_CALLCONV OP *Perl_pp_entertry(pTHX); PERL_CALLCONV OP *Perl_pp_enterwhen(pTHX); PERL_CALLCONV OP *Perl_pp_enterwrite(pTHX); PERL_CALLCONV OP *Perl_pp_eof(pTHX); PERL_CALLCONV OP *Perl_pp_eq(pTHX); PERL_CALLCONV OP *Perl_pp_exec(pTHX); PERL_CALLCONV OP *Perl_pp_exists(pTHX); PERL_CALLCONV OP *Perl_pp_exit(pTHX); PERL_CALLCONV OP *Perl_pp_fc(pTHX); PERL_CALLCONV OP *Perl_pp_fileno(pTHX); PERL_CALLCONV OP *Perl_pp_flip(pTHX); PERL_CALLCONV OP *Perl_pp_flock(pTHX); PERL_CALLCONV OP *Perl_pp_flop(pTHX); PERL_CALLCONV OP *Perl_pp_fork(pTHX); PERL_CALLCONV OP *Perl_pp_formline(pTHX); PERL_CALLCONV OP *Perl_pp_ftis(pTHX); PERL_CALLCONV OP *Perl_pp_ftlink(pTHX); PERL_CALLCONV OP *Perl_pp_ftrowned(pTHX); PERL_CALLCONV OP *Perl_pp_ftrread(pTHX); PERL_CALLCONV OP *Perl_pp_fttext(pTHX); PERL_CALLCONV OP *Perl_pp_fttty(pTHX); PERL_CALLCONV OP *Perl_pp_ge(pTHX); PERL_CALLCONV OP *Perl_pp_gelem(pTHX); PERL_CALLCONV OP *Perl_pp_getc(pTHX); PERL_CALLCONV OP *Perl_pp_getlogin(pTHX); PERL_CALLCONV OP *Perl_pp_getpeername(pTHX); PERL_CALLCONV OP *Perl_pp_getpgrp(pTHX); PERL_CALLCONV OP *Perl_pp_getppid(pTHX); PERL_CALLCONV OP *Perl_pp_getpriority(pTHX); PERL_CALLCONV OP *Perl_pp_ggrent(pTHX); PERL_CALLCONV OP *Perl_pp_ghostent(pTHX); PERL_CALLCONV OP *Perl_pp_glob(pTHX); PERL_CALLCONV OP *Perl_pp_gmtime(pTHX); PERL_CALLCONV OP *Perl_pp_gnetent(pTHX); PERL_CALLCONV OP *Perl_pp_goto(pTHX); PERL_CALLCONV OP *Perl_pp_gprotoent(pTHX); PERL_CALLCONV OP *Perl_pp_gpwent(pTHX); PERL_CALLCONV OP *Perl_pp_grepstart(pTHX); PERL_CALLCONV OP *Perl_pp_grepwhile(pTHX); PERL_CALLCONV OP *Perl_pp_gservent(pTHX); PERL_CALLCONV OP *Perl_pp_gt(pTHX); PERL_CALLCONV OP *Perl_pp_gv(pTHX); PERL_CALLCONV OP *Perl_pp_gvsv(pTHX); PERL_CALLCONV OP *Perl_pp_helem(pTHX); PERL_CALLCONV OP *Perl_pp_hintseval(pTHX); PERL_CALLCONV OP *Perl_pp_hslice(pTHX); PERL_CALLCONV OP *Perl_pp_i_add(pTHX); PERL_CALLCONV OP *Perl_pp_i_divide(pTHX); PERL_CALLCONV OP *Perl_pp_i_eq(pTHX); PERL_CALLCONV OP *Perl_pp_i_ge(pTHX); PERL_CALLCONV OP *Perl_pp_i_gt(pTHX); PERL_CALLCONV OP *Perl_pp_i_le(pTHX); PERL_CALLCONV OP *Perl_pp_i_lt(pTHX); PERL_CALLCONV OP *Perl_pp_i_modulo(pTHX); PERL_CALLCONV OP *Perl_pp_i_multiply(pTHX); PERL_CALLCONV OP *Perl_pp_i_ncmp(pTHX); PERL_CALLCONV OP *Perl_pp_i_ne(pTHX); PERL_CALLCONV OP *Perl_pp_i_negate(pTHX); PERL_CALLCONV OP *Perl_pp_i_subtract(pTHX); PERL_CALLCONV OP *Perl_pp_index(pTHX); PERL_CALLCONV OP *Perl_pp_int(pTHX); PERL_CALLCONV OP *Perl_pp_introcv(pTHX); PERL_CALLCONV OP *Perl_pp_ioctl(pTHX); PERL_CALLCONV OP *Perl_pp_isa(pTHX); PERL_CALLCONV OP *Perl_pp_iter(pTHX); PERL_CALLCONV OP *Perl_pp_join(pTHX); PERL_CALLCONV OP *Perl_pp_kvaslice(pTHX); PERL_CALLCONV OP *Perl_pp_kvhslice(pTHX); PERL_CALLCONV OP *Perl_pp_last(pTHX); PERL_CALLCONV OP *Perl_pp_lc(pTHX); PERL_CALLCONV OP *Perl_pp_le(pTHX); PERL_CALLCONV OP *Perl_pp_leave(pTHX); PERL_CALLCONV OP *Perl_pp_leaveeval(pTHX); PERL_CALLCONV OP *Perl_pp_leavegiven(pTHX); PERL_CALLCONV OP *Perl_pp_leaveloop(pTHX); PERL_CALLCONV OP *Perl_pp_leavesub(pTHX); PERL_CALLCONV OP *Perl_pp_leavesublv(pTHX); PERL_CALLCONV OP *Perl_pp_leavetry(pTHX); PERL_CALLCONV OP *Perl_pp_leavewhen(pTHX); PERL_CALLCONV OP *Perl_pp_leavewrite(pTHX); PERL_CALLCONV OP *Perl_pp_left_shift(pTHX); PERL_CALLCONV OP *Perl_pp_length(pTHX); PERL_CALLCONV OP *Perl_pp_link(pTHX); PERL_CALLCONV OP *Perl_pp_list(pTHX); PERL_CALLCONV OP *Perl_pp_listen(pTHX); PERL_CALLCONV OP *Perl_pp_lock(pTHX); PERL_CALLCONV OP *Perl_pp_lslice(pTHX); PERL_CALLCONV OP *Perl_pp_lt(pTHX); PERL_CALLCONV OP *Perl_pp_lvavref(pTHX); PERL_CALLCONV OP *Perl_pp_lvref(pTHX); PERL_CALLCONV OP *Perl_pp_lvrefslice(pTHX); PERL_CALLCONV OP *Perl_pp_mapwhile(pTHX); PERL_CALLCONV OP *Perl_pp_match(pTHX); PERL_CALLCONV OP *Perl_pp_method(pTHX); PERL_CALLCONV OP *Perl_pp_method_named(pTHX); PERL_CALLCONV OP *Perl_pp_method_redir(pTHX); PERL_CALLCONV OP *Perl_pp_method_redir_super(pTHX); PERL_CALLCONV OP *Perl_pp_method_super(pTHX); PERL_CALLCONV OP *Perl_pp_mkdir(pTHX); PERL_CALLCONV OP *Perl_pp_modulo(pTHX); PERL_CALLCONV OP *Perl_pp_multiconcat(pTHX); PERL_CALLCONV OP *Perl_pp_multideref(pTHX); PERL_CALLCONV OP *Perl_pp_multiply(pTHX); PERL_CALLCONV OP *Perl_pp_nbit_and(pTHX); PERL_CALLCONV OP *Perl_pp_nbit_or(pTHX); PERL_CALLCONV OP *Perl_pp_ncmp(pTHX); PERL_CALLCONV OP *Perl_pp_ncomplement(pTHX); PERL_CALLCONV OP *Perl_pp_ne(pTHX); PERL_CALLCONV OP *Perl_pp_negate(pTHX); PERL_CALLCONV OP *Perl_pp_next(pTHX); PERL_CALLCONV OP *Perl_pp_nextstate(pTHX); PERL_CALLCONV OP *Perl_pp_not(pTHX); PERL_CALLCONV OP *Perl_pp_null(pTHX); PERL_CALLCONV OP *Perl_pp_oct(pTHX); PERL_CALLCONV OP *Perl_pp_once(pTHX); PERL_CALLCONV OP *Perl_pp_open(pTHX); PERL_CALLCONV OP *Perl_pp_open_dir(pTHX); PERL_CALLCONV OP *Perl_pp_or(pTHX); PERL_CALLCONV OP *Perl_pp_ord(pTHX); PERL_CALLCONV OP *Perl_pp_pack(pTHX); PERL_CALLCONV OP *Perl_pp_padav(pTHX); PERL_CALLCONV OP *Perl_pp_padcv(pTHX); PERL_CALLCONV OP *Perl_pp_padhv(pTHX); PERL_CALLCONV OP *Perl_pp_padrange(pTHX); PERL_CALLCONV OP *Perl_pp_padsv(pTHX); PERL_CALLCONV OP *Perl_pp_pipe_op(pTHX); PERL_CALLCONV OP *Perl_pp_pos(pTHX); PERL_CALLCONV OP *Perl_pp_postdec(pTHX); PERL_CALLCONV OP *Perl_pp_postinc(pTHX); PERL_CALLCONV OP *Perl_pp_pow(pTHX); PERL_CALLCONV OP *Perl_pp_predec(pTHX); PERL_CALLCONV OP *Perl_pp_preinc(pTHX); PERL_CALLCONV OP *Perl_pp_print(pTHX); PERL_CALLCONV OP *Perl_pp_prototype(pTHX); PERL_CALLCONV OP *Perl_pp_prtf(pTHX); PERL_CALLCONV OP *Perl_pp_push(pTHX); PERL_CALLCONV OP *Perl_pp_pushmark(pTHX); PERL_CALLCONV OP *Perl_pp_qr(pTHX); PERL_CALLCONV OP *Perl_pp_quotemeta(pTHX); PERL_CALLCONV OP *Perl_pp_rand(pTHX); PERL_CALLCONV OP *Perl_pp_range(pTHX); PERL_CALLCONV OP *Perl_pp_rcatline(pTHX); PERL_CALLCONV OP *Perl_pp_readdir(pTHX); PERL_CALLCONV OP *Perl_pp_readline(pTHX); PERL_CALLCONV OP *Perl_pp_readlink(pTHX); PERL_CALLCONV OP *Perl_pp_redo(pTHX); PERL_CALLCONV OP *Perl_pp_ref(pTHX); PERL_CALLCONV OP *Perl_pp_refassign(pTHX); PERL_CALLCONV OP *Perl_pp_refgen(pTHX); PERL_CALLCONV OP *Perl_pp_regcomp(pTHX); PERL_CALLCONV OP *Perl_pp_regcreset(pTHX); PERL_CALLCONV OP *Perl_pp_rename(pTHX); PERL_CALLCONV OP *Perl_pp_repeat(pTHX); PERL_CALLCONV OP *Perl_pp_require(pTHX); PERL_CALLCONV OP *Perl_pp_reset(pTHX); PERL_CALLCONV OP *Perl_pp_return(pTHX); PERL_CALLCONV OP *Perl_pp_reverse(pTHX); PERL_CALLCONV OP *Perl_pp_rewinddir(pTHX); PERL_CALLCONV OP *Perl_pp_right_shift(pTHX); PERL_CALLCONV OP *Perl_pp_rmdir(pTHX); PERL_CALLCONV OP *Perl_pp_runcv(pTHX); PERL_CALLCONV OP *Perl_pp_rv2av(pTHX); PERL_CALLCONV OP *Perl_pp_rv2cv(pTHX); PERL_CALLCONV OP *Perl_pp_rv2gv(pTHX); PERL_CALLCONV OP *Perl_pp_rv2sv(pTHX); PERL_CALLCONV OP *Perl_pp_sassign(pTHX); PERL_CALLCONV OP *Perl_pp_sbit_and(pTHX); PERL_CALLCONV OP *Perl_pp_sbit_or(pTHX); PERL_CALLCONV OP *Perl_pp_schop(pTHX); PERL_CALLCONV OP *Perl_pp_scmp(pTHX); PERL_CALLCONV OP *Perl_pp_scomplement(pTHX); PERL_CALLCONV OP *Perl_pp_seekdir(pTHX); PERL_CALLCONV OP *Perl_pp_select(pTHX); PERL_CALLCONV OP *Perl_pp_semctl(pTHX); PERL_CALLCONV OP *Perl_pp_semget(pTHX); PERL_CALLCONV OP *Perl_pp_seq(pTHX); PERL_CALLCONV OP *Perl_pp_setpgrp(pTHX); PERL_CALLCONV OP *Perl_pp_setpriority(pTHX); PERL_CALLCONV OP *Perl_pp_shift(pTHX); PERL_CALLCONV OP *Perl_pp_shmwrite(pTHX); PERL_CALLCONV OP *Perl_pp_shostent(pTHX); PERL_CALLCONV OP *Perl_pp_shutdown(pTHX); PERL_CALLCONV OP *Perl_pp_sin(pTHX); PERL_CALLCONV OP *Perl_pp_sle(pTHX); PERL_CALLCONV OP *Perl_pp_sleep(pTHX); PERL_CALLCONV OP *Perl_pp_smartmatch(pTHX); PERL_CALLCONV OP *Perl_pp_sne(pTHX); PERL_CALLCONV OP *Perl_pp_socket(pTHX); PERL_CALLCONV OP *Perl_pp_sockpair(pTHX); PERL_CALLCONV OP *Perl_pp_sort(pTHX); PERL_CALLCONV OP *Perl_pp_splice(pTHX); PERL_CALLCONV OP *Perl_pp_split(pTHX); PERL_CALLCONV OP *Perl_pp_sprintf(pTHX); PERL_CALLCONV OP *Perl_pp_srand(pTHX); PERL_CALLCONV OP *Perl_pp_srefgen(pTHX); PERL_CALLCONV OP *Perl_pp_sselect(pTHX); PERL_CALLCONV OP *Perl_pp_ssockopt(pTHX); PERL_CALLCONV OP *Perl_pp_stat(pTHX); PERL_CALLCONV OP *Perl_pp_stringify(pTHX); PERL_CALLCONV OP *Perl_pp_stub(pTHX); PERL_CALLCONV OP *Perl_pp_study(pTHX); PERL_CALLCONV OP *Perl_pp_subst(pTHX); PERL_CALLCONV OP *Perl_pp_substcont(pTHX); PERL_CALLCONV OP *Perl_pp_substr(pTHX); PERL_CALLCONV OP *Perl_pp_subtract(pTHX); PERL_CALLCONV OP *Perl_pp_syscall(pTHX); PERL_CALLCONV OP *Perl_pp_sysopen(pTHX); PERL_CALLCONV OP *Perl_pp_sysread(pTHX); PERL_CALLCONV OP *Perl_pp_sysseek(pTHX); PERL_CALLCONV OP *Perl_pp_system(pTHX); PERL_CALLCONV OP *Perl_pp_syswrite(pTHX); PERL_CALLCONV OP *Perl_pp_tell(pTHX); PERL_CALLCONV OP *Perl_pp_telldir(pTHX); PERL_CALLCONV OP *Perl_pp_tie(pTHX); PERL_CALLCONV OP *Perl_pp_tied(pTHX); PERL_CALLCONV OP *Perl_pp_time(pTHX); PERL_CALLCONV OP *Perl_pp_tms(pTHX); PERL_CALLCONV OP *Perl_pp_trans(pTHX); PERL_CALLCONV OP *Perl_pp_truncate(pTHX); PERL_CALLCONV OP *Perl_pp_uc(pTHX); PERL_CALLCONV OP *Perl_pp_ucfirst(pTHX); PERL_CALLCONV OP *Perl_pp_umask(pTHX); PERL_CALLCONV OP *Perl_pp_undef(pTHX); PERL_CALLCONV OP *Perl_pp_unpack(pTHX); PERL_CALLCONV OP *Perl_pp_unshift(pTHX); PERL_CALLCONV OP *Perl_pp_unstack(pTHX); PERL_CALLCONV OP *Perl_pp_untie(pTHX); PERL_CALLCONV OP *Perl_pp_vec(pTHX); PERL_CALLCONV OP *Perl_pp_wait(pTHX); PERL_CALLCONV OP *Perl_pp_waitpid(pTHX); PERL_CALLCONV OP *Perl_pp_wantarray(pTHX); PERL_CALLCONV OP *Perl_pp_warn(pTHX); PERL_CALLCONV OP *Perl_pp_xor(pTHX); PERL_CALLCONV OP *Perl_unimplemented_op(pTHX); /* ex: set ro: */ regcomp.h 0000644 00000147476 15140731057 0006377 0 ustar 00 /* regcomp.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, * 2000, 2001, 2002, 2003, 2005, 2006, 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef PERL_REGCOMP_H_ #define PERL_REGCOMP_H_ #include "regcharclass.h" /* Convert branch sequences to more efficient trie ops? */ #define PERL_ENABLE_TRIE_OPTIMISATION 1 /* Be really aggressive about optimising patterns with trie sequences? */ #define PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION 1 /* Should the optimiser take positive assertions into account? */ #define PERL_ENABLE_POSITIVE_ASSERTION_STUDY 0 /* Not for production use: */ #define PERL_ENABLE_EXPERIMENTAL_REGEX_OPTIMISATIONS 0 /* Activate offsets code - set to if 1 to enable */ #ifdef DEBUGGING #define RE_TRACK_PATTERN_OFFSETS #endif /* * Structure for regexp "program". This is essentially a linear encoding * of a nondeterministic finite-state machine (aka syntax charts or * "railroad normal form" in parsing technology). Each node is an opcode * plus a "next" pointer, possibly plus an operand. "Next" pointers of * all nodes except BRANCH implement concatenation; a "next" pointer with * a BRANCH on both ends of it is connecting two alternatives. (Here we * have one of the subtle syntax dependencies: an individual BRANCH (as * opposed to a collection of them) is never concatenated with anything * because of operator precedence.) The operand of some types of node is * a literal string; for others, it is a node leading into a sub-FSM. In * particular, the operand of a BRANCH node is the first node of the branch. * (NB this is *not* a tree structure: the tail of the branch connects * to the thing following the set of BRANCHes.) The opcodes are defined * in regnodes.h which is generated from regcomp.sym by regcomp.pl. */ /* * A node is one char of opcode followed by two chars of "next" pointer. * "Next" pointers are stored as two 8-bit pieces, high order first. The * value is a positive offset from the opcode of the node containing it. * An operand, if any, simply follows the node. (Note that much of the * code generation knows about this implicit relationship.) * * Using two bytes for the "next" pointer is vast overkill for most things, * but allows patterns to get big without disasters. * * [The "next" pointer is always aligned on an even * boundary, and reads the offset directly as a short.] */ /* This is the stuff that used to live in regexp.h that was truly private to the engine itself. It now lives here. */ typedef struct regexp_internal { union { U32 *offsets; /* offset annotations 20001228 MJD data about mapping the program to the string - offsets[0] is proglen when this is used */ U32 proglen; } u; regnode *regstclass; /* Optional startclass as identified or constructed by the optimiser */ struct reg_data *data; /* Additional miscellaneous data used by the program. Used to make it easier to clone and free arbitrary data that the regops need. Often the ARG field of a regop is an index into this structure */ struct reg_code_blocks *code_blocks;/* positions of literal (?{}) */ int name_list_idx; /* Optional data index of an array of paren names */ regnode program[1]; /* Unwarranted chumminess with compiler. */ } regexp_internal; #define RXi_SET(x,y) (x)->pprivate = (void*)(y) #define RXi_GET(x) ((regexp_internal *)((x)->pprivate)) #define RXi_GET_DECL(r,ri) regexp_internal *ri = RXi_GET(r) /* * Flags stored in regexp->intflags * These are used only internally to the regexp engine * * See regexp.h for flags used externally to the regexp engine */ #define RXp_INTFLAGS(rx) ((rx)->intflags) #define RX_INTFLAGS(prog) RXp_INTFLAGS(ReANY(prog)) #define PREGf_SKIP 0x00000001 #define PREGf_IMPLICIT 0x00000002 /* Converted .* to ^.* */ #define PREGf_NAUGHTY 0x00000004 /* how exponential is this pattern? */ #define PREGf_VERBARG_SEEN 0x00000008 #define PREGf_CUTGROUP_SEEN 0x00000010 #define PREGf_USE_RE_EVAL 0x00000020 /* compiled with "use re 'eval'" */ /* these used to be extflags, but are now intflags */ #define PREGf_NOSCAN 0x00000040 /* spare */ #define PREGf_GPOS_SEEN 0x00000100 #define PREGf_GPOS_FLOAT 0x00000200 #define PREGf_ANCH_MBOL 0x00000400 #define PREGf_ANCH_SBOL 0x00000800 #define PREGf_ANCH_GPOS 0x00001000 #define PREGf_RECURSE_SEEN 0x00002000 #define PREGf_ANCH \ ( PREGf_ANCH_SBOL | PREGf_ANCH_GPOS | PREGf_ANCH_MBOL ) /* this is where the old regcomp.h started */ struct regnode_string { U8 str_len; U8 type; U16 next_off; char string[1]; }; struct regnode_lstring { /* Constructed this way to keep the string aligned. */ U8 flags; U8 type; U16 next_off; U32 str_len; /* Only 18 bits allowed before would overflow 'next_off' */ char string[1]; }; struct regnode_anyofhs { /* Constructed this way to keep the string aligned. */ U8 str_len; U8 type; U16 next_off; U32 arg1; /* set by set_ANYOF_arg() */ char string[1]; }; /* Argument bearing node - workhorse, arg1 is often for the data field */ struct regnode_1 { U8 flags; U8 type; U16 next_off; U32 arg1; }; /* Node whose argument is 'SV *'. This needs to be used very carefully in * situations where pointers won't become invalid because of, say re-mallocs */ struct regnode_p { U8 flags; U8 type; U16 next_off; SV * arg1; }; /* Similar to a regnode_1 but with an extra signed argument */ struct regnode_2L { U8 flags; U8 type; U16 next_off; U32 arg1; I32 arg2; }; /* 'Two field' -- Two 16 bit unsigned args */ struct regnode_2 { U8 flags; U8 type; U16 next_off; U16 arg1; U16 arg2; }; #define ANYOF_BITMAP_SIZE (NUM_ANYOF_CODE_POINTS / 8) /* 8 bits/Byte */ /* Note that these form structs which are supersets of the next smaller one, by * appending fields. Alignment problems can occur if one of those optional * fields requires stricter alignment than the base struct. And formal * parameters that can really be two or more of the structs should be * declared as the smallest one it could be. See commit message for * 7dcac5f6a5195002b55c935ee1d67f67e1df280b. Regnode allocation is done * without regard to alignment, and changing it to would also require changing * the code that inserts and deletes regnodes. The basic single-argument * regnode has a U32, which is what reganode() allocates as a unit. Therefore * no field can require stricter alignment than U32. */ /* also used by trie */ struct regnode_charclass { U8 flags; U8 type; U16 next_off; U32 arg1; /* set by set_ANYOF_arg() */ char bitmap[ANYOF_BITMAP_SIZE]; /* only compile-time */ }; /* has runtime (locale) \d, \w, ..., [:posix:] classes */ struct regnode_charclass_posixl { U8 flags; /* ANYOF_MATCHES_POSIXL bit must go here */ U8 type; U16 next_off; U32 arg1; char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time ... */ U32 classflags; /* and run-time */ }; /* A synthetic start class (SSC); is a regnode_charclass_posixl_fold, plus an * extra SV*, used only during its construction and which is not used by * regexec.c. Note that the 'next_off' field is unused, as the SSC stands * alone, so there is never a next node. Also, there is no alignment issue, * because these are declared or allocated as a complete unit so the compiler * takes care of alignment. This is unlike the other regnodes which are * allocated in terms of multiples of a single-argument regnode. SSC nodes can * have a pointer field because there is no alignment issue, and because it is * set to NULL after construction, before any cloning of the pattern */ struct regnode_ssc { U8 flags; /* ANYOF_MATCHES_POSIXL bit must go here */ U8 type; U16 next_off; U32 arg1; char bitmap[ANYOF_BITMAP_SIZE]; /* both compile-time ... */ U32 classflags; /* ... and run-time */ /* Auxiliary, only used during construction; NULL afterwards: list of code * points matched */ SV* invlist; }; /* We take advantage of 'next_off' not otherwise being used in the SSC by * actually using it: by setting it to 1. This allows us to test and * distinguish between an SSC and other ANYOF node types, as 'next_off' cannot * otherwise be 1, because it is the offset to the next regnode expressed in * units of regnodes. Since an ANYOF node contains extra fields, it adds up * to 12 regnode units on 32-bit systems, (hence the minimum this can be (if * not 0) is 11 there. Even if things get tightly packed on a 64-bit system, * it still would be more than 1. */ #define set_ANYOF_SYNTHETIC(n) STMT_START{ OP(n) = ANYOF; \ NEXT_OFF(n) = 1; \ } STMT_END #define is_ANYOF_SYNTHETIC(n) (PL_regkind[OP(n)] == ANYOF && NEXT_OFF(n) == 1) /* XXX fix this description. Impose a limit of REG_INFTY on various pattern matching operations to limit stack growth and to avoid "infinite" recursions. */ /* The default size for REG_INFTY is U16_MAX, which is the same as USHORT_MAX (see perl.h). Unfortunately U16 isn't necessarily 16 bits (see handy.h). On the Cray C90, sizeof(short)==4 and hence U16_MAX is ((1<<32)-1), while on the Cray T90, sizeof(short)==8 and U16_MAX is ((1<<64)-1). To limit stack growth to reasonable sizes, supply a smaller default. --Andy Dougherty 11 June 1998 */ #if SHORTSIZE > 2 # ifndef REG_INFTY # define REG_INFTY ((1<<16)-1) # endif #endif #ifndef REG_INFTY # define REG_INFTY U16_MAX #endif #define ARG_VALUE(arg) (arg) #define ARG__SET(arg,val) ((arg) = (val)) #undef ARG #undef ARG1 #undef ARG2 #define ARG(p) ARG_VALUE(ARG_LOC(p)) #define ARGp(p) ARG_VALUE(ARGp_LOC(p)) #define ARG1(p) ARG_VALUE(ARG1_LOC(p)) #define ARG2(p) ARG_VALUE(ARG2_LOC(p)) #define ARG2L(p) ARG_VALUE(ARG2L_LOC(p)) #define ARG_SET(p, val) ARG__SET(ARG_LOC(p), (val)) #define ARGp_SET(p, val) ARG__SET(ARGp_LOC(p), (val)) #define ARG1_SET(p, val) ARG__SET(ARG1_LOC(p), (val)) #define ARG2_SET(p, val) ARG__SET(ARG2_LOC(p), (val)) #define ARG2L_SET(p, val) ARG__SET(ARG2L_LOC(p), (val)) #undef NEXT_OFF #undef NODE_ALIGN #define NEXT_OFF(p) ((p)->next_off) #define NODE_ALIGN(node) /* the following define was set to 0xde in 075abff3 * as part of some linting logic. I have set it to 0 * as otherwise in every place where we /might/ set flags * we have to set it 0 explicitly, which duplicates * assignments and IMO adds an unacceptable level of * surprise to working in the regex engine. If this * is changed from 0 then at the very least make sure * that SBOL for /^/ sets the flags to 0 explicitly. * -- Yves */ #define NODE_ALIGN_FILL(node) ((node)->flags = 0) #define SIZE_ALIGN NODE_ALIGN #undef OP #undef OPERAND #undef STRING #define OP(p) ((p)->type) #define FLAGS(p) ((p)->flags) /* Caution: Doesn't apply to all \ regnode types. For some, it's the \ character set of the regnode */ #define STR_LENs(p) (__ASSERT_(OP(p) != LEXACT && OP(p) != LEXACT_REQ8) \ ((struct regnode_string *)p)->str_len) #define STRINGs(p) (__ASSERT_(OP(p) != LEXACT && OP(p) != LEXACT_REQ8) \ ((struct regnode_string *)p)->string) #define OPERANDs(p) STRINGs(p) /* Long strings. Currently limited to length 18 bits, which handles a 262000 * byte string. The limiting factor is the 16 bit 'next_off' field, which * points to the next regnode, so the furthest away it can be is 2**16. On * most architectures, regnodes are 2**2 bytes long, so that yields 2**18 * bytes. Should a longer string be desired, we could increase it to 26 bits * fairly easily, by changing this node to have longj type which causes the ARG * field to be used for the link to the next regnode (although code would have * to be changed to account for this), and then use a combination of the flags * and next_off fields for the length. To get 34 bit length, also change the * node to be an ARG2L, using the second 32 bit field for the length, and not * using the flags nor next_off fields at all. One could have an llstring node * and even an lllstring type. */ #define STR_LENl(p) (__ASSERT_(OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ (((struct regnode_lstring *)p)->str_len)) #define STRINGl(p) (__ASSERT_(OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ (((struct regnode_lstring *)p)->string)) #define OPERANDl(p) STRINGl(p) #define STR_LEN(p) ((OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ ? STR_LENl(p) : STR_LENs(p)) #define STRING(p) ((OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ ? STRINGl(p) : STRINGs(p)) #define OPERAND(p) STRING(p) /* The number of (smallest) regnode equivalents that a string of length l bytes * occupies */ #define STR_SZ(l) (((l) + sizeof(regnode) - 1) / sizeof(regnode)) /* The number of (smallest) regnode equivalents that the EXACTISH node 'p' * occupies */ #define NODE_SZ_STR(p) (STR_SZ(STR_LEN(p)) + 1 + regarglen[(p)->type]) #define setSTR_LEN(p,v) \ STMT_START{ \ if (OP(p) == LEXACT || OP(p) == LEXACT_REQ8) \ ((struct regnode_lstring *)(p))->str_len = (v); \ else \ ((struct regnode_string *)(p))->str_len = (v); \ } STMT_END #define ANYOFR_BASE_BITS 20 #define ANYOFRbase(p) (ARG(p) & ((1 << ANYOFR_BASE_BITS) - 1)) #define ANYOFRdelta(p) (ARG(p) >> ANYOFR_BASE_BITS) #undef NODE_ALIGN #undef ARG_LOC #undef NEXTOPER #undef PREVOPER #define NODE_ALIGN(node) #define ARG_LOC(p) (((struct regnode_1 *)p)->arg1) #define ARGp_LOC(p) (((struct regnode_p *)p)->arg1) #define ARG1_LOC(p) (((struct regnode_2 *)p)->arg1) #define ARG2_LOC(p) (((struct regnode_2 *)p)->arg2) #define ARG2L_LOC(p) (((struct regnode_2L *)p)->arg2) #define NODE_STEP_REGNODE 1 /* sizeof(regnode)/sizeof(regnode) */ #define EXTRA_STEP_2ARGS EXTRA_SIZE(struct regnode_2) #define NEXTOPER(p) ((p) + NODE_STEP_REGNODE) #define PREVOPER(p) ((p) - NODE_STEP_REGNODE) #define FILL_NODE(offset, op) \ STMT_START { \ OP(REGNODE_p(offset)) = op; \ NEXT_OFF(REGNODE_p(offset)) = 0; \ } STMT_END #define FILL_ADVANCE_NODE(offset, op) \ STMT_START { \ FILL_NODE(offset, op); \ (offset)++; \ } STMT_END #define FILL_ADVANCE_NODE_ARG(offset, op, arg) \ STMT_START { \ ARG_SET(REGNODE_p(offset), arg); \ FILL_ADVANCE_NODE(offset, op); \ /* This is used generically for other operations \ * that have a longer argument */ \ (offset) += regarglen[op]; \ } STMT_END #define FILL_ADVANCE_NODE_ARGp(offset, op, arg) \ STMT_START { \ ARGp_SET(REGNODE_p(offset), arg); \ FILL_ADVANCE_NODE(offset, op); \ (offset) += regarglen[op]; \ } STMT_END #define FILL_ADVANCE_NODE_2L_ARG(offset, op, arg1, arg2) \ STMT_START { \ ARG_SET(REGNODE_p(offset), arg1); \ ARG2L_SET(REGNODE_p(offset), arg2); \ FILL_ADVANCE_NODE(offset, op); \ (offset) += 2; \ } STMT_END #define REG_MAGIC 0234 /* An ANYOF node is basically a bitmap with the index being a code point. If * the bit for that code point is 1, the code point matches; if 0, it doesn't * match (complemented if inverted). There is an additional mechanism to deal * with cases where the bitmap is insufficient in and of itself. This #define * indicates if the bitmap does fully represent what this ANYOF node can match. * The ARG is set to this special value (since 0, 1, ... are legal, but will * never reach this high). */ #define ANYOF_ONLY_HAS_BITMAP ((U32) -1) /* When the bitmap isn't completely sufficient for handling the ANYOF node, * flags (in node->flags of the ANYOF node) get set to indicate this. These * are perennially in short supply. Beyond several cases where warnings need * to be raised under certain circumstances, currently, there are six cases * where the bitmap alone isn't sufficient. We could use six flags to * represent the 6 cases, but to save flags bits, we play some games. The * cases are: * * 1) The bitmap has a compiled-in very finite size. So something else needs * to be used to specify if a code point that is too large for the bitmap * actually matches. The mechanism currently is an inversion * list. ANYOF_ONLY_HAS_BITMAP, described above, being TRUE indicates * there are no matches of too-large code points. But if it is FALSE, * then almost certainly there are matches too large for the bitmap. (The * other cases, described below, either imply this one or are extremely * rare in practice.) So we can just assume that a too-large code point * will need something beyond the bitmap if ANYOF_ONLY_HAS_BITMAP is * FALSE, instead of having a separate flag for this. * 2) A subset of item 1) is if all possible code points outside the bitmap * match. This is a common occurrence when the class is complemented, * like /[^ij]/. Therefore a bit is reserved to indicate this, * rather than having an inversion list created, * ANYOF_MATCHES_ALL_ABOVE_BITMAP. * 3) Under /d rules, it can happen that code points that are in the upper * latin1 range (\x80-\xFF or their equivalents on EBCDIC platforms) match * only if the runtime target string being matched against is UTF-8. For * example /[\w[:punct:]]/d. This happens only for posix classes (with a * couple of exceptions, like \d where it doesn't happen), and all such * ones also have above-bitmap matches. Thus, 3) implies 1) as well. * Note that /d rules are no longer encouraged; 'use 5.14' or higher * deselects them. But a flag is required so that they can be properly * handled. But it can be a shared flag: see 5) below. * 4) Also under /d rules, something like /[\Wfoo]/ will match everything in * the \x80-\xFF range, unless the string being matched against is UTF-8. * An inversion list could be created for this case, but this is * relatively common, and it turns out that it's all or nothing: if any * one of these code points matches, they all do. Hence a single bit * suffices. We use a shared flag that doesn't take up space by itself: * ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER. This * also implies 1), with one exception: [:^cntrl:]. * 5) A user-defined \p{} property may not have been defined by the time the * regex is compiled. In this case, we don't know until runtime what it * will match, so we have to assume it could match anything, including * code points that ordinarily would be in the bitmap. A flag bit is * necessary to indicate this , though it can be shared with the item 3) * flag, as that only occurs under /d, and this only occurs under non-d. * This case is quite uncommon in the field, and the /(?[ ...])/ construct * is a better way to accomplish what this feature does. This case also * implies 1). * ANYOF_SHARED_d_UPPER_LATIN1_UTF8_STRING_MATCHES_non_d_RUNTIME_USER_PROP * is the shared flag. * 6) /[foo]/il may have folds that are only valid if the runtime locale is a * UTF-8 one. These are quite rare, so it would be good to avoid the * expense of looking for them. But /l matching is slow anyway, and we've * traditionally not worried too much about its performance. And this * condition requires the ANYOFL_FOLD flag to be set, so testing for * that flag would be sufficient to rule out most cases of this. So it is * unclear if this should have a flag or not. But, this flag can be * shared with another, so it doesn't occupy extra space. * * At the moment, there is one spare bit, but this could be increased by * various tricks: * * If just one more bit is needed, as of this writing it seems to khw that the * best choice would be to make ANYOF_MATCHES_ALL_ABOVE_BITMAP not a flag, but * something like * * #define ANYOF_MATCHES_ALL_ABOVE_BITMAP ((U32) -2) * * and access it through the ARG like ANYOF_ONLY_HAS_BITMAP is. This flag is * used by all ANYOF node types, and it could be used to avoid calling the * handler function, as the macro REGINCLASS in regexec.c does now for other * cases. * * Another possibility is based on the fact that ANYOF_MATCHES_POSIXL is * redundant with the node type ANYOFPOSIXL. That flag could be removed, but * at the expense of extra code in regexec.c. The flag has been retained * because it allows us to see if we need to call reginsert, or just use the * bitmap in one test. * * If this is done, an extension would be to make all ANYOFL nodes contain the * extra 32 bits that ANYOFPOSIXL ones do. The posix flags only occupy 30 * bits, so the ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD flags * and ANYOFL_FOLD could be moved to that extra space, but it would mean extra * instructions, as there are currently places in the code that assume those * two bits are zero. * * All told, 5 bits could be available for other uses if all of the above were * done. * * Some flags are not used in synthetic start class (SSC) nodes, so could be * shared should new flags be needed for SSCs, like SSC_MATCHES_EMPTY_STRING * now. */ /* If this is set, the result of the match should be complemented. regexec.c * is expecting this to be in the low bit. Never in an SSC */ #define ANYOF_INVERT 0x01 /* For the SSC node only, which cannot be inverted, so is shared with that bit. * This is used only during regex compilation. */ #define SSC_MATCHES_EMPTY_STRING ANYOF_INVERT /* Set if this is a regnode_charclass_posixl vs a regnode_charclass. This * is used for runtime \d, \w, [:posix:], ..., which are used only in locale * and the optimizer's synthetic start class. Non-locale \d, etc are resolved * at compile-time. Only set under /l; can be in SSC */ #define ANYOF_MATCHES_POSIXL 0x02 /* The fold is calculated and stored in the bitmap where possible at compile * time. However under locale, the actual folding varies depending on * what the locale is at the time of execution, so it has to be deferred until * then. Only set under /l; never in an SSC */ #define ANYOFL_FOLD 0x04 /* Shared bit set only with ANYOFL and SSC nodes: * If ANYOFL_FOLD is set, this flag indicates there are potential matches * valid only if the locale is a UTF-8 one. * If ANYOFL_FOLD is NOT set, this flag means to warn if the runtime locale * isn't a UTF-8 one (and the generated node assumes a UTF-8 locale). * None of INVERT, POSIXL, * ANYOF_SHARED_d_UPPER_LATIN1_UTF8_STRING_MATCHES_non_d_RUNTIME_USER_PROP * can be set. */ #define ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD 0x08 /* Convenience macros for teasing apart the meanings when reading the above bit * */ #define ANYOFL_SOME_FOLDS_ONLY_IN_UTF8_LOCALE(flags) \ ((flags & ( ANYOFL_FOLD /* Both bits are set */ \ |ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD)) \ == ( ANYOFL_FOLD \ |ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD)) #define ANYOFL_UTF8_LOCALE_REQD(flags) \ ((flags & ( ANYOFL_FOLD /* Only REQD bit is set */ \ |ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD)) \ == ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD) /* Spare: Be sure to change ANYOF_FLAGS_ALL if this gets used 0x10 */ /* If set, the node matches every code point NUM_ANYOF_CODE_POINTS and above. * Can be in an SSC */ #define ANYOF_MATCHES_ALL_ABOVE_BITMAP 0x20 /* Shared bit: * Under /d it means the ANYOFD node matches more things if the target * string is encoded in UTF-8; any such things will be non-ASCII, * characters that are < 256, and can be accessed via the inversion * list. * When not under /d, it means the ANYOF node contains a user-defined * property that wasn't yet defined at the time the regex was compiled, * and so must be looked up at runtime, by creating an inversion list. * (These uses are mutually exclusive because a user-defined property is * specified by \p{}, and \p{} implies /u which deselects /d). The long macro * name is to make sure that you are cautioned about its shared nature. Only * the non-/d meaning can be in an SSC */ #define ANYOF_SHARED_d_UPPER_LATIN1_UTF8_STRING_MATCHES_non_d_RUNTIME_USER_PROP 0x40 /* Shared bit: * Under /d it means the ANYOFD node matches all non-ASCII Latin1 * characters when the target string is not in utf8. * When not under /d, it means the ANYOF node should raise a warning if * matching against an above-Unicode code point. * (These uses are mutually exclusive because the warning requires a \p{}, and * \p{} implies /u which deselects /d). An SSC node only has this bit set if * what is meant is the warning. The long macro name is to make sure that you * are cautioned about its shared nature */ #define ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER 0x80 #define ANYOF_FLAGS_ALL (0xff & ~0x10) #define ANYOF_LOCALE_FLAGS (ANYOFL_FOLD | ANYOF_MATCHES_POSIXL) /* These are the flags that apply to both regular ANYOF nodes and synthetic * start class nodes during construction of the SSC. During finalization of * the SSC, other of the flags may get added to it */ #define ANYOF_COMMON_FLAGS 0 /* Character classes for node->classflags of ANYOF */ /* Should be synchronized with a table in regprop() */ /* 2n should be the normal one, paired with its complement at 2n+1 */ #define ANYOF_ALPHA ((_CC_ALPHA) * 2) #define ANYOF_NALPHA ((ANYOF_ALPHA) + 1) #define ANYOF_ALPHANUMERIC ((_CC_ALPHANUMERIC) * 2) /* [[:alnum:]] isalnum(3), utf8::IsAlnum */ #define ANYOF_NALPHANUMERIC ((ANYOF_ALPHANUMERIC) + 1) #define ANYOF_ASCII ((_CC_ASCII) * 2) #define ANYOF_NASCII ((ANYOF_ASCII) + 1) #define ANYOF_BLANK ((_CC_BLANK) * 2) /* GNU extension: space and tab: non-vertical space */ #define ANYOF_NBLANK ((ANYOF_BLANK) + 1) #define ANYOF_CASED ((_CC_CASED) * 2) /* Pseudo class for [:lower:] or [:upper:] under /i */ #define ANYOF_NCASED ((ANYOF_CASED) + 1) #define ANYOF_CNTRL ((_CC_CNTRL) * 2) #define ANYOF_NCNTRL ((ANYOF_CNTRL) + 1) #define ANYOF_DIGIT ((_CC_DIGIT) * 2) /* \d */ #define ANYOF_NDIGIT ((ANYOF_DIGIT) + 1) #define ANYOF_GRAPH ((_CC_GRAPH) * 2) #define ANYOF_NGRAPH ((ANYOF_GRAPH) + 1) #define ANYOF_LOWER ((_CC_LOWER) * 2) #define ANYOF_NLOWER ((ANYOF_LOWER) + 1) #define ANYOF_PRINT ((_CC_PRINT) * 2) #define ANYOF_NPRINT ((ANYOF_PRINT) + 1) #define ANYOF_PUNCT ((_CC_PUNCT) * 2) #define ANYOF_NPUNCT ((ANYOF_PUNCT) + 1) #define ANYOF_SPACE ((_CC_SPACE) * 2) /* \s */ #define ANYOF_NSPACE ((ANYOF_SPACE) + 1) #define ANYOF_UPPER ((_CC_UPPER) * 2) #define ANYOF_NUPPER ((ANYOF_UPPER) + 1) #define ANYOF_WORDCHAR ((_CC_WORDCHAR) * 2) /* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */ #define ANYOF_NWORDCHAR ((ANYOF_WORDCHAR) + 1) #define ANYOF_XDIGIT ((_CC_XDIGIT) * 2) #define ANYOF_NXDIGIT ((ANYOF_XDIGIT) + 1) /* pseudo classes below this, not stored in the class bitmap, but used as flags during compilation of char classes */ #define ANYOF_VERTWS ((_CC_VERTSPACE) * 2) #define ANYOF_NVERTWS ((ANYOF_VERTWS)+1) /* It is best if this is the last one, as all above it are stored as bits in a * bitmap, and it isn't part of that bitmap */ #if _CC_VERTSPACE != _HIGHEST_REGCOMP_DOT_H_SYNC # error Problem with handy.h _HIGHEST_REGCOMP_DOT_H_SYNC #define #endif #define ANYOF_POSIXL_MAX (ANYOF_VERTWS) /* So upper loop limit is written: * '< ANYOF_MAX' * Hence doesn't include VERTWS, as that * is a pseudo class */ #define ANYOF_MAX ANYOF_POSIXL_MAX #if (ANYOF_POSIXL_MAX > 32) /* Must fit in 32-bit word */ # error Problem with handy.h _CC_foo #defines #endif #define ANYOF_HORIZWS ((ANYOF_POSIXL_MAX)+2) /* = (ANYOF_NVERTWS + 1) */ #define ANYOF_NHORIZWS ((ANYOF_POSIXL_MAX)+3) #define ANYOF_UNIPROP ((ANYOF_POSIXL_MAX)+4) /* Used to indicate a Unicode property: \p{} or \P{} */ /* Backward source code compatibility. */ #define ANYOF_ALNUML ANYOF_ALNUM #define ANYOF_NALNUML ANYOF_NALNUM #define ANYOF_SPACEL ANYOF_SPACE #define ANYOF_NSPACEL ANYOF_NSPACE #define ANYOF_ALNUM ANYOF_WORDCHAR #define ANYOF_NALNUM ANYOF_NWORDCHAR /* Utility macros for the bitmap and classes of ANYOF */ #define ANYOF_FLAGS(p) ((p)->flags) #define ANYOF_BIT(c) (1U << ((c) & 7)) #define POSIXL_SET(field, c) ((field) |= (1U << (c))) #define ANYOF_POSIXL_SET(p, c) POSIXL_SET(((regnode_charclass_posixl*) (p))->classflags, (c)) #define POSIXL_CLEAR(field, c) ((field) &= ~ (1U <<(c))) #define ANYOF_POSIXL_CLEAR(p, c) POSIXL_CLEAR(((regnode_charclass_posixl*) (p))->classflags, (c)) #define POSIXL_TEST(field, c) ((field) & (1U << (c))) #define ANYOF_POSIXL_TEST(p, c) POSIXL_TEST(((regnode_charclass_posixl*) (p))->classflags, (c)) #define POSIXL_ZERO(field) STMT_START { (field) = 0; } STMT_END #define ANYOF_POSIXL_ZERO(ret) POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags) #define ANYOF_POSIXL_SET_TO_BITMAP(p, bits) \ STMT_START { \ ((regnode_charclass_posixl*) (p))->classflags = (bits); \ } STMT_END /* Shifts a bit to get, eg. 0x4000_0000, then subtracts 1 to get 0x3FFF_FFFF */ #define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END #define ANYOF_CLASS_SETALL(ret) ANYOF_POSIXL_SETALL(ret) #define ANYOF_POSIXL_TEST_ANY_SET(p) \ ((ANYOF_FLAGS(p) & ANYOF_MATCHES_POSIXL) \ && (((regnode_charclass_posixl*)(p))->classflags)) #define ANYOF_CLASS_TEST_ANY_SET(p) ANYOF_POSIXL_TEST_ANY_SET(p) /* Since an SSC always has this field, we don't have to test for that; nor do * we want to because the bit isn't set for SSC during its construction */ #define ANYOF_POSIXL_SSC_TEST_ANY_SET(p) \ cBOOL(((regnode_ssc*)(p))->classflags) #define ANYOF_POSIXL_SSC_TEST_ALL_SET(p) /* Are all bits set? */ \ (((regnode_ssc*) (p))->classflags \ == ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1) #define ANYOF_POSIXL_TEST_ALL_SET(p) \ ((ANYOF_FLAGS(p) & ANYOF_MATCHES_POSIXL) \ && ((regnode_charclass_posixl*) (p))->classflags \ == ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1) #define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END #define ANYOF_CLASS_OR(source, dest) ANYOF_POSIXL_OR((source), (dest)) #define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END #define ANYOF_BITMAP_ZERO(ret) Zero(((regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char) #define ANYOF_BITMAP(p) ((regnode_charclass*)(p))->bitmap #define ANYOF_BITMAP_BYTE(p, c) BITMAP_BYTE(ANYOF_BITMAP(p), c) #define ANYOF_BITMAP_SET(p, c) (ANYOF_BITMAP_BYTE(p, c) |= ANYOF_BIT(c)) #define ANYOF_BITMAP_CLEAR(p,c) (ANYOF_BITMAP_BYTE(p, c) &= ~ANYOF_BIT(c)) #define ANYOF_BITMAP_TEST(p, c) cBOOL(ANYOF_BITMAP_BYTE(p, c) & ANYOF_BIT(c)) #define ANYOF_BITMAP_SETALL(p) \ memset (ANYOF_BITMAP(p), 255, ANYOF_BITMAP_SIZE) #define ANYOF_BITMAP_CLEARALL(p) \ Zero (ANYOF_BITMAP(p), ANYOF_BITMAP_SIZE) /* * Utility definitions. */ #ifndef CHARMASK # define UCHARAT(p) ((int)*(const U8*)(p)) #else # define UCHARAT(p) ((int)*(p)&CHARMASK) #endif /* Number of regnode equivalents that 'guy' occupies beyond the size of the * smallest regnode. */ #define EXTRA_SIZE(guy) ((sizeof(guy)-1)/sizeof(struct regnode)) #define REG_ZERO_LEN_SEEN 0x00000001 #define REG_LOOKBEHIND_SEEN 0x00000002 #define REG_GPOS_SEEN 0x00000004 /* spare */ #define REG_RECURSE_SEEN 0x00000020 #define REG_TOP_LEVEL_BRANCHES_SEEN 0x00000040 #define REG_VERBARG_SEEN 0x00000080 #define REG_CUTGROUP_SEEN 0x00000100 #define REG_RUN_ON_COMMENT_SEEN 0x00000200 #define REG_UNFOLDED_MULTI_SEEN 0x00000400 /* spare */ #define REG_UNBOUNDED_QUANTIFIER_SEEN 0x00001000 START_EXTERN_C #ifdef PLUGGABLE_RE_EXTENSION #include "re_nodes.h" #else #include "regnodes.h" #endif #ifndef PLUGGABLE_RE_EXTENSION #ifndef DOINIT EXTCONST regexp_engine PL_core_reg_engine; #else /* DOINIT */ EXTCONST regexp_engine PL_core_reg_engine = { Perl_re_compile, Perl_regexec_flags, Perl_re_intuit_start, Perl_re_intuit_string, Perl_regfree_internal, Perl_reg_numbered_buff_fetch, Perl_reg_numbered_buff_store, Perl_reg_numbered_buff_length, Perl_reg_named_buff, Perl_reg_named_buff_iter, Perl_reg_qr_package, #if defined(USE_ITHREADS) Perl_regdupe_internal, #endif Perl_re_op_compile }; #endif /* DOINIT */ #endif /* PLUGGABLE_RE_EXTENSION */ END_EXTERN_C /* .what is a character array with one character for each member of .data * The character describes the function of the corresponding .data item: * a - AV for paren_name_list under DEBUGGING * f - start-class data for regstclass optimization * l - start op for literal (?{EVAL}) item * L - start op for literal (?{EVAL}) item, with separate CV (qr//) * r - pointer to an embedded code-containing qr, e.g. /ab$qr/ * s - inversion list for Unicode-style character class, and the * multicharacter strings resulting from casefolding the single-character * entries in the character class * t - trie struct * u - trie struct's widecharmap (a HV, so can't share, must dup) * also used for revcharmap and words under DEBUGGING * T - aho-trie struct * S - sv for named capture lookup * 20010712 mjd@plover.com * (Remember to update re_dup() and pregfree() if you add any items.) */ struct reg_data { U32 count; U8 *what; void* data[1]; }; /* Code in S_to_utf8_substr() and S_to_byte_substr() in regexec.c accesses anchored* and float* via array indexes 0 and 1. */ #define anchored_substr substrs->data[0].substr #define anchored_utf8 substrs->data[0].utf8_substr #define anchored_offset substrs->data[0].min_offset #define anchored_end_shift substrs->data[0].end_shift #define float_substr substrs->data[1].substr #define float_utf8 substrs->data[1].utf8_substr #define float_min_offset substrs->data[1].min_offset #define float_max_offset substrs->data[1].max_offset #define float_end_shift substrs->data[1].end_shift #define check_substr substrs->data[2].substr #define check_utf8 substrs->data[2].utf8_substr #define check_offset_min substrs->data[2].min_offset #define check_offset_max substrs->data[2].max_offset #define check_end_shift substrs->data[2].end_shift #define RX_ANCHORED_SUBSTR(rx) (ReANY(rx)->anchored_substr) #define RX_ANCHORED_UTF8(rx) (ReANY(rx)->anchored_utf8) #define RX_FLOAT_SUBSTR(rx) (ReANY(rx)->float_substr) #define RX_FLOAT_UTF8(rx) (ReANY(rx)->float_utf8) /* trie related stuff */ /* a transition record for the state machine. the check field determines which state "owns" the transition. the char the transition is for is determined by offset from the owning states base field. the next field determines which state is to be transitioned to if any. */ struct _reg_trie_trans { U32 next; U32 check; }; /* a transition list element for the list based representation */ struct _reg_trie_trans_list_elem { U16 forid; U32 newstate; }; typedef struct _reg_trie_trans_list_elem reg_trie_trans_le; /* a state for compressed nodes. base is an offset into an array of reg_trie_trans array. If wordnum is nonzero the state is accepting. if base is zero then the state has no children (and will be accepting) */ struct _reg_trie_state { U16 wordnum; union { U32 base; reg_trie_trans_le* list; } trans; }; /* info per word; indexed by wordnum */ typedef struct { U16 prev; /* previous word in acceptance chain; eg in * zzz|abc|ab/ after matching the chars abc, the * accepted word is #2, and the previous accepted * word is #3 */ U32 len; /* how many chars long is this word? */ U32 accept; /* accept state for this word */ } reg_trie_wordinfo; typedef struct _reg_trie_state reg_trie_state; typedef struct _reg_trie_trans reg_trie_trans; /* anything in here that needs to be freed later should be dealt with in pregfree. refcount is first in both this and _reg_ac_data to allow a space optimisation in Perl_regdupe. */ struct _reg_trie_data { U32 refcount; /* number of times this trie is referenced */ U32 lasttrans; /* last valid transition element */ U16 *charmap; /* byte to charid lookup array */ reg_trie_state *states; /* state data */ reg_trie_trans *trans; /* array of transition elements */ char *bitmap; /* stclass bitmap */ U16 *jump; /* optional 1 indexed array of offsets before tail for the node following a given word. */ reg_trie_wordinfo *wordinfo; /* array of info per word */ U16 uniquecharcount; /* unique chars in trie (width of trans table) */ U32 startstate; /* initial state - used for common prefix optimisation */ STRLEN minlen; /* minimum length of words in trie - build/opt only? */ STRLEN maxlen; /* maximum length of words in trie - build/opt only? */ U32 prefixlen; /* #chars in common prefix */ U32 statecount; /* Build only - number of states in the states array (including the unused zero state) */ U32 wordcount; /* Build only */ #ifdef DEBUGGING STRLEN charcount; /* Build only */ #endif }; /* There is one (3 under DEBUGGING) pointers that logically belong in this structure, but are held outside as they need duplication on thread cloning, whereas the rest of the structure can be read only: HV *widecharmap; code points > 255 to charid #ifdef DEBUGGING AV *words; Array of words contained in trie, for dumping AV *revcharmap; Map of each charid back to its character representation #endif */ #define TRIE_WORDS_OFFSET 2 typedef struct _reg_trie_data reg_trie_data; /* refcount is first in both this and _reg_trie_data to allow a space optimisation in Perl_regdupe. */ struct _reg_ac_data { U32 refcount; U32 trie; U32 *fail; reg_trie_state *states; }; typedef struct _reg_ac_data reg_ac_data; /* ANY_BIT doesn't use the structure, so we can borrow it here. This is simpler than refactoring all of it as wed end up with three different sets... */ #define TRIE_BITMAP(p) (((reg_trie_data *)(p))->bitmap) #define TRIE_BITMAP_BYTE(p, c) BITMAP_BYTE(TRIE_BITMAP(p), c) #define TRIE_BITMAP_SET(p, c) (TRIE_BITMAP_BYTE(p, c) |= ANYOF_BIT((U8)c)) #define TRIE_BITMAP_CLEAR(p,c) (TRIE_BITMAP_BYTE(p, c) &= ~ANYOF_BIT((U8)c)) #define TRIE_BITMAP_TEST(p, c) (TRIE_BITMAP_BYTE(p, c) & ANYOF_BIT((U8)c)) #define IS_ANYOF_TRIE(op) ((op)==TRIEC || (op)==AHOCORASICKC) #define IS_TRIE_AC(op) ((op)>=AHOCORASICK) #define BITMAP_BYTE(p, c) (( (U8*) p) [ ( ( (UV) (c)) >> 3) ] ) #define BITMAP_TEST(p, c) (BITMAP_BYTE(p, c) & ANYOF_BIT((U8)c)) /* these defines assume uniquecharcount is the correct variable, and state may be evaluated twice */ #define TRIE_NODENUM(state) (((state)-1)/(trie->uniquecharcount)+1) #define SAFE_TRIE_NODENUM(state) ((state) ? (((state)-1)/(trie->uniquecharcount)+1) : (state)) #define TRIE_NODEIDX(state) ((state) ? (((state)-1)*(trie->uniquecharcount)+1) : (state)) #ifdef DEBUGGING #define TRIE_CHARCOUNT(trie) ((trie)->charcount) #else #define TRIE_CHARCOUNT(trie) (trie_charcount) #endif #define RE_TRIE_MAXBUF_INIT 65536 #define RE_TRIE_MAXBUF_NAME "\022E_TRIE_MAXBUF" #define RE_DEBUG_FLAGS "\022E_DEBUG_FLAGS" #define RE_COMPILE_RECURSION_INIT 1000 #define RE_COMPILE_RECURSION_LIMIT "\022E_COMPILE_RECURSION_LIMIT" /* RE_DEBUG_FLAGS is used to control what debug output is emitted its divided into three groups of options, some of which interact. The three groups are: Compile, Execute, Extra. There is room for a further group, as currently only the low three bytes are used. Compile Options: PARSE PEEP TRIE PROGRAM OFFSETS Execute Options: INTUIT MATCH TRIE Extra Options TRIE OFFSETS If you modify any of these make sure you make corresponding changes to re.pm, especially to the documentation. */ /* Compile */ #define RE_DEBUG_COMPILE_MASK 0x0000FF #define RE_DEBUG_COMPILE_PARSE 0x000001 #define RE_DEBUG_COMPILE_OPTIMISE 0x000002 #define RE_DEBUG_COMPILE_TRIE 0x000004 #define RE_DEBUG_COMPILE_DUMP 0x000008 #define RE_DEBUG_COMPILE_FLAGS 0x000010 #define RE_DEBUG_COMPILE_TEST 0x000020 /* Execute */ #define RE_DEBUG_EXECUTE_MASK 0x00FF00 #define RE_DEBUG_EXECUTE_INTUIT 0x000100 #define RE_DEBUG_EXECUTE_MATCH 0x000200 #define RE_DEBUG_EXECUTE_TRIE 0x000400 /* Extra */ #define RE_DEBUG_EXTRA_MASK 0x3FF0000 #define RE_DEBUG_EXTRA_TRIE 0x0010000 #define RE_DEBUG_EXTRA_OFFSETS 0x0020000 #define RE_DEBUG_EXTRA_OFFDEBUG 0x0040000 #define RE_DEBUG_EXTRA_STATE 0x0080000 #define RE_DEBUG_EXTRA_OPTIMISE 0x0100000 #define RE_DEBUG_EXTRA_BUFFERS 0x0400000 #define RE_DEBUG_EXTRA_GPOS 0x0800000 #define RE_DEBUG_EXTRA_DUMP_PRE_OPTIMIZE 0x1000000 #define RE_DEBUG_EXTRA_WILDCARD 0x2000000 /* combined */ #define RE_DEBUG_EXTRA_STACK 0x0280000 #define RE_DEBUG_FLAG(x) (re_debug_flags & (x)) /* Compile */ #define DEBUG_COMPILE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_MASK)) x ) #define DEBUG_PARSE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_PARSE)) x ) #define DEBUG_OPTIMISE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_OPTIMISE)) x ) #define DEBUG_DUMP_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_DUMP)) x ) #define DEBUG_TRIE_COMPILE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TRIE)) x ) #define DEBUG_FLAGS_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_FLAGS)) x ) #define DEBUG_TEST_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TEST)) x ) /* Execute */ #define DEBUG_EXECUTE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_MASK)) x ) #define DEBUG_INTUIT_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_INTUIT)) x ) #define DEBUG_MATCH_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_MATCH)) x ) #define DEBUG_TRIE_EXECUTE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXECUTE_TRIE)) x ) /* Extra */ #define DEBUG_EXTRA_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_MASK)) x ) #define DEBUG_OFFSETS_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OFFSETS)) x ) #define DEBUG_STATE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_STATE)) x ) #define DEBUG_STACK_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_STACK)) x ) #define DEBUG_BUFFERS_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_BUFFERS)) x ) #define DEBUG_OPTIMISE_MORE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || ((RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE) == \ RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OPTIMISE|RE_DEBUG_COMPILE_OPTIMISE))) x ) #define MJD_OFFSET_DEBUG(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_OFFDEBUG)) \ Perl_warn_nocontext x ) #define DEBUG_TRIE_COMPILE_MORE_r(x) DEBUG_TRIE_COMPILE_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_TRIE)) x ) #define DEBUG_TRIE_EXECUTE_MORE_r(x) DEBUG_TRIE_EXECUTE_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_TRIE)) x ) #define DEBUG_TRIE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_COMPILE_TRIE \ | RE_DEBUG_EXECUTE_TRIE )) x ) #define DEBUG_GPOS_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_GPOS)) x ) #define DEBUG_DUMP_PRE_OPTIMIZE_r(x) DEBUG_r( \ if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_DUMP_PRE_OPTIMIZE)) x ) /* initialization */ /* Get the debug flags for code not in regcomp.c nor regexec.c. This doesn't * initialize the variable if it isn't already there, instead it just assumes * the flags are 0 */ #define DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX \ volatile IV re_debug_flags = 0; PERL_UNUSED_VAR(re_debug_flags); \ STMT_START { \ SV * re_debug_flags_sv = NULL; \ /* get_sv() can return NULL during global destruction. */ \ re_debug_flags_sv = PL_curcop ? get_sv(RE_DEBUG_FLAGS, GV_ADD) : NULL; \ if (re_debug_flags_sv && SvIOK(re_debug_flags_sv)) \ re_debug_flags=SvIV(re_debug_flags_sv); \ } STMT_END #ifdef DEBUGGING /* For use in regcomp.c and regexec.c, Get the debug flags, and initialize to * the defaults if not done already */ #define DECLARE_AND_GET_RE_DEBUG_FLAGS \ volatile IV re_debug_flags = 0; PERL_UNUSED_VAR(re_debug_flags); \ STMT_START { \ SV * re_debug_flags_sv = NULL; \ /* get_sv() can return NULL during global destruction. */ \ re_debug_flags_sv = PL_curcop ? get_sv(RE_DEBUG_FLAGS, GV_ADD) : NULL; \ if (re_debug_flags_sv) { \ if (!SvIOK(re_debug_flags_sv)) /* If doesnt exist set to default */\ sv_setuv(re_debug_flags_sv, \ /* These defaults should be kept in sync with re.pm */ \ RE_DEBUG_COMPILE_DUMP | RE_DEBUG_EXECUTE_MASK ); \ re_debug_flags=SvIV(re_debug_flags_sv); \ } \ } STMT_END #define isDEBUG_WILDCARD (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_WILDCARD)) #define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \ const char * const rpv = \ pv_pretty((dsv), (pv), (l), (m), \ PL_colors[(c1)],PL_colors[(c2)], \ PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) ); \ const int rlen = SvCUR(dsv) /* This is currently unsed in the core */ #define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m) \ const char * const rpv = \ pv_pretty((dsv), (SvPV_nolen_const(sv)), (SvCUR(sv)), (m), \ PL_colors[(c1)],PL_colors[(c2)], \ PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) ) #define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) \ const char * const rpv = \ pv_pretty((dsv), (pv), (l), (m), \ PL_colors[0], PL_colors[1], \ ( PERL_PV_PRETTY_QUOTE | PERL_PV_ESCAPE_RE | PERL_PV_ESCAPE_NONASCII | PERL_PV_PRETTY_ELLIPSES | \ ((isuni) ? PERL_PV_ESCAPE_UNI : 0)) \ ) #define RE_SV_DUMPLEN(ItEm) (SvCUR(ItEm) - (SvTAIL(ItEm)!=0)) #define RE_SV_TAIL(ItEm) (SvTAIL(ItEm) ? "$" : "") #else /* if not DEBUGGING */ #define DECLARE_AND_GET_RE_DEBUG_FLAGS dNOOP #define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) dNOOP #define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m) #define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m) dNOOP #define RE_SV_DUMPLEN(ItEm) #define RE_SV_TAIL(ItEm) #define isDEBUG_WILDCARD 0 #endif /* DEBUG RELATED DEFINES */ #define FIRST_NON_ASCII_DECIMAL_DIGIT 0x660 /* ARABIC_INDIC_DIGIT_ZERO */ typedef enum { TRADITIONAL_BOUND = _CC_WORDCHAR, GCB_BOUND, LB_BOUND, SB_BOUND, WB_BOUND } bound_type; /* This unpacks the FLAGS field of ANYOF[HR]x nodes. The value it contains * gives the strict lower bound for the UTF-8 start byte of any code point * matchable by the node, and a loose upper bound as well. * * The low bound is stored in the upper 6 bits, plus 0xC0. * The loose upper bound is determined from the lowest 2 bits and the low bound * (called x) as follows: * * 11 The upper limit of the range can be as much as (EF - x) / 8 * 10 The upper limit of the range can be as much as (EF - x) / 4 * 01 The upper limit of the range can be as much as (EF - x) / 2 * 00 The upper limit of the range can be as much as EF * * For motivation of this design, see commit message in * 3146c00a633e9cbed741e10146662fbcedfdb8d3 */ #ifdef EBCDIC # define MAX_ANYOF_HRx_BYTE 0xF4 #else # define MAX_ANYOF_HRx_BYTE 0xEF #endif #define LOWEST_ANYOF_HRx_BYTE(b) (((b) >> 2) + 0xC0) #define HIGHEST_ANYOF_HRx_BYTE(b) \ (LOWEST_ANYOF_HRx_BYTE(b) \ + ((MAX_ANYOF_HRx_BYTE - LOWEST_ANYOF_HRx_BYTE(b)) >> ((b) & 3))) #endif /* PERL_REGCOMP_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ warnings.h 0000644 00000026310 15140731057 0006552 0 ustar 00 /* -*- buffer-read-only: t -*- !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file is built by regen/warnings.pl. Any changes made here will be lost! */ #define Off(x) ((x) / 8) #define Bit(x) (1 << ((x) % 8)) #define IsSet(a, x) ((a)[Off(x)] & Bit(x)) #define G_WARN_OFF 0 /* $^W == 0 */ #define G_WARN_ON 1 /* -w flag and $^W != 0 */ #define G_WARN_ALL_ON 2 /* -W flag */ #define G_WARN_ALL_OFF 4 /* -X flag */ #define G_WARN_ONCE 8 /* set if 'once' ever enabled */ #define G_WARN_ALL_MASK (G_WARN_ALL_ON|G_WARN_ALL_OFF) #define pWARN_STD NULL #define pWARN_ALL (STRLEN *) &PL_WARN_ALL /* use warnings 'all' */ #define pWARN_NONE (STRLEN *) &PL_WARN_NONE /* no warnings 'all' */ #define specialWARN(x) ((x) == pWARN_STD || (x) == pWARN_ALL || \ (x) == pWARN_NONE) /* if PL_warnhook is set to this value, then warnings die */ #define PERL_WARNHOOK_FATAL (&PL_sv_placeholder) /* Warnings Categories added in Perl 5.008 */ #define WARN_ALL 0 #define WARN_CLOSURE 1 #define WARN_DEPRECATED 2 #define WARN_EXITING 3 #define WARN_GLOB 4 #define WARN_IO 5 #define WARN_CLOSED 6 #define WARN_EXEC 7 #define WARN_LAYER 8 #define WARN_NEWLINE 9 #define WARN_PIPE 10 #define WARN_UNOPENED 11 #define WARN_MISC 12 #define WARN_NUMERIC 13 #define WARN_ONCE 14 #define WARN_OVERFLOW 15 #define WARN_PACK 16 #define WARN_PORTABLE 17 #define WARN_RECURSION 18 #define WARN_REDEFINE 19 #define WARN_REGEXP 20 #define WARN_SEVERE 21 #define WARN_DEBUGGING 22 #define WARN_INPLACE 23 #define WARN_INTERNAL 24 #define WARN_MALLOC 25 #define WARN_SIGNAL 26 #define WARN_SUBSTR 27 #define WARN_SYNTAX 28 #define WARN_AMBIGUOUS 29 #define WARN_BAREWORD 30 #define WARN_DIGIT 31 #define WARN_PARENTHESIS 32 #define WARN_PRECEDENCE 33 #define WARN_PRINTF 34 #define WARN_PROTOTYPE 35 #define WARN_QW 36 #define WARN_RESERVED 37 #define WARN_SEMICOLON 38 #define WARN_TAINT 39 #define WARN_THREADS 40 #define WARN_UNINITIALIZED 41 #define WARN_UNPACK 42 #define WARN_UNTIE 43 #define WARN_UTF8 44 #define WARN_VOID 45 /* Warnings Categories added in Perl 5.011 */ #define WARN_IMPRECISION 46 #define WARN_ILLEGALPROTO 47 /* Warnings Categories added in Perl 5.013 */ #define WARN_NON_UNICODE 48 #define WARN_NONCHAR 49 #define WARN_SURROGATE 50 /* Warnings Categories added in Perl 5.017 */ #define WARN_EXPERIMENTAL 51 #define WARN_EXPERIMENTAL__LEXICAL_SUBS 52 #define WARN_EXPERIMENTAL__REGEX_SETS 53 #define WARN_EXPERIMENTAL__SMARTMATCH 54 /* Warnings Categories added in Perl 5.019 */ #define WARN_EXPERIMENTAL__POSTDEREF 55 #define WARN_EXPERIMENTAL__SIGNATURES 56 #define WARN_SYSCALLS 57 /* Warnings Categories added in Perl 5.021 */ #define WARN_EXPERIMENTAL__BITWISE 58 #define WARN_EXPERIMENTAL__CONST_ATTR 59 #define WARN_EXPERIMENTAL__RE_STRICT 60 #define WARN_EXPERIMENTAL__REFALIASING 61 #define WARN_EXPERIMENTAL__WIN32_PERLIO 62 #define WARN_LOCALE 63 #define WARN_MISSING 64 #define WARN_REDUNDANT 65 /* Warnings Categories added in Perl 5.025 */ #define WARN_EXPERIMENTAL__DECLARED_REFS 66 /* Warnings Categories added in Perl 5.027 */ #define WARN_EXPERIMENTAL__ALPHA_ASSERTIONS 67 #define WARN_EXPERIMENTAL__SCRIPT_RUN 68 #define WARN_SHADOW 69 /* Warnings Categories added in Perl 5.029 */ #define WARN_EXPERIMENTAL__PRIVATE_USE 70 #define WARN_EXPERIMENTAL__UNIPROP_WILDCARDS 71 #define WARN_EXPERIMENTAL__VLB 72 /* Warnings Categories added in Perl 5.031 */ #define WARN_EXPERIMENTAL__ISA 73 /* =for apidoc Amnh||WARN_ALL =for apidoc Amnh||WARN_CLOSURE =for apidoc Amnh||WARN_DEPRECATED =for apidoc Amnh||WARN_EXITING =for apidoc Amnh||WARN_GLOB =for apidoc Amnh||WARN_IO =for apidoc Amnh||WARN_CLOSED =for apidoc Amnh||WARN_EXEC =for apidoc Amnh||WARN_LAYER =for apidoc Amnh||WARN_NEWLINE =for apidoc Amnh||WARN_PIPE =for apidoc Amnh||WARN_UNOPENED =for apidoc Amnh||WARN_MISC =for apidoc Amnh||WARN_NUMERIC =for apidoc Amnh||WARN_ONCE =for apidoc Amnh||WARN_OVERFLOW =for apidoc Amnh||WARN_PACK =for apidoc Amnh||WARN_PORTABLE =for apidoc Amnh||WARN_RECURSION =for apidoc Amnh||WARN_REDEFINE =for apidoc Amnh||WARN_REGEXP =for apidoc Amnh||WARN_SEVERE =for apidoc Amnh||WARN_DEBUGGING =for apidoc Amnh||WARN_INPLACE =for apidoc Amnh||WARN_INTERNAL =for apidoc Amnh||WARN_MALLOC =for apidoc Amnh||WARN_SIGNAL =for apidoc Amnh||WARN_SUBSTR =for apidoc Amnh||WARN_SYNTAX =for apidoc Amnh||WARN_AMBIGUOUS =for apidoc Amnh||WARN_BAREWORD =for apidoc Amnh||WARN_DIGIT =for apidoc Amnh||WARN_PARENTHESIS =for apidoc Amnh||WARN_PRECEDENCE =for apidoc Amnh||WARN_PRINTF =for apidoc Amnh||WARN_PROTOTYPE =for apidoc Amnh||WARN_QW =for apidoc Amnh||WARN_RESERVED =for apidoc Amnh||WARN_SEMICOLON =for apidoc Amnh||WARN_TAINT =for apidoc Amnh||WARN_THREADS =for apidoc Amnh||WARN_UNINITIALIZED =for apidoc Amnh||WARN_UNPACK =for apidoc Amnh||WARN_UNTIE =for apidoc Amnh||WARN_UTF8 =for apidoc Amnh||WARN_VOID =for apidoc Amnh||WARN_IMPRECISION =for apidoc Amnh||WARN_ILLEGALPROTO =for apidoc Amnh||WARN_NON_UNICODE =for apidoc Amnh||WARN_NONCHAR =for apidoc Amnh||WARN_SURROGATE =for apidoc Amnh||WARN_EXPERIMENTAL =for apidoc Amnh||WARN_EXPERIMENTAL__LEXICAL_SUBS =for apidoc Amnh||WARN_EXPERIMENTAL__REGEX_SETS =for apidoc Amnh||WARN_EXPERIMENTAL__SMARTMATCH =for apidoc Amnh||WARN_EXPERIMENTAL__POSTDEREF =for apidoc Amnh||WARN_EXPERIMENTAL__SIGNATURES =for apidoc Amnh||WARN_SYSCALLS =for apidoc Amnh||WARN_EXPERIMENTAL__BITWISE =for apidoc Amnh||WARN_EXPERIMENTAL__CONST_ATTR =for apidoc Amnh||WARN_EXPERIMENTAL__RE_STRICT =for apidoc Amnh||WARN_EXPERIMENTAL__REFALIASING =for apidoc Amnh||WARN_EXPERIMENTAL__WIN32_PERLIO =for apidoc Amnh||WARN_LOCALE =for apidoc Amnh||WARN_MISSING =for apidoc Amnh||WARN_REDUNDANT =for apidoc Amnh||WARN_EXPERIMENTAL__DECLARED_REFS =for apidoc Amnh||WARN_EXPERIMENTAL__ALPHA_ASSERTIONS =for apidoc Amnh||WARN_EXPERIMENTAL__SCRIPT_RUN =for apidoc Amnh||WARN_SHADOW =for apidoc Amnh||WARN_EXPERIMENTAL__PRIVATE_USE =for apidoc Amnh||WARN_EXPERIMENTAL__UNIPROP_WILDCARDS =for apidoc Amnh||WARN_EXPERIMENTAL__VLB =for apidoc Amnh||WARN_EXPERIMENTAL__ISA =cut */ #define WARNsize 19 #define WARN_ALLstring "\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125" #define WARN_NONEstring "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" #define isLEXWARN_on \ cBOOL(PL_curcop && PL_curcop->cop_warnings != pWARN_STD) #define isLEXWARN_off \ cBOOL(!PL_curcop || PL_curcop->cop_warnings == pWARN_STD) #define isWARN_ONCE (PL_dowarn & (G_WARN_ON|G_WARN_ONCE)) #define isWARN_on(c,x) (IsSet((U8 *)(c + 1), 2*(x))) #define isWARNf_on(c,x) (IsSet((U8 *)(c + 1), 2*(x)+1)) #define DUP_WARNINGS(p) Perl_dup_warnings(aTHX_ p) #define free_and_set_cop_warnings(cmp,w) STMT_START { \ if (!specialWARN((cmp)->cop_warnings)) PerlMemShared_free((cmp)->cop_warnings); \ (cmp)->cop_warnings = w; \ } STMT_END /* =head1 Warning and Dieing In all these calls, the C<U32 wI<n>> parameters are warning category constants. You can see the ones currently available in L<warnings/Category Hierarchy>, just capitalize all letters in the names and prefix them by C<WARN_>. So, for example, the category C<void> used in a perl program becomes C<WARN_VOID> when used in XS code and passed to one of the calls below. =for apidoc Am|bool|ckWARN|U32 w Returns a boolean as to whether or not warnings are enabled for the warning category C<w>. If the category is by default enabled even if not within the scope of S<C<use warnings>>, instead use the L</ckWARN_d> macro. =for apidoc Am|bool|ckWARN_d|U32 w Like C<L</ckWARN>>, but for use if and only if the warning category is by default enabled even if not within the scope of S<C<use warnings>>. =for apidoc Am|bool|ckWARN2|U32 w1|U32 w2 Like C<L</ckWARN>>, but takes two warnings categories as input, and returns TRUE if either is enabled. If either category is by default enabled even if not within the scope of S<C<use warnings>>, instead use the L</ckWARN2_d> macro. The categories must be completely independent, one may not be subclassed from the other. =for apidoc Am|bool|ckWARN2_d|U32 w1|U32 w2 Like C<L</ckWARN2>>, but for use if and only if either warning category is by default enabled even if not within the scope of S<C<use warnings>>. =for apidoc Am|bool|ckWARN3|U32 w1|U32 w2|U32 w3 Like C<L</ckWARN2>>, but takes three warnings categories as input, and returns TRUE if any is enabled. If any of the categories is by default enabled even if not within the scope of S<C<use warnings>>, instead use the L</ckWARN3_d> macro. The categories must be completely independent, one may not be subclassed from any other. =for apidoc Am|bool|ckWARN3_d|U32 w1|U32 w2|U32 w3 Like C<L</ckWARN3>>, but for use if and only if any of the warning categories is by default enabled even if not within the scope of S<C<use warnings>>. =for apidoc Am|bool|ckWARN4|U32 w1|U32 w2|U32 w3|U32 w4 Like C<L</ckWARN3>>, but takes four warnings categories as input, and returns TRUE if any is enabled. If any of the categories is by default enabled even if not within the scope of S<C<use warnings>>, instead use the L</ckWARN4_d> macro. The categories must be completely independent, one may not be subclassed from any other. =for apidoc Am|bool|ckWARN4_d|U32 w1|U32 w2|U32 w3|U32 w4 Like C<L</ckWARN4>>, but for use if and only if any of the warning categories is by default enabled even if not within the scope of S<C<use warnings>>. =cut */ #define ckWARN(w) Perl_ckwarn(aTHX_ packWARN(w)) /* The w1, w2 ... should be independent warnings categories; one shouldn't be * a subcategory of any other */ #define ckWARN2(w1,w2) Perl_ckwarn(aTHX_ packWARN2(w1,w2)) #define ckWARN3(w1,w2,w3) Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3)) #define ckWARN4(w1,w2,w3,w4) Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4)) #define ckWARN_d(w) Perl_ckwarn_d(aTHX_ packWARN(w)) #define ckWARN2_d(w1,w2) Perl_ckwarn_d(aTHX_ packWARN2(w1,w2)) #define ckWARN3_d(w1,w2,w3) Perl_ckwarn_d(aTHX_ packWARN3(w1,w2,w3)) #define ckWARN4_d(w1,w2,w3,w4) Perl_ckwarn_d(aTHX_ packWARN4(w1,w2,w3,w4)) #define WARNshift 8 #define packWARN(a) (a ) /* The a, b, ... should be independent warnings categories; one shouldn't be * a subcategory of any other */ #define packWARN2(a,b) ((a) | ((b)<<8) ) #define packWARN3(a,b,c) ((a) | ((b)<<8) | ((c)<<16) ) #define packWARN4(a,b,c,d) ((a) | ((b)<<8) | ((c)<<16) | ((d) <<24)) #define unpackWARN1(x) ((x) & 0xFF) #define unpackWARN2(x) (((x) >>8) & 0xFF) #define unpackWARN3(x) (((x) >>16) & 0xFF) #define unpackWARN4(x) (((x) >>24) & 0xFF) #define ckDEAD(x) \ (PL_curcop && \ !specialWARN(PL_curcop->cop_warnings) && \ (isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) || \ (unpackWARN2(x) && \ (isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) || \ (unpackWARN3(x) && \ (isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) || \ (unpackWARN4(x) && \ isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))))))) /* end of file warnings.h */ /* ex: set ro: */ mg_raw.h 0000644 00000010431 15140731057 0006173 0 ustar 00 /* -*- buffer-read-only: t -*- * * mg_raw.h * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/mg_vtable.pl. * Any changes made here will be lost! */ { '\0', "want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE", "/* sv '\\0' Special scalar variable */" }, { '#', "want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC", "/* arylen '#' Array length ($#ary) */" }, { '%', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC", "/* rhash '%' Extra data for restricted hashes */" }, { '*', "want_vtbl_debugvar", "/* debugvar '*' $DB::single, signal, trace vars */" }, { '.', "want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC", "/* pos '.' pos() lvalue */" }, { ':', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC", "/* symtab ':' Extra data for symbol tables */" }, { '<', "want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC", "/* backref '<' For weak ref data */" }, { '@', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC", "/* arylen_p '@' To move arylen out of XPVAV */" }, { 'B', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC", "/* bm 'B' Boyer-Moore (fast string search) */" }, { 'c', "want_vtbl_ovrld", "/* overload_table 'c' Holds overload table (AMT) on stash */" }, { 'D', "want_vtbl_regdata", "/* regdata 'D' Regex match position data (@+ and @- vars) */" }, { 'd', "want_vtbl_regdatum", "/* regdatum 'd' Regex match position data element */" }, { 'E', "want_vtbl_env", "/* env 'E' %ENV hash */" }, { 'e', "want_vtbl_envelem", "/* envelem 'e' %ENV hash element */" }, { 'f', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC", "/* fm 'f' Formline ('compiled' format) */" }, { 'g', "want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC", "/* regex_global 'g' m//g target */" }, { 'H', "want_vtbl_hints", "/* hints 'H' %^H hash */" }, { 'h', "want_vtbl_hintselem", "/* hintselem 'h' %^H hash element */" }, { 'I', "want_vtbl_isa", "/* isa 'I' @ISA array */" }, { 'i', "want_vtbl_isaelem", "/* isaelem 'i' @ISA array element */" }, { 'k', "want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC", "/* nkeys 'k' scalar(keys()) lvalue */" }, { 'L', "magic_vtable_max", "/* dbfile 'L' Debugger %_<filename */" }, { 'l', "want_vtbl_dbline", "/* dbline 'l' Debugger %_<filename element */" }, { 'o', "want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC", "/* collxfrm 'o' Locale transformation */" }, { 'P', "want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC", "/* tied 'P' Tied array or hash */" }, { 'p', "want_vtbl_packelem", "/* tiedelem 'p' Tied array or hash element */" }, { 'q', "want_vtbl_packelem", "/* tiedscalar 'q' Tied scalar or handle */" }, { 'r', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC", "/* qr 'r' Precompiled qr// regex */" }, { 'S', "magic_vtable_max", "/* sig 'S' %SIG hash */" }, { 's', "want_vtbl_sigelem", "/* sigelem 's' %SIG hash element */" }, { 't', "want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC", "/* taint 't' Taintedness */" }, { 'U', "want_vtbl_uvar", "/* uvar 'U' Available for use by extensions */" }, { 'V', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC", "/* vstring 'V' SV was vstring literal */" }, { 'v', "want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC", "/* vec 'v' vec() lvalue */" }, { 'w', "want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC", "/* utf8 'w' Cached UTF-8 information */" }, { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC", "/* substr 'x' substr() lvalue */" }, { 'Y', "want_vtbl_nonelem | PERL_MAGIC_VALUE_MAGIC", "/* nonelem 'Y' Array element that does not exist */" }, { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC", "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" }, { '\\', "want_vtbl_lvref", "/* lvref '\\' Lvalue reference constructor */" }, { ']', "want_vtbl_checkcall | PERL_MAGIC_VALUE_MAGIC", "/* checkcall ']' Inlining/mutation of call to this CV */" }, { '~', "magic_vtable_max | PERL_MAGIC_READONLY_ACCEPTABLE", "/* ext '~' Available for use by extensions */" }, /* ex: set ro: */ patchlevel-debian.h 0000644 00000012740 15140731057 0010273 0 ustar 00 ,"DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN." ,"DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check." ,"DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information." ,"DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories." ,"DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes." ,"DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking" ,"DEBPKG:fixes/respect_umask - Respect umask during installation" ,"DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories" ,"DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib" ,"DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor" ,"DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets." ,"DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor." ,"DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy." ,"DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable." ,"DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local" ,"DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts" ,"DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.32.1-4+deb11u2 in patchlevel.h" ,"DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}" ,"DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text" ,"DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl" ,"DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable" ,"DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected" ,"DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories" ,"DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers" ,"DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798" ,"DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize" ,"DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd" ,"DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint" ,"DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO" ,"DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units" ,"DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site" ,"DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems" ,"DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters" ,"DEBPKG:debian/hppa_opmini_optimize_workaround - https://bugs.debian.org/869122 Lower the optimization level of opmini.c on hppa" ,"DEBPKG:debian/sh4_op_optimize_workaround - https://bugs.debian.org/869373 Also lower the optimization level of op.c and opmini.c on sh4" ,"DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 [rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager is less" ,"DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need." ,"DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian" ,"DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 Regenerate Configure et al. after probe unit changes" ,"DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules" ,"DEBPKG:debian/disable-stack-check - https://bugs.debian.org/902779 [GH #16607] Disable debugperl stack extension checks for binary compatibility with perl" ,"DEBPKG:debian/perlbug-editor - https://bugs.debian.org/922609 Use \"editor\" as the default perlbug editor, as per Debian policy" ,"DEBPKG:debian/eu-mm-perl-base - https://bugs.debian.org/962138 Suppress an ExtUtils::MakeMaker warning about our non-default @INC" ,"DEBPKG:fixes/hurd-cachepropagate-test-fix - https://bugs.debian.org/963214 GNU/Hurd doesn't support SO_PROTOCOL" ,"DEBPKG:fixes/io_socket_ip_ipv6 - Disable getaddrinfo(3) AI_ADDRCONFIG for localhost and IPv4 numeric addresses" ,"DEBPKG:fixes/encode-CVE-2021-36770 - mitigate @INC pollution when loading ConfigLocal" ,"DEBPKG:fixes/regcomp-memleak - https://bugs.debian.org/994834 [GH #18604] [5f41fa4] regcomp.c: Remove memory leak" unicode_constants.h 0000644 00000017537 15140731057 0010457 0 ustar 00 /* -*- buffer-read-only: t -*- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/unicode_constants.pl from Unicode data. * Any changes made here will be lost! */ #ifndef PERL_UNICODE_CONSTANTS_H_ /* Guard against nested #includes */ #define PERL_UNICODE_CONSTANTS_H_ 1 /* This file contains #defines for the version of Unicode being used and * various Unicode code points. The values the code point macros expand to * are the native Unicode code point, or all or portions of the UTF-8 encoding * for the code point. In the former case, the macro name has the suffix * "_NATIVE"; otherwise, the suffix "_UTF8". * * The macros that have the suffix "_UTF8" may have further suffixes, as * follows: * "_FIRST_BYTE" if the value is just the first byte of the UTF-8 * representation; the value will be a numeric constant. * "_TAIL" if instead it represents all but the first byte. This, and * with no additional suffix are both string constants */ /* =head1 Unicode Support =for apidoc AmnU|const char *|BOM_UTF8 This is a macro that evaluates to a string constant of the UTF-8 bytes that define the Unicode BYTE ORDER MARK (U+FEFF) for the platform that perl is compiled on. This allows code to use a mnemonic for this character that works on both ASCII and EBCDIC platforms. S<C<sizeof(BOM_UTF8) - 1>> can be used to get its length in bytes. =for apidoc AmnU|const char *|REPLACEMENT_CHARACTER_UTF8 This is a macro that evaluates to a string constant of the UTF-8 bytes that define the Unicode REPLACEMENT CHARACTER (U+FFFD) for the platform that perl is compiled on. This allows code to use a mnemonic for this character that works on both ASCII and EBCDIC platforms. S<C<sizeof(REPLACEMENT_CHARACTER_UTF8) - 1>> can be used to get its length in bytes. =cut */ #define UNICODE_MAJOR_VERSION 13 #define UNICODE_DOT_VERSION 0 #define UNICODE_DOT_DOT_VERSION 0 #if 'A' == 65 /* ASCII/Latin1 */ # define LATIN_SMALL_LETTER_LONG_S_UTF8 "\xC5\xBF" /* U+017F */ # define COMBINING_GRAVE_ACCENT_UTF8 "\xCC\x80" /* U+0300 */ # define COMBINING_DOT_ABOVE_UTF8 "\xCC\x87" /* U+0307 */ # define LATIN_CAPITAL_LETTER_SHARP_S_UTF8 "\xE1\xBA\x9E" /* U+1E9E */ # define LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 "\xEF\xAC\x85" /* U+FB05 */ # define LATIN_SMALL_LIGATURE_ST_UTF8 "\xEF\xAC\x86" /* U+FB06 */ # define LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_UTF8 "\xC4\xB0" /* U+0130 */ # define LATIN_SMALL_LETTER_DOTLESS_I_UTF8 "\xC4\xB1" /* U+0131 */ # define HYPHEN_UTF8 "\xE2\x80\x90" /* U+2010 */ # define BOM_UTF8_FIRST_BYTE 0xEF /* U+FEFF */ # define BOM_UTF8_TAIL "\xBB\xBF" /* U+FEFF */ # define BOM_UTF8 "\xEF\xBB\xBF" /* U+FEFF */ # define REPLACEMENT_CHARACTER_UTF8 "\xEF\xBF\xBD" /* U+FFFD */ # define MAX_UNICODE_UTF8 "\xF4\x8F\xBF\xBF" /* U+10FFFF */ # define NBSP_NATIVE 0xA0 /* U+00A0 */ # define NBSP_UTF8 "\xC2\xA0" /* U+00A0 */ # define DEL_NATIVE 0x7F /* U+007F */ # define CR_NATIVE 0x0D /* U+000D */ # define LF_NATIVE 0x0A /* U+000A */ # define VT_NATIVE 0x0B /* U+000B */ # define ESC_NATIVE 0x1B /* U+001B */ # define LATIN_SMALL_LETTER_SHARP_S_NATIVE 0xDF /* U+00DF */ # define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xE5 /* U+00E5 */ # define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xC5 /* U+00C5 */ # define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE 0xFF /* U+00FF */ # define MICRO_SIGN_NATIVE 0xB5 /* U+00B5 */ # define MAX_PRINT_A_FOR_USE_ONLY_BY_REGCOMP_DOT_C 0x7E /* The max code point that isPRINT_A */ #endif /* ASCII/Latin1 */ #if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 # define LATIN_SMALL_LETTER_LONG_S_UTF8 "\x8F\x73" /* U+017F */ # define COMBINING_GRAVE_ACCENT_UTF8 "\xAF\x41" /* U+0300 */ # define COMBINING_DOT_ABOVE_UTF8 "\xAF\x48" /* U+0307 */ # define LATIN_CAPITAL_LETTER_SHARP_S_UTF8 "\xBF\x63\x72" /* U+1E9E */ # define LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 "\xDD\x72\x67\x46" /* U+FB05 */ # define LATIN_SMALL_LIGATURE_ST_UTF8 "\xDD\x72\x67\x47" /* U+FB06 */ # define LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_UTF8 "\x8D\x57" /* U+0130 */ # define LATIN_SMALL_LETTER_DOTLESS_I_UTF8 "\x8D\x58" /* U+0131 */ # define HYPHEN_UTF8 "\xCA\x41\x57" /* U+2010 */ # define BOM_UTF8_FIRST_BYTE 0xDD /* U+FEFF */ # define BOM_UTF8_TAIL "\x73\x66\x73" /* U+FEFF */ # define BOM_UTF8 "\xDD\x73\x66\x73" /* U+FEFF */ # define REPLACEMENT_CHARACTER_UTF8 "\xDD\x73\x73\x71" /* U+FFFD */ # define MAX_UNICODE_UTF8 "\xEE\x42\x73\x73\x73" /* U+10FFFF */ # define NBSP_NATIVE 0x41 /* U+00A0 */ # define NBSP_UTF8 "\x80\x41" /* U+00A0 */ # define DEL_NATIVE 0x07 /* U+007F */ # define CR_NATIVE 0x0D /* U+000D */ # define LF_NATIVE 0x15 /* U+000A */ # define VT_NATIVE 0x0B /* U+000B */ # define ESC_NATIVE 0x27 /* U+001B */ # define LATIN_SMALL_LETTER_SHARP_S_NATIVE 0x59 /* U+00DF */ # define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE 0x47 /* U+00E5 */ # define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE 0x67 /* U+00C5 */ # define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE 0xDF /* U+00FF */ # define MICRO_SIGN_NATIVE 0xA0 /* U+00B5 */ # define MAX_PRINT_A_FOR_USE_ONLY_BY_REGCOMP_DOT_C 0xF9 /* The max code point that isPRINT_A */ #endif /* EBCDIC 1047 */ #if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 # define LATIN_SMALL_LETTER_LONG_S_UTF8 "\x8E\x72" /* U+017F */ # define COMBINING_GRAVE_ACCENT_UTF8 "\xAD\x41" /* U+0300 */ # define COMBINING_DOT_ABOVE_UTF8 "\xAD\x48" /* U+0307 */ # define LATIN_CAPITAL_LETTER_SHARP_S_UTF8 "\xBF\x62\x71" /* U+1E9E */ # define LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 "\xDD\x71\x66\x46" /* U+FB05 */ # define LATIN_SMALL_LIGATURE_ST_UTF8 "\xDD\x71\x66\x47" /* U+FB06 */ # define LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_UTF8 "\x8C\x57" /* U+0130 */ # define LATIN_SMALL_LETTER_DOTLESS_I_UTF8 "\x8C\x58" /* U+0131 */ # define HYPHEN_UTF8 "\xCA\x41\x57" /* U+2010 */ # define BOM_UTF8_FIRST_BYTE 0xDD /* U+FEFF */ # define BOM_UTF8_TAIL "\x72\x65\x72" /* U+FEFF */ # define BOM_UTF8 "\xDD\x72\x65\x72" /* U+FEFF */ # define REPLACEMENT_CHARACTER_UTF8 "\xDD\x72\x72\x70" /* U+FFFD */ # define MAX_UNICODE_UTF8 "\xEE\x42\x72\x72\x72" /* U+10FFFF */ # define NBSP_NATIVE 0x41 /* U+00A0 */ # define NBSP_UTF8 "\x78\x41" /* U+00A0 */ # define DEL_NATIVE 0x07 /* U+007F */ # define CR_NATIVE 0x0D /* U+000D */ # define LF_NATIVE 0x25 /* U+000A */ # define VT_NATIVE 0x0B /* U+000B */ # define ESC_NATIVE 0x27 /* U+001B */ # define LATIN_SMALL_LETTER_SHARP_S_NATIVE 0x59 /* U+00DF */ # define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE 0x47 /* U+00E5 */ # define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE 0x67 /* U+00C5 */ # define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE 0xDF /* U+00FF */ # define MICRO_SIGN_NATIVE 0xA0 /* U+00B5 */ # define MAX_PRINT_A_FOR_USE_ONLY_BY_REGCOMP_DOT_C 0xF9 /* The max code point that isPRINT_A */ #endif /* EBCDIC 037 */ /* The number of code points not matching \pC */ #define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C 143698 /* The highest code point that has any type of case change */ #define HIGHEST_CASE_CHANGING_CP_FOR_USE_ONLY_BY_UTF8_DOT_C 0x1E943 #endif /* PERL_UNICODE_CONSTANTS_H_ */ /* ex: set ro: */ av.h 0000644 00000006364 15140731057 0005337 0 ustar 00 /* av.h * * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, * 2001, 2002, 2005, 2006, 2007, 2008, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ struct xpvav { HV* xmg_stash; /* class package */ union _xmgu xmg_u; SSize_t xav_fill; /* Index of last element present */ SSize_t xav_max; /* max index for which array has space */ SV** xav_alloc; /* pointer to beginning of C array of SVs */ }; /* SV* xav_arylen; */ /* SVpav_REAL is set for all AVs whose xav_array contents are refcounted. * Some things like "@_" and the scratchpad list do not set this, to * indicate that they are cheating (for efficiency) by not refcounting * the AV's contents. * * SVpav_REIFY is only meaningful on such "fake" AVs (i.e. where SVpav_REAL * is not set). It indicates that the fake AV is capable of becoming * real if the array needs to be modified in some way. Functions that * modify fake AVs check both flags to call av_reify() as appropriate. * * Note that the Perl stack has neither flag set. (Thus, * items that go on the stack are never refcounted.) * * These internal details are subject to change any time. AV * manipulations external to perl should not care about any of this. * GSAR 1999-09-10 */ /* =head1 Handy Values =for apidoc ADmnU||Nullav Null AV pointer. (deprecated - use C<(AV *)NULL> instead) =head1 Array Manipulation Functions =for apidoc Am|int|AvFILL|AV* av Same as C<av_top_index()> or C<av_tindex()>. =for apidoc av_tindex Same as C<av_top_index()>. =for apidoc m|int|AvFILLp|AV* av =cut */ #ifndef PERL_CORE # define Nullav Null(AV*) #endif #define AvARRAY(av) ((av)->sv_u.svu_array) #define AvALLOC(av) ((XPVAV*) SvANY(av))->xav_alloc #define AvMAX(av) ((XPVAV*) SvANY(av))->xav_max #define AvFILLp(av) ((XPVAV*) SvANY(av))->xav_fill #define AvARYLEN(av) (*Perl_av_arylen_p(aTHX_ MUTABLE_AV(av))) #define AvREAL(av) (SvFLAGS(av) & SVpav_REAL) #define AvREAL_on(av) (SvFLAGS(av) |= SVpav_REAL) #define AvREAL_off(av) (SvFLAGS(av) &= ~SVpav_REAL) #define AvREAL_only(av) (AvREIFY_off(av), SvFLAGS(av) |= SVpav_REAL) #define AvREIFY(av) (SvFLAGS(av) & SVpav_REIFY) #define AvREIFY_on(av) (SvFLAGS(av) |= SVpav_REIFY) #define AvREIFY_off(av) (SvFLAGS(av) &= ~SVpav_REIFY) #define AvREIFY_only(av) (AvREAL_off(av), SvFLAGS(av) |= SVpav_REIFY) #define AvREALISH(av) (SvFLAGS(av) & (SVpav_REAL|SVpav_REIFY)) #define AvFILL(av) ((SvRMAGICAL((const SV *) (av))) \ ? mg_size(MUTABLE_SV(av)) : AvFILLp(av)) #define av_tindex(av) av_top_index(av) /* Note that it doesn't make sense to do this: * SvGETMAGIC(av); IV x = av_tindex_nomg(av); */ # define av_top_index_skip_len_mg(av) \ (__ASSERT_(SvTYPE(av) == SVt_PVAV) AvFILLp(av)) # define av_tindex_skip_len_mg(av) av_top_index_skip_len_mg(av) #define NEGATIVE_INDICES_VAR "NEGATIVE_INDICES" /* =for apidoc newAV Creates a new AV. The reference count is set to 1. Perl equivalent: C<my @array;>. =cut */ #define newAV() MUTABLE_AV(newSV_type(SVt_PVAV)) /* * ex: set ts=8 sts=4 sw=4 et: */ cv.h 0000644 00000030054 15140731057 0005332 0 ustar 00 /* cv.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* This structure must match the beginning of XPVFM in sv.h */ struct xpvcv { _XPV_HEAD; _XPVCV_COMMON; }; /* =head1 Handy Values =for apidoc ADmnU||Nullcv Null CV pointer. (deprecated - use C<(CV *)NULL> instead) =head1 CV Manipulation Functions This section documents functions to manipulate CVs which are code-values, or subroutines. For more information, see L<perlguts>. =for apidoc Am|HV*|CvSTASH|CV* cv Returns the stash of the CV. A stash is the symbol table hash, containing the package-scoped variables in the package where the subroutine was defined. For more information, see L<perlguts>. This also has a special use with XS AUTOLOAD subs. See L<perlguts/Autoloading with XSUBs>. =cut */ #ifndef PERL_CORE # define Nullcv Null(CV*) #endif #define CvSTASH(sv) (0+((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_stash) #define CvSTASH_set(cv,st) Perl_cvstash_set(aTHX_ cv, st) #define CvSTART(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_start #define CvROOT(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_root #define CvXSUB(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_xsub #define CvXSUBANY(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_xsubany #define CvGV(sv) Perl_CvGV(aTHX_ (CV *)(sv)) #define CvGV_set(cv,gv) Perl_cvgv_set(aTHX_ cv, gv) #define CvHASGV(cv) cBOOL(SvANY(cv)->xcv_gv_u.xcv_gv) #define CvFILE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file #ifdef USE_ITHREADS # define CvFILE_set_from_cop(sv, cop) \ (CvFILE(sv) = savepv(CopFILE(cop)), CvDYNFILE_on(sv)) #else # define CvFILE_set_from_cop(sv, cop) \ (CvFILE(sv) = CopFILE(cop), CvDYNFILE_off(sv)) #endif #define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv))) #define CvDEPTH(sv) (*Perl_CvDEPTH((const CV *)sv)) /* For use when you only have a XPVCV*, not a real CV*. Must be assert protected as in Perl_CvDEPTH before use. */ #define CvDEPTHunsafe(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_depth /* these CvPADLIST/CvRESERVED asserts can be reverted one day, once stabilized */ #define CvPADLIST(sv) (*(assert_(!CvISXSUB((CV*)(sv))) \ &(((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist_u.xcv_padlist))) /* CvPADLIST_set is not public API, it can be removed one day, once stabilized */ #ifdef DEBUGGING # define CvPADLIST_set(sv, padlist) Perl_set_padlist((CV*)sv, padlist) #else # define CvPADLIST_set(sv, padlist) (CvPADLIST(sv) = (padlist)) #endif #define CvHSCXT(sv) *(assert_(CvISXSUB((CV*)(sv))) \ &(((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist_u.xcv_hscxt)) #ifdef DEBUGGING # if PTRSIZE == 8 # define PoisonPADLIST(sv) \ (((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist_u.xcv_padlist = (PADLIST *)UINT64_C(0xEFEFEFEFEFEFEFEF)) # elif PTRSIZE == 4 # define PoisonPADLIST(sv) \ (((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist_u.xcv_padlist = (PADLIST *)0xEFEFEFEF) # else # error unknown pointer size # endif #else # define PoisonPADLIST(sv) NOOP #endif #define CvOUTSIDE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside #define CvOUTSIDE_SEQ(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside_seq #define CvFLAGS(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_flags /* These two are sometimes called on non-CVs */ #define CvPROTO(sv) \ ( \ SvPOK(sv) \ ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \ ? SvEND(sv)+1 : SvPVX_const(sv) \ : NULL \ ) #define CvPROTOLEN(sv) \ ( \ SvPOK(sv) \ ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \ ? SvLEN(sv)-SvCUR(sv)-2 \ : SvCUR(sv) \ : 0 \ ) #define CVf_METHOD 0x0001 /* CV is explicitly marked as a method */ #define CVf_LVALUE 0x0002 /* CV return value can be used as lvalue */ #define CVf_CONST 0x0004 /* inlinable sub */ #define CVf_ISXSUB 0x0008 /* CV is an XSUB, not pure perl. */ #define CVf_WEAKOUTSIDE 0x0010 /* CvOUTSIDE isn't ref counted */ #define CVf_CLONE 0x0020 /* anon CV uses external lexicals */ #define CVf_CLONED 0x0040 /* a clone of one of those */ #define CVf_ANON 0x0080 /* CV is not pointed to by a GV */ #define CVf_UNIQUE 0x0100 /* sub is only called once (eg PL_main_cv, * require, eval). */ #define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV (esp. useful for special XSUBs) */ #define CVf_CVGV_RC 0x0400 /* CvGV is reference counted */ #ifdef PERL_CORE # define CVf_SLABBED 0x0800 /* Holds refcount on op slab */ #endif #define CVf_DYNFILE 0x1000 /* The filename is malloced */ #define CVf_AUTOLOAD 0x2000 /* SvPVX contains AUTOLOADed sub name */ #define CVf_HASEVAL 0x4000 /* contains string eval */ #define CVf_NAMED 0x8000 /* Has a name HEK */ #define CVf_LEXICAL 0x10000 /* Omit package from name */ #define CVf_ANONCONST 0x20000 /* :const - create anonconst op */ /* This symbol for optimised communication between toke.c and op.c: */ #define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LVALUE|CVf_ANONCONST) #define CvCLONE(cv) (CvFLAGS(cv) & CVf_CLONE) #define CvCLONE_on(cv) (CvFLAGS(cv) |= CVf_CLONE) #define CvCLONE_off(cv) (CvFLAGS(cv) &= ~CVf_CLONE) #define CvCLONED(cv) (CvFLAGS(cv) & CVf_CLONED) #define CvCLONED_on(cv) (CvFLAGS(cv) |= CVf_CLONED) #define CvCLONED_off(cv) (CvFLAGS(cv) &= ~CVf_CLONED) #define CvANON(cv) (CvFLAGS(cv) & CVf_ANON) #define CvANON_on(cv) (CvFLAGS(cv) |= CVf_ANON) #define CvANON_off(cv) (CvFLAGS(cv) &= ~CVf_ANON) /* CvEVAL or CvSPECIAL */ #define CvUNIQUE(cv) (CvFLAGS(cv) & CVf_UNIQUE) #define CvUNIQUE_on(cv) (CvFLAGS(cv) |= CVf_UNIQUE) #define CvUNIQUE_off(cv) (CvFLAGS(cv) &= ~CVf_UNIQUE) #define CvNODEBUG(cv) (CvFLAGS(cv) & CVf_NODEBUG) #define CvNODEBUG_on(cv) (CvFLAGS(cv) |= CVf_NODEBUG) #define CvNODEBUG_off(cv) (CvFLAGS(cv) &= ~CVf_NODEBUG) #define CvMETHOD(cv) (CvFLAGS(cv) & CVf_METHOD) #define CvMETHOD_on(cv) (CvFLAGS(cv) |= CVf_METHOD) #define CvMETHOD_off(cv) (CvFLAGS(cv) &= ~CVf_METHOD) #define CvLVALUE(cv) (CvFLAGS(cv) & CVf_LVALUE) #define CvLVALUE_on(cv) (CvFLAGS(cv) |= CVf_LVALUE) #define CvLVALUE_off(cv) (CvFLAGS(cv) &= ~CVf_LVALUE) /* eval or PL_main_cv */ #define CvEVAL(cv) (CvUNIQUE(cv) && !SvFAKE(cv)) #define CvEVAL_on(cv) (CvUNIQUE_on(cv),SvFAKE_off(cv)) #define CvEVAL_off(cv) CvUNIQUE_off(cv) /* BEGIN|CHECK|INIT|UNITCHECK|END */ #define CvSPECIAL(cv) (CvUNIQUE(cv) && SvFAKE(cv)) #define CvSPECIAL_on(cv) (CvUNIQUE_on(cv),SvFAKE_on(cv)) #define CvSPECIAL_off(cv) (CvUNIQUE_off(cv),SvFAKE_off(cv)) #define CvCONST(cv) (CvFLAGS(cv) & CVf_CONST) #define CvCONST_on(cv) (CvFLAGS(cv) |= CVf_CONST) #define CvCONST_off(cv) (CvFLAGS(cv) &= ~CVf_CONST) #define CvWEAKOUTSIDE(cv) (CvFLAGS(cv) & CVf_WEAKOUTSIDE) #define CvWEAKOUTSIDE_on(cv) (CvFLAGS(cv) |= CVf_WEAKOUTSIDE) #define CvWEAKOUTSIDE_off(cv) (CvFLAGS(cv) &= ~CVf_WEAKOUTSIDE) #define CvISXSUB(cv) (CvFLAGS(cv) & CVf_ISXSUB) #define CvISXSUB_on(cv) (CvFLAGS(cv) |= CVf_ISXSUB) #define CvISXSUB_off(cv) (CvFLAGS(cv) &= ~CVf_ISXSUB) #define CvCVGV_RC(cv) (CvFLAGS(cv) & CVf_CVGV_RC) #define CvCVGV_RC_on(cv) (CvFLAGS(cv) |= CVf_CVGV_RC) #define CvCVGV_RC_off(cv) (CvFLAGS(cv) &= ~CVf_CVGV_RC) #ifdef PERL_CORE # define CvSLABBED(cv) (CvFLAGS(cv) & CVf_SLABBED) # define CvSLABBED_on(cv) (CvFLAGS(cv) |= CVf_SLABBED) # define CvSLABBED_off(cv) (CvFLAGS(cv) &= ~CVf_SLABBED) #endif #define CvDYNFILE(cv) (CvFLAGS(cv) & CVf_DYNFILE) #define CvDYNFILE_on(cv) (CvFLAGS(cv) |= CVf_DYNFILE) #define CvDYNFILE_off(cv) (CvFLAGS(cv) &= ~CVf_DYNFILE) #define CvAUTOLOAD(cv) (CvFLAGS(cv) & CVf_AUTOLOAD) #define CvAUTOLOAD_on(cv) (CvFLAGS(cv) |= CVf_AUTOLOAD) #define CvAUTOLOAD_off(cv) (CvFLAGS(cv) &= ~CVf_AUTOLOAD) #define CvHASEVAL(cv) (CvFLAGS(cv) & CVf_HASEVAL) #define CvHASEVAL_on(cv) (CvFLAGS(cv) |= CVf_HASEVAL) #define CvHASEVAL_off(cv) (CvFLAGS(cv) &= ~CVf_HASEVAL) #define CvNAMED(cv) (CvFLAGS(cv) & CVf_NAMED) #define CvNAMED_on(cv) (CvFLAGS(cv) |= CVf_NAMED) #define CvNAMED_off(cv) (CvFLAGS(cv) &= ~CVf_NAMED) #define CvLEXICAL(cv) (CvFLAGS(cv) & CVf_LEXICAL) #define CvLEXICAL_on(cv) (CvFLAGS(cv) |= CVf_LEXICAL) #define CvLEXICAL_off(cv) (CvFLAGS(cv) &= ~CVf_LEXICAL) #define CvANONCONST(cv) (CvFLAGS(cv) & CVf_ANONCONST) #define CvANONCONST_on(cv) (CvFLAGS(cv) |= CVf_ANONCONST) #define CvANONCONST_off(cv) (CvFLAGS(cv) &= ~CVf_ANONCONST) /* Flags for newXS_flags */ #define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */ PERL_STATIC_INLINE HEK * CvNAME_HEK(CV *sv) { return CvNAMED(sv) ? ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_hek : 0; } /* helper for the common pattern: CvNAMED(sv) ? CvNAME_HEK((CV *)sv) : GvNAME_HEK(CvGV(sv)) */ #define CvGvNAME_HEK(sv) ( \ CvNAMED((CV*)sv) ? \ ((XPVCV*)MUTABLE_PTR(SvANY((SV*)sv)))->xcv_gv_u.xcv_hek\ : GvNAME_HEK(CvGV( (SV*) sv)) \ ) /* This lowers the reference count of the previous value, but does *not* increment the reference count of the new value. */ #define CvNAME_HEK_set(cv, hek) ( \ CvNAME_HEK((CV *)(cv)) \ ? unshare_hek(SvANY((CV *)(cv))->xcv_gv_u.xcv_hek) \ : (void)0, \ ((XPVCV*)MUTABLE_PTR(SvANY(cv)))->xcv_gv_u.xcv_hek = (hek), \ CvNAMED_on(cv) \ ) /* =head1 CV reference counts and CvOUTSIDE =for apidoc m|bool|CvWEAKOUTSIDE|CV *cv Each CV has a pointer, C<CvOUTSIDE()>, to its lexically enclosing CV (if any). Because pointers to anonymous sub prototypes are stored in C<&> pad slots, it is a possible to get a circular reference, with the parent pointing to the child and vice-versa. To avoid the ensuing memory leak, we do not increment the reference count of the CV pointed to by C<CvOUTSIDE> in the I<one specific instance> that the parent has a C<&> pad slot pointing back to us. In this case, we set the C<CvWEAKOUTSIDE> flag in the child. This allows us to determine under what circumstances we should decrement the refcount of the parent when freeing the child. There is a further complication with non-closure anonymous subs (i.e. those that do not refer to any lexicals outside that sub). In this case, the anonymous prototype is shared rather than being cloned. This has the consequence that the parent may be freed while there are still active children, I<e.g.>, BEGIN { $a = sub { eval '$x' } } In this case, the BEGIN is freed immediately after execution since there are no active references to it: the anon sub prototype has C<CvWEAKOUTSIDE> set since it's not a closure, and $a points to the same CV, so it doesn't contribute to BEGIN's refcount either. When $a is executed, the C<eval '$x'> causes the chain of C<CvOUTSIDE>s to be followed, and the freed BEGIN is accessed. To avoid this, whenever a CV and its associated pad is freed, any C<&> entries in the pad are explicitly removed from the pad, and if the refcount of the pointed-to anon sub is still positive, then that child's C<CvOUTSIDE> is set to point to its grandparent. This will only occur in the single specific case of a non-closure anon prototype having one or more active references (such as C<$a> above). One other thing to consider is that a CV may be merely undefined rather than freed, eg C<undef &foo>. In this case, its refcount may not have reached zero, but we still delete its pad and its C<CvROOT> etc. Since various children may still have their C<CvOUTSIDE> pointing at this undefined CV, we keep its own C<CvOUTSIDE> for the time being, so that the chain of lexical scopes is unbroken. For example, the following should print 123: my $x = 123; sub tmp { sub { eval '$x' } } my $a = tmp(); undef &tmp; print $a->(); =cut */ typedef OP *(*Perl_call_checker)(pTHX_ OP *, GV *, SV *); #define CALL_CHECKER_REQUIRE_GV MGf_REQUIRE_GV #define CV_NAME_NOTQUAL 1 #ifdef PERL_CORE # define CV_UNDEF_KEEP_NAME 1 #endif /* * ex: set ts=8 sts=4 sw=4 et: */ iperlsys.h 0000644 00000140360 15140731057 0006576 0 ustar 00 /* * iperlsys.h - Perl's interface to the system * * This file defines the system level functionality that perl needs. * * When using C, this definition is in the form of a set of macros that can be * #defined to the system-level function (or a wrapper provided elsewhere). * * GSAR 21-JUN-98 */ #ifndef __Inc__IPerl___ #define __Inc__IPerl___ /* * PerlXXX_YYY explained - DickH and DougL @ ActiveState.com * * XXX := functional group * YYY := stdlib/OS function name * * Continuing with the theme of PerlIO, all OS functionality was encapsulated * into one of several interfaces. * * PerlIO - stdio * PerlLIO - low level I/O * PerlMem - malloc, realloc, free * PerlDir - directory related * PerlEnv - process environment handling * PerlProc - process control * PerlSock - socket functions * * * The features of this are: * 1. All OS dependant code is in the Perl Host and not the Perl Core. * (At least this is the holy grail goal of this work) * 2. The Perl Host (see perl.h for description) can provide a new and * improved interface to OS functionality if required. * 3. Developers can easily hook into the OS calls for instrumentation * or diagnostic purposes. * * What was changed to do this: * 1. All calls to OS functions were replaced with PerlXXX_YYY * */ /* Interface for perl stdio functions, or whatever we are Configure-d to use. */ #include "perlio.h" typedef Signal_t (*Sighandler1_t) (int); typedef Signal_t (*Sighandler3_t) (int, Siginfo_t*, void*); #ifndef Sighandler_t # ifdef PERL_USE_3ARG_SIGHANDLER typedef Sighandler3_t Sighandler_t; # else typedef Sighandler1_t Sighandler_t; # endif #endif #if defined(PERL_IMPLICIT_SYS) /* IPerlStdIO */ struct IPerlStdIO; struct IPerlStdIOInfo; typedef FILE* (*LPStdin)(struct IPerlStdIO*); typedef FILE* (*LPStdout)(struct IPerlStdIO*); typedef FILE* (*LPStderr)(struct IPerlStdIO*); typedef FILE* (*LPOpen)(struct IPerlStdIO*, const char*, const char*); typedef int (*LPClose)(struct IPerlStdIO*, FILE*); typedef int (*LPEof)(struct IPerlStdIO*, FILE*); typedef int (*LPError)(struct IPerlStdIO*, FILE*); typedef void (*LPClearerr)(struct IPerlStdIO*, FILE*); typedef int (*LPGetc)(struct IPerlStdIO*, FILE*); typedef STDCHAR* (*LPGetBase)(struct IPerlStdIO*, FILE*); typedef int (*LPGetBufsiz)(struct IPerlStdIO*, FILE*); typedef int (*LPGetCnt)(struct IPerlStdIO*, FILE*); typedef STDCHAR* (*LPGetPtr)(struct IPerlStdIO*, FILE*); typedef char* (*LPGets)(struct IPerlStdIO*, char*, int, FILE*); typedef int (*LPPutc)(struct IPerlStdIO*, int, FILE*); typedef int (*LPPuts)(struct IPerlStdIO*, const char *, FILE*); typedef int (*LPFlush)(struct IPerlStdIO*, FILE*); typedef int (*LPUngetc)(struct IPerlStdIO*, int,FILE*); typedef int (*LPFileno)(struct IPerlStdIO*, FILE*); typedef FILE* (*LPFdopen)(struct IPerlStdIO*, int, const char*); typedef FILE* (*LPReopen)(struct IPerlStdIO*, const char*, const char*, FILE*); typedef SSize_t (*LPRead)(struct IPerlStdIO*, void*, Size_t, Size_t, FILE *); typedef SSize_t (*LPWrite)(struct IPerlStdIO*, const void*, Size_t, Size_t, FILE *); typedef void (*LPSetBuf)(struct IPerlStdIO*, FILE*, char*); typedef int (*LPSetVBuf)(struct IPerlStdIO*, FILE*, char*, int, Size_t); typedef void (*LPSetCnt)(struct IPerlStdIO*, FILE*, int); #ifndef NETWARE typedef void (*LPSetPtr)(struct IPerlStdIO*, FILE*, STDCHAR*); #elif defined(NETWARE) typedef void (*LPSetPtr)(struct IPerlStdIO*, FILE*, STDCHAR*, int); #endif typedef void (*LPSetlinebuf)(struct IPerlStdIO*, FILE*); typedef int (*LPPrintf)(struct IPerlStdIO*, FILE*, const char*, ...); typedef int (*LPVprintf)(struct IPerlStdIO*, FILE*, const char*, va_list); typedef Off_t (*LPTell)(struct IPerlStdIO*, FILE*); typedef int (*LPSeek)(struct IPerlStdIO*, FILE*, Off_t, int); typedef void (*LPRewind)(struct IPerlStdIO*, FILE*); typedef FILE* (*LPTmpfile)(struct IPerlStdIO*); typedef int (*LPGetpos)(struct IPerlStdIO*, FILE*, Fpos_t*); typedef int (*LPSetpos)(struct IPerlStdIO*, FILE*, const Fpos_t*); typedef void (*LPInit)(struct IPerlStdIO*); typedef void (*LPInitOSExtras)(struct IPerlStdIO*); typedef FILE* (*LPFdupopen)(struct IPerlStdIO*, FILE*); struct IPerlStdIO { LPStdin pStdin; LPStdout pStdout; LPStderr pStderr; LPOpen pOpen; LPClose pClose; LPEof pEof; LPError pError; LPClearerr pClearerr; LPGetc pGetc; LPGetBase pGetBase; LPGetBufsiz pGetBufsiz; LPGetCnt pGetCnt; LPGetPtr pGetPtr; LPGets pGets; LPPutc pPutc; LPPuts pPuts; LPFlush pFlush; LPUngetc pUngetc; LPFileno pFileno; LPFdopen pFdopen; LPReopen pReopen; LPRead pRead; LPWrite pWrite; LPSetBuf pSetBuf; LPSetVBuf pSetVBuf; LPSetCnt pSetCnt; LPSetPtr pSetPtr; LPSetlinebuf pSetlinebuf; LPPrintf pPrintf; LPVprintf pVprintf; LPTell pTell; LPSeek pSeek; LPRewind pRewind; LPTmpfile pTmpfile; LPGetpos pGetpos; LPSetpos pSetpos; LPInit pInit; LPInitOSExtras pInitOSExtras; LPFdupopen pFdupopen; }; struct IPerlStdIOInfo { unsigned long nCount; /* number of entries expected */ struct IPerlStdIO perlStdIOList; }; /* These do not belong here ... NI-S, 14 Nov 2000 */ #ifdef USE_STDIO_PTR # define PerlSIO_has_cntptr(f) 1 # ifdef STDIO_PTR_LVALUE # ifdef STDIO_CNT_LVALUE # define PerlSIO_canset_cnt(f) 1 # ifdef STDIO_PTR_LVAL_NOCHANGE_CNT # define PerlSIO_fast_gets(f) 1 # endif # else /* STDIO_CNT_LVALUE */ # define PerlSIO_canset_cnt(f) 0 # endif # else /* STDIO_PTR_LVALUE */ # ifdef STDIO_PTR_LVAL_SETS_CNT # define PerlSIO_fast_gets(f) 1 # endif # endif #else /* USE_STDIO_PTR */ # define PerlSIO_has_cntptr(f) 0 # define PerlSIO_canset_cnt(f) 0 #endif /* USE_STDIO_PTR */ #ifndef PerlSIO_fast_gets #define PerlSIO_fast_gets(f) 0 #endif #ifdef FILE_base #define PerlSIO_has_base(f) 1 #else #define PerlSIO_has_base(f) 0 #endif /* Now take FILE * via function table */ #define PerlSIO_stdin \ (*PL_StdIO->pStdin)(PL_StdIO) #define PerlSIO_stdout \ (*PL_StdIO->pStdout)(PL_StdIO) #define PerlSIO_stderr \ (*PL_StdIO->pStderr)(PL_StdIO) #define PerlSIO_fopen(x,y) \ (*PL_StdIO->pOpen)(PL_StdIO, (x),(y)) #define PerlSIO_fclose(f) \ (*PL_StdIO->pClose)(PL_StdIO, (f)) #define PerlSIO_feof(f) \ (*PL_StdIO->pEof)(PL_StdIO, (f)) #define PerlSIO_ferror(f) \ (*PL_StdIO->pError)(PL_StdIO, (f)) #define PerlSIO_clearerr(f) \ (*PL_StdIO->pClearerr)(PL_StdIO, (f)) #define PerlSIO_fgetc(f) \ (*PL_StdIO->pGetc)(PL_StdIO, (f)) #define PerlSIO_get_base(f) \ (*PL_StdIO->pGetBase)(PL_StdIO, (f)) #define PerlSIO_get_bufsiz(f) \ (*PL_StdIO->pGetBufsiz)(PL_StdIO, (f)) #define PerlSIO_get_cnt(f) \ (*PL_StdIO->pGetCnt)(PL_StdIO, (f)) #define PerlSIO_get_ptr(f) \ (*PL_StdIO->pGetPtr)(PL_StdIO, (f)) #define PerlSIO_fputc(c,f) \ (*PL_StdIO->pPutc)(PL_StdIO, (c),(f)) #define PerlSIO_fputs(s,f) \ (*PL_StdIO->pPuts)(PL_StdIO, (s),(f)) #define PerlSIO_fflush(f) \ (*PL_StdIO->pFlush)(PL_StdIO, (f)) #define PerlSIO_fgets(s, n, f) \ (*PL_StdIO->pGets)(PL_StdIO, s, n, (f)) #define PerlSIO_ungetc(c,f) \ (*PL_StdIO->pUngetc)(PL_StdIO, (c),(f)) #define PerlSIO_fileno(f) \ (*PL_StdIO->pFileno)(PL_StdIO, (f)) #define PerlSIO_fdopen(f, s) \ (*PL_StdIO->pFdopen)(PL_StdIO, (f),(s)) #define PerlSIO_freopen(p, m, f) \ (*PL_StdIO->pReopen)(PL_StdIO, (p), (m), (f)) #define PerlSIO_fread(buf,sz,count,f) \ (*PL_StdIO->pRead)(PL_StdIO, (buf), (sz), (count), (f)) #define PerlSIO_fwrite(buf,sz,count,f) \ (*PL_StdIO->pWrite)(PL_StdIO, (buf), (sz), (count), (f)) #define PerlSIO_setbuf(f,b) \ (*PL_StdIO->pSetBuf)(PL_StdIO, (f), (b)) #define PerlSIO_setvbuf(f,b,t,s) \ (*PL_StdIO->pSetVBuf)(PL_StdIO, (f),(b),(t),(s)) #define PerlSIO_set_cnt(f,c) \ (*PL_StdIO->pSetCnt)(PL_StdIO, (f), (c)) #define PerlSIO_set_ptr(f,p) \ (*PL_StdIO->pSetPtr)(PL_StdIO, (f), (p)) #define PerlSIO_setlinebuf(f) \ (*PL_StdIO->pSetlinebuf)(PL_StdIO, (f)) #define PerlSIO_printf Perl_fprintf_nocontext #define PerlSIO_stdoutf Perl_printf_nocontext #define PerlSIO_vprintf(f,fmt,a) \ (*PL_StdIO->pVprintf)(PL_StdIO, (f),(fmt),a) #define PerlSIO_ftell(f) \ (*PL_StdIO->pTell)(PL_StdIO, (f)) #define PerlSIO_fseek(f,o,w) \ (*PL_StdIO->pSeek)(PL_StdIO, (f),(o),(w)) #define PerlSIO_fgetpos(f,p) \ (*PL_StdIO->pGetpos)(PL_StdIO, (f),(p)) #define PerlSIO_fsetpos(f,p) \ (*PL_StdIO->pSetpos)(PL_StdIO, (f),(p)) #define PerlSIO_rewind(f) \ (*PL_StdIO->pRewind)(PL_StdIO, (f)) #define PerlSIO_tmpfile() \ (*PL_StdIO->pTmpfile)(PL_StdIO) #define PerlSIO_init() \ (*PL_StdIO->pInit)(PL_StdIO) #undef init_os_extras #define init_os_extras() \ (*PL_StdIO->pInitOSExtras)(PL_StdIO) #define PerlSIO_fdupopen(f) \ (*PL_StdIO->pFdupopen)(PL_StdIO, (f)) #else /* PERL_IMPLICIT_SYS */ #define PerlSIO_stdin stdin #define PerlSIO_stdout stdout #define PerlSIO_stderr stderr #define PerlSIO_fopen(x,y) fopen(x,y) #ifdef __VOS__ /* Work around VOS bug posix-979, wrongly setting errno when at end of file. */ #define PerlSIO_fclose(f) (((errno==1025)?errno=0:0),fclose(f)) #define PerlSIO_feof(f) (((errno==1025)?errno=0:0),feof(f)) #define PerlSIO_ferror(f) (((errno==1025)?errno=0:0),ferror(f)) #else #define PerlSIO_fclose(f) fclose(f) #define PerlSIO_feof(f) feof(f) #define PerlSIO_ferror(f) ferror(f) #endif #define PerlSIO_clearerr(f) clearerr(f) #define PerlSIO_fgetc(f) fgetc(f) #ifdef FILE_base #define PerlSIO_get_base(f) FILE_base(f) #define PerlSIO_get_bufsiz(f) FILE_bufsiz(f) #else #define PerlSIO_get_base(f) NULL #define PerlSIO_get_bufsiz(f) 0 #endif #ifdef USE_STDIO_PTR #define PerlSIO_get_cnt(f) FILE_cnt(f) #define PerlSIO_get_ptr(f) FILE_ptr(f) #else #define PerlSIO_get_cnt(f) 0 #define PerlSIO_get_ptr(f) NULL #endif #define PerlSIO_fputc(c,f) fputc(c,f) #define PerlSIO_fputs(s,f) fputs(s,f) #define PerlSIO_fflush(f) Fflush(f) #define PerlSIO_fgets(s, n, f) fgets(s,n,f) #if defined(__VMS) /* Unusual definition of ungetc() here to accommodate fast_sv_gets()' * belief that it can mix getc/ungetc with reads from stdio buffer */ START_EXTERN_C int decc$ungetc(int __c, FILE *__stream); END_EXTERN_C # define PerlSIO_ungetc(c,f) ((c) == EOF ? EOF : \ ((*(f) && !((*(f))->_flag & _IONBF) && \ ((*(f))->_ptr > (*(f))->_base)) ? \ ((*(f))->_cnt++, *(--(*(f))->_ptr) = (c)) : decc$ungetc(c,f))) #else # define PerlSIO_ungetc(c,f) ungetc(c,f) #endif #define PerlSIO_fileno(f) fileno(f) #define PerlSIO_fdopen(f, s) fdopen(f,s) #define PerlSIO_freopen(p, m, f) freopen(p,m,f) #define PerlSIO_fread(buf,sz,count,f) fread(buf,sz,count,f) #define PerlSIO_fwrite(buf,sz,count,f) fwrite(buf,sz,count,f) #define PerlSIO_setbuf(f,b) setbuf(f,b) #define PerlSIO_setvbuf(f,b,t,s) setvbuf(f,b,t,s) #if defined(USE_STDIO_PTR) && defined(STDIO_CNT_LVALUE) #define PerlSIO_set_cnt(f,c) FILE_cnt(f) = (c) #else #define PerlSIO_set_cnt(f,c) PerlIOProc_abort() #endif #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE) #define PerlSIO_set_ptr(f,p) (FILE_ptr(f) = (p)) #else #define PerlSIO_set_ptr(f,p) PerlIOProc_abort() #endif #define PerlSIO_setlinebuf(f) setlinebuf(f) #define PerlSIO_printf fprintf #define PerlSIO_stdoutf printf #define PerlSIO_vprintf(f,fmt,a) vfprintf(f,fmt,a) #define PerlSIO_ftell(f) ftell(f) #define PerlSIO_fseek(f,o,w) fseek(f,o,w) #define PerlSIO_fgetpos(f,p) fgetpos(f,p) #define PerlSIO_fsetpos(f,p) fsetpos(f,p) #define PerlSIO_rewind(f) rewind(f) #define PerlSIO_tmpfile() tmpfile() #define PerlSIO_fdupopen(f) (f) #endif /* PERL_IMPLICIT_SYS */ /* * Interface for directory functions */ #if defined(PERL_IMPLICIT_SYS) /* IPerlDir */ struct IPerlDir; struct IPerlDirInfo; typedef int (*LPMakedir)(struct IPerlDir*, const char*, int); typedef int (*LPChdir)(struct IPerlDir*, const char*); typedef int (*LPRmdir)(struct IPerlDir*, const char*); typedef int (*LPDirClose)(struct IPerlDir*, DIR*); typedef DIR* (*LPDirOpen)(struct IPerlDir*, const char*); typedef struct direct* (*LPDirRead)(struct IPerlDir*, DIR*); typedef void (*LPDirRewind)(struct IPerlDir*, DIR*); typedef void (*LPDirSeek)(struct IPerlDir*, DIR*, long); typedef long (*LPDirTell)(struct IPerlDir*, DIR*); #ifdef WIN32 typedef char* (*LPDirMapPathA)(struct IPerlDir*, const char*); typedef WCHAR* (*LPDirMapPathW)(struct IPerlDir*, const WCHAR*); #endif struct IPerlDir { LPMakedir pMakedir; LPChdir pChdir; LPRmdir pRmdir; LPDirClose pClose; LPDirOpen pOpen; LPDirRead pRead; LPDirRewind pRewind; LPDirSeek pSeek; LPDirTell pTell; #ifdef WIN32 LPDirMapPathA pMapPathA; LPDirMapPathW pMapPathW; #endif }; struct IPerlDirInfo { unsigned long nCount; /* number of entries expected */ struct IPerlDir perlDirList; }; #define PerlDir_mkdir(name, mode) \ (*PL_Dir->pMakedir)(PL_Dir, (name), (mode)) #define PerlDir_chdir(name) \ (*PL_Dir->pChdir)(PL_Dir, (name)) #define PerlDir_rmdir(name) \ (*PL_Dir->pRmdir)(PL_Dir, (name)) #define PerlDir_close(dir) \ (*PL_Dir->pClose)(PL_Dir, (dir)) #define PerlDir_open(name) \ (*PL_Dir->pOpen)(PL_Dir, (name)) #define PerlDir_read(dir) \ (*PL_Dir->pRead)(PL_Dir, (dir)) #define PerlDir_rewind(dir) \ (*PL_Dir->pRewind)(PL_Dir, (dir)) #define PerlDir_seek(dir, loc) \ (*PL_Dir->pSeek)(PL_Dir, (dir), (loc)) #define PerlDir_tell(dir) \ (*PL_Dir->pTell)(PL_Dir, (dir)) #ifdef WIN32 #define PerlDir_mapA(dir) \ (*PL_Dir->pMapPathA)(PL_Dir, (dir)) #define PerlDir_mapW(dir) \ (*PL_Dir->pMapPathW)(PL_Dir, (dir)) #endif #else /* PERL_IMPLICIT_SYS */ #define PerlDir_mkdir(name, mode) Mkdir((name), (mode)) #ifdef VMS # define PerlDir_chdir(n) Chdir((n)) #else # define PerlDir_chdir(name) chdir((name)) #endif #define PerlDir_rmdir(name) rmdir((name)) #define PerlDir_close(dir) closedir((dir)) #define PerlDir_open(name) opendir((name)) #define PerlDir_read(dir) readdir((dir)) #define PerlDir_rewind(dir) rewinddir((dir)) #define PerlDir_seek(dir, loc) seekdir((dir), (loc)) #define PerlDir_tell(dir) telldir((dir)) #ifdef WIN32 #define PerlDir_mapA(dir) dir #define PerlDir_mapW(dir) dir #endif #endif /* PERL_IMPLICIT_SYS */ /* Interface for perl environment functions */ #if defined(PERL_IMPLICIT_SYS) /* IPerlEnv */ struct IPerlEnv; struct IPerlEnvInfo; typedef char* (*LPEnvGetenv)(struct IPerlEnv*, const char*); typedef int (*LPEnvPutenv)(struct IPerlEnv*, const char*); typedef char* (*LPEnvGetenv_len)(struct IPerlEnv*, const char *varname, unsigned long *len); typedef int (*LPEnvUname)(struct IPerlEnv*, struct utsname *name); typedef void (*LPEnvClearenv)(struct IPerlEnv*); typedef void* (*LPEnvGetChildenv)(struct IPerlEnv*); typedef void (*LPEnvFreeChildenv)(struct IPerlEnv*, void* env); typedef char* (*LPEnvGetChilddir)(struct IPerlEnv*); typedef void (*LPEnvFreeChilddir)(struct IPerlEnv*, char* dir); #ifdef HAS_ENVGETENV typedef char* (*LPENVGetenv)(struct IPerlEnv*, const char *varname); typedef char* (*LPENVGetenv_len)(struct IPerlEnv*, const char *varname, unsigned long *len); #endif #ifdef WIN32 typedef unsigned long (*LPEnvOsID)(struct IPerlEnv*); typedef char* (*LPEnvLibPath)(struct IPerlEnv*, WIN32_NO_REGISTRY_M_(const char*) STRLEN *const len); typedef char* (*LPEnvSiteLibPath)(struct IPerlEnv*, const char*, STRLEN *const len); typedef char* (*LPEnvVendorLibPath)(struct IPerlEnv*, const char*, STRLEN *const len); typedef void (*LPEnvGetChildIO)(struct IPerlEnv*, child_IO_table*); #endif struct IPerlEnv { LPEnvGetenv pGetenv; LPEnvPutenv pPutenv; LPEnvGetenv_len pGetenv_len; LPEnvUname pEnvUname; LPEnvClearenv pClearenv; LPEnvGetChildenv pGetChildenv; LPEnvFreeChildenv pFreeChildenv; LPEnvGetChilddir pGetChilddir; LPEnvFreeChilddir pFreeChilddir; #ifdef HAS_ENVGETENV LPENVGetenv pENVGetenv; LPENVGetenv_len pENVGetenv_len; #endif #ifdef WIN32 LPEnvOsID pEnvOsID; LPEnvLibPath pLibPath; LPEnvSiteLibPath pSiteLibPath; LPEnvVendorLibPath pVendorLibPath; LPEnvGetChildIO pGetChildIO; #endif }; struct IPerlEnvInfo { unsigned long nCount; /* number of entries expected */ struct IPerlEnv perlEnvList; }; #define PerlEnv_putenv(str) \ (*PL_Env->pPutenv)(PL_Env,(str)) #define PerlEnv_getenv(str) \ (*PL_Env->pGetenv)(PL_Env,(str)) #define PerlEnv_getenv_len(str,l) \ (*PL_Env->pGetenv_len)(PL_Env,(str), (l)) #define PerlEnv_clearenv() \ (*PL_Env->pClearenv)(PL_Env) #define PerlEnv_get_childenv() \ (*PL_Env->pGetChildenv)(PL_Env) #define PerlEnv_free_childenv(e) \ (*PL_Env->pFreeChildenv)(PL_Env, (e)) #define PerlEnv_get_childdir() \ (*PL_Env->pGetChilddir)(PL_Env) #define PerlEnv_free_childdir(d) \ (*PL_Env->pFreeChilddir)(PL_Env, (d)) #ifdef HAS_ENVGETENV # define PerlEnv_ENVgetenv(str) \ (*PL_Env->pENVGetenv)(PL_Env,(str)) # define PerlEnv_ENVgetenv_len(str,l) \ (*PL_Env->pENVGetenv_len)(PL_Env,(str), (l)) #else # define PerlEnv_ENVgetenv(str) \ PerlEnv_getenv((str)) # define PerlEnv_ENVgetenv_len(str,l) \ PerlEnv_getenv_len((str),(l)) #endif #define PerlEnv_uname(name) \ (*PL_Env->pEnvUname)(PL_Env,(name)) #ifdef WIN32 #define PerlEnv_os_id() \ (*PL_Env->pEnvOsID)(PL_Env) #define PerlEnv_lib_path(str, lenp) \ (*PL_Env->pLibPath)(PL_Env,WIN32_NO_REGISTRY_M_(str)(lenp)) #define PerlEnv_sitelib_path(str, lenp) \ (*PL_Env->pSiteLibPath)(PL_Env,(str),(lenp)) #define PerlEnv_vendorlib_path(str, lenp) \ (*PL_Env->pVendorLibPath)(PL_Env,(str),(lenp)) #define PerlEnv_get_child_IO(ptr) \ (*PL_Env->pGetChildIO)(PL_Env, ptr) #endif #else /* below is ! PERL_IMPLICIT_SYS */ # ifdef USE_ITHREADS /* Use the comma operator to return 0/non-zero, while avoiding putting * this in an inline function */ # define PerlEnv_putenv(str) (ENV_LOCK, (putenv(str) \ ? (ENV_UNLOCK, 1) \ : (ENV_UNLOCK, 0))) # else # define PerlEnv_putenv(str) putenv(str) # endif #define PerlEnv_getenv(str) mortal_getenv(str) #define PerlEnv_getenv_len(str,l) getenv_len((str), (l)) #ifdef HAS_ENVGETENV # define PerlEnv_ENVgetenv(str) ENVgetenv((str)) # define PerlEnv_ENVgetenv_len(str,l) ENVgetenv_len((str), (l)) #else # define PerlEnv_ENVgetenv(str) PerlEnv_getenv((str)) # define PerlEnv_ENVgetenv_len(str,l) PerlEnv_getenv_len((str), (l)) #endif #define PerlEnv_uname(name) uname((name)) #ifdef WIN32 #define PerlEnv_os_id() win32_os_id() #define PerlEnv_lib_path(str, lenp) win32_get_privlib(WIN32_NO_REGISTRY_M_(str) lenp) #define PerlEnv_sitelib_path(str, lenp) win32_get_sitelib(str, lenp) #define PerlEnv_vendorlib_path(str, lenp) win32_get_vendorlib(str, lenp) #define PerlEnv_get_child_IO(ptr) win32_get_child_IO(ptr) #define PerlEnv_clearenv() win32_clearenv() #define PerlEnv_get_childenv() win32_get_childenv() #define PerlEnv_free_childenv(e) win32_free_childenv((e)) #define PerlEnv_get_childdir() win32_get_childdir() #define PerlEnv_free_childdir(d) win32_free_childdir((d)) #else #define PerlEnv_clearenv(str) (ENV_LOCK, (clearenv(str) \ ? (ENV_UNLOCK, 1) \ : (ENV_UNLOCK, 0))) #define PerlEnv_get_childenv() get_childenv() #define PerlEnv_free_childenv(e) free_childenv((e)) #define PerlEnv_get_childdir() get_childdir() #define PerlEnv_free_childdir(d) free_childdir((d)) #endif #endif /* PERL_IMPLICIT_SYS */ /* Interface for perl low-level IO functions */ #if defined(PERL_IMPLICIT_SYS) struct utimbuf; /* prevent gcc warning about the use below */ /* IPerlLIO */ struct IPerlLIO; struct IPerlLIOInfo; typedef int (*LPLIOAccess)(struct IPerlLIO*, const char*, int); typedef int (*LPLIOChmod)(struct IPerlLIO*, const char*, int); typedef int (*LPLIOChown)(struct IPerlLIO*, const char*, uid_t, gid_t); typedef int (*LPLIOChsize)(struct IPerlLIO*, int, Off_t); typedef int (*LPLIOClose)(struct IPerlLIO*, int); typedef int (*LPLIODup)(struct IPerlLIO*, int); typedef int (*LPLIODup2)(struct IPerlLIO*, int, int); typedef int (*LPLIOFlock)(struct IPerlLIO*, int, int); typedef int (*LPLIOFileStat)(struct IPerlLIO*, int, Stat_t*); typedef int (*LPLIOIOCtl)(struct IPerlLIO*, int, unsigned int, char*); typedef int (*LPLIOIsatty)(struct IPerlLIO*, int); typedef int (*LPLIOLink)(struct IPerlLIO*, const char*, const char *); typedef Off_t (*LPLIOLseek)(struct IPerlLIO*, int, Off_t, int); typedef int (*LPLIOLstat)(struct IPerlLIO*, const char*, Stat_t*); typedef char* (*LPLIOMktemp)(struct IPerlLIO*, char*); typedef int (*LPLIOOpen)(struct IPerlLIO*, const char*, int); typedef int (*LPLIOOpen3)(struct IPerlLIO*, const char*, int, int); typedef int (*LPLIORead)(struct IPerlLIO*, int, void*, unsigned int); typedef int (*LPLIORename)(struct IPerlLIO*, const char*, const char*); #ifdef NETWARE typedef int (*LPLIOSetmode)(struct IPerlLIO*, FILE*, int); #else typedef int (*LPLIOSetmode)(struct IPerlLIO*, int, int); #endif /* NETWARE */ typedef int (*LPLIONameStat)(struct IPerlLIO*, const char*, Stat_t*); typedef char* (*LPLIOTmpnam)(struct IPerlLIO*, char*); typedef int (*LPLIOUmask)(struct IPerlLIO*, int); typedef int (*LPLIOUnlink)(struct IPerlLIO*, const char*); typedef int (*LPLIOUtime)(struct IPerlLIO*, const char*, struct utimbuf*); typedef int (*LPLIOWrite)(struct IPerlLIO*, int, const void*, unsigned int); struct IPerlLIO { LPLIOAccess pAccess; LPLIOChmod pChmod; LPLIOChown pChown; LPLIOChsize pChsize; LPLIOClose pClose; LPLIODup pDup; LPLIODup2 pDup2; LPLIOFlock pFlock; LPLIOFileStat pFileStat; LPLIOIOCtl pIOCtl; LPLIOIsatty pIsatty; LPLIOLink pLink; LPLIOLseek pLseek; LPLIOLstat pLstat; LPLIOMktemp pMktemp; LPLIOOpen pOpen; LPLIOOpen3 pOpen3; LPLIORead pRead; LPLIORename pRename; LPLIOSetmode pSetmode; LPLIONameStat pNameStat; LPLIOTmpnam pTmpnam; LPLIOUmask pUmask; LPLIOUnlink pUnlink; LPLIOUtime pUtime; LPLIOWrite pWrite; }; struct IPerlLIOInfo { unsigned long nCount; /* number of entries expected */ struct IPerlLIO perlLIOList; }; #define PerlLIO_access(file, mode) \ (*PL_LIO->pAccess)(PL_LIO, (file), (mode)) #define PerlLIO_chmod(file, mode) \ (*PL_LIO->pChmod)(PL_LIO, (file), (mode)) #define PerlLIO_chown(file, owner, group) \ (*PL_LIO->pChown)(PL_LIO, (file), (owner), (group)) #define PerlLIO_chsize(fd, size) \ (*PL_LIO->pChsize)(PL_LIO, (fd), (size)) #define PerlLIO_close(fd) \ (*PL_LIO->pClose)(PL_LIO, (fd)) #define PerlLIO_dup(fd) \ (*PL_LIO->pDup)(PL_LIO, (fd)) #define PerlLIO_dup2(fd1, fd2) \ (*PL_LIO->pDup2)(PL_LIO, (fd1), (fd2)) #define PerlLIO_flock(fd, op) \ (*PL_LIO->pFlock)(PL_LIO, (fd), (op)) #define PerlLIO_fstat(fd, buf) \ (*PL_LIO->pFileStat)(PL_LIO, (fd), (buf)) #define PerlLIO_ioctl(fd, u, buf) \ (*PL_LIO->pIOCtl)(PL_LIO, (fd), (u), (buf)) #define PerlLIO_isatty(fd) \ (*PL_LIO->pIsatty)(PL_LIO, (fd)) #define PerlLIO_link(oldname, newname) \ (*PL_LIO->pLink)(PL_LIO, (oldname), (newname)) #define PerlLIO_lseek(fd, offset, mode) \ (*PL_LIO->pLseek)(PL_LIO, (fd), (offset), (mode)) #define PerlLIO_lstat(name, buf) \ (*PL_LIO->pLstat)(PL_LIO, (name), (buf)) #define PerlLIO_mktemp(file) \ (*PL_LIO->pMktemp)(PL_LIO, (file)) #define PerlLIO_open(file, flag) \ (*PL_LIO->pOpen)(PL_LIO, (file), (flag)) #define PerlLIO_open3(file, flag, perm) \ (*PL_LIO->pOpen3)(PL_LIO, (file), (flag), (perm)) #define PerlLIO_read(fd, buf, count) \ (*PL_LIO->pRead)(PL_LIO, (fd), (buf), (count)) #define PerlLIO_rename(oname, newname) \ (*PL_LIO->pRename)(PL_LIO, (oname), (newname)) #define PerlLIO_setmode(fd, mode) \ (*PL_LIO->pSetmode)(PL_LIO, (fd), (mode)) #define PerlLIO_stat(name, buf) \ (*PL_LIO->pNameStat)(PL_LIO, (name), (buf)) #define PerlLIO_tmpnam(str) \ (*PL_LIO->pTmpnam)(PL_LIO, (str)) #define PerlLIO_umask(mode) \ (*PL_LIO->pUmask)(PL_LIO, (mode)) #define PerlLIO_unlink(file) \ (*PL_LIO->pUnlink)(PL_LIO, (file)) #define PerlLIO_utime(file, time) \ (*PL_LIO->pUtime)(PL_LIO, (file), (time)) #define PerlLIO_write(fd, buf, count) \ (*PL_LIO->pWrite)(PL_LIO, (fd), (buf), (count)) #else /* PERL_IMPLICIT_SYS */ #define PerlLIO_access(file, mode) access((file), (mode)) #define PerlLIO_chmod(file, mode) chmod((file), (mode)) #define PerlLIO_chown(file, owner, grp) chown((file), (owner), (grp)) #if defined(HAS_TRUNCATE) # define PerlLIO_chsize(fd, size) ftruncate((fd), (size)) #elif defined(HAS_CHSIZE) # define PerlLIO_chsize(fd, size) chsize((fd), (size)) #else # define PerlLIO_chsize(fd, size) my_chsize((fd), (size)) #endif #define PerlLIO_close(fd) close((fd)) #define PerlLIO_dup(fd) dup((fd)) #define PerlLIO_dup2(fd1, fd2) dup2((fd1), (fd2)) #define PerlLIO_flock(fd, op) FLOCK((fd), (op)) #define PerlLIO_fstat(fd, buf) Fstat((fd), (buf)) #define PerlLIO_ioctl(fd, u, buf) ioctl((fd), (u), (buf)) #define PerlLIO_isatty(fd) isatty((fd)) #define PerlLIO_link(oldname, newname) link((oldname), (newname)) #define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode)) #define PerlLIO_stat(name, buf) Stat((name), (buf)) #ifdef HAS_LSTAT # define PerlLIO_lstat(name, buf) lstat((name), (buf)) #else # define PerlLIO_lstat(name, buf) PerlLIO_stat((name), (buf)) #endif #define PerlLIO_mktemp(file) mktemp((file)) #define PerlLIO_open(file, flag) open((file), (flag)) #define PerlLIO_open3(file, flag, perm) open((file), (flag), (perm)) #define PerlLIO_read(fd, buf, count) read((fd), (buf), (count)) #define PerlLIO_rename(old, new) rename((old), (new)) #define PerlLIO_setmode(fd, mode) setmode((fd), (mode)) #define PerlLIO_tmpnam(str) tmpnam((str)) #define PerlLIO_umask(mode) umask((mode)) #define PerlLIO_unlink(file) unlink((file)) #define PerlLIO_utime(file, time) utime((file), (time)) #define PerlLIO_write(fd, buf, count) write((fd), (buf), (count)) #endif /* PERL_IMPLICIT_SYS */ /* Interface for perl memory allocation */ #if defined(PERL_IMPLICIT_SYS) /* IPerlMem */ struct IPerlMem; struct IPerlMemInfo; typedef void* (*LPMemMalloc)(struct IPerlMem*, size_t); typedef void* (*LPMemRealloc)(struct IPerlMem*, void*, size_t); typedef void (*LPMemFree)(struct IPerlMem*, void*); typedef void* (*LPMemCalloc)(struct IPerlMem*, size_t, size_t); typedef void (*LPMemGetLock)(struct IPerlMem*); typedef void (*LPMemFreeLock)(struct IPerlMem*); typedef int (*LPMemIsLocked)(struct IPerlMem*); struct IPerlMem { LPMemMalloc pMalloc; LPMemRealloc pRealloc; LPMemFree pFree; LPMemCalloc pCalloc; LPMemGetLock pGetLock; LPMemFreeLock pFreeLock; LPMemIsLocked pIsLocked; }; struct IPerlMemInfo { unsigned long nCount; /* number of entries expected */ struct IPerlMem perlMemList; }; /* Interpreter specific memory macros */ #define PerlMem_malloc(size) \ (*PL_Mem->pMalloc)(PL_Mem, (size)) #define PerlMem_realloc(buf, size) \ (*PL_Mem->pRealloc)(PL_Mem, (buf), (size)) #define PerlMem_free(buf) \ (*PL_Mem->pFree)(PL_Mem, (buf)) #define PerlMem_calloc(num, size) \ (*PL_Mem->pCalloc)(PL_Mem, (num), (size)) #define PerlMem_get_lock() \ (*PL_Mem->pGetLock)(PL_Mem) #define PerlMem_free_lock() \ (*PL_Mem->pFreeLock)(PL_Mem) #define PerlMem_is_locked() \ (*PL_Mem->pIsLocked)(PL_Mem) /* Shared memory macros */ #ifdef NETWARE #define PerlMemShared_malloc(size) \ (*PL_Mem->pMalloc)(PL_Mem, (size)) #define PerlMemShared_realloc(buf, size) \ (*PL_Mem->pRealloc)(PL_Mem, (buf), (size)) #define PerlMemShared_free(buf) \ (*PL_Mem->pFree)(PL_Mem, (buf)) #define PerlMemShared_calloc(num, size) \ (*PL_Mem->pCalloc)(PL_Mem, (num), (size)) #define PerlMemShared_get_lock() \ (*PL_Mem->pGetLock)(PL_Mem) #define PerlMemShared_free_lock() \ (*PL_Mem->pFreeLock)(PL_Mem) #define PerlMemShared_is_locked() \ (*PL_Mem->pIsLocked)(PL_Mem) #else #define PerlMemShared_malloc(size) \ (*PL_MemShared->pMalloc)(PL_MemShared, (size)) #define PerlMemShared_realloc(buf, size) \ (*PL_MemShared->pRealloc)(PL_MemShared, (buf), (size)) #define PerlMemShared_free(buf) \ (*PL_MemShared->pFree)(PL_MemShared, (buf)) #define PerlMemShared_calloc(num, size) \ (*PL_MemShared->pCalloc)(PL_MemShared, (num), (size)) #define PerlMemShared_get_lock() \ (*PL_MemShared->pGetLock)(PL_MemShared) #define PerlMemShared_free_lock() \ (*PL_MemShared->pFreeLock)(PL_MemShared) #define PerlMemShared_is_locked() \ (*PL_MemShared->pIsLocked)(PL_MemShared) #endif /* Parse tree memory macros */ #define PerlMemParse_malloc(size) \ (*PL_MemParse->pMalloc)(PL_MemParse, (size)) #define PerlMemParse_realloc(buf, size) \ (*PL_MemParse->pRealloc)(PL_MemParse, (buf), (size)) #define PerlMemParse_free(buf) \ (*PL_MemParse->pFree)(PL_MemParse, (buf)) #define PerlMemParse_calloc(num, size) \ (*PL_MemParse->pCalloc)(PL_MemParse, (num), (size)) #define PerlMemParse_get_lock() \ (*PL_MemParse->pGetLock)(PL_MemParse) #define PerlMemParse_free_lock() \ (*PL_MemParse->pFreeLock)(PL_MemParse) #define PerlMemParse_is_locked() \ (*PL_MemParse->pIsLocked)(PL_MemParse) #else /* PERL_IMPLICIT_SYS */ /* Interpreter specific memory macros */ #define PerlMem_malloc(size) malloc((size)) #define PerlMem_realloc(buf, size) realloc((buf), (size)) #define PerlMem_free(buf) free((buf)) #define PerlMem_calloc(num, size) calloc((num), (size)) #define PerlMem_get_lock() #define PerlMem_free_lock() #define PerlMem_is_locked() 0 /* Shared memory macros */ #define PerlMemShared_malloc(size) malloc((size)) #define PerlMemShared_realloc(buf, size) realloc((buf), (size)) #define PerlMemShared_free(buf) free((buf)) #define PerlMemShared_calloc(num, size) calloc((num), (size)) #define PerlMemShared_get_lock() #define PerlMemShared_free_lock() #define PerlMemShared_is_locked() 0 /* Parse tree memory macros */ #define PerlMemParse_malloc(size) malloc((size)) #define PerlMemParse_realloc(buf, size) realloc((buf), (size)) #define PerlMemParse_free(buf) free((buf)) #define PerlMemParse_calloc(num, size) calloc((num), (size)) #define PerlMemParse_get_lock() #define PerlMemParse_free_lock() #define PerlMemParse_is_locked() 0 #endif /* PERL_IMPLICIT_SYS */ /* Interface for perl process functions */ #if defined(PERL_IMPLICIT_SYS) #ifndef jmp_buf #include <setjmp.h> #endif /* IPerlProc */ struct IPerlProc; struct IPerlProcInfo; typedef void (*LPProcAbort)(struct IPerlProc*); typedef char* (*LPProcCrypt)(struct IPerlProc*, const char*, const char*); typedef void (*LPProcExit)(struct IPerlProc*, int) __attribute__noreturn__; typedef void (*LPProc_Exit)(struct IPerlProc*, int) __attribute__noreturn__; typedef int (*LPProcExecl)(struct IPerlProc*, const char*, const char*, const char*, const char*, const char*); typedef int (*LPProcExecv)(struct IPerlProc*, const char*, const char*const*); typedef int (*LPProcExecvp)(struct IPerlProc*, const char*, const char*const*); typedef Uid_t (*LPProcGetuid)(struct IPerlProc*); typedef Uid_t (*LPProcGeteuid)(struct IPerlProc*); typedef Gid_t (*LPProcGetgid)(struct IPerlProc*); typedef Gid_t (*LPProcGetegid)(struct IPerlProc*); typedef char* (*LPProcGetlogin)(struct IPerlProc*); typedef int (*LPProcKill)(struct IPerlProc*, int, int); typedef int (*LPProcKillpg)(struct IPerlProc*, int, int); typedef int (*LPProcPauseProc)(struct IPerlProc*); typedef PerlIO* (*LPProcPopen)(struct IPerlProc*, const char*, const char*); typedef PerlIO* (*LPProcPopenList)(struct IPerlProc*, const char*, IV narg, SV **args); typedef int (*LPProcPclose)(struct IPerlProc*, PerlIO*); typedef int (*LPProcPipe)(struct IPerlProc*, int*); typedef int (*LPProcSetuid)(struct IPerlProc*, uid_t); typedef int (*LPProcSetgid)(struct IPerlProc*, gid_t); typedef int (*LPProcSleep)(struct IPerlProc*, unsigned int); typedef int (*LPProcTimes)(struct IPerlProc*, struct tms*); typedef int (*LPProcWait)(struct IPerlProc*, int*); typedef int (*LPProcWaitpid)(struct IPerlProc*, int, int*, int); typedef Sighandler_t (*LPProcSignal)(struct IPerlProc*, int, Sighandler_t); typedef int (*LPProcFork)(struct IPerlProc*); typedef int (*LPProcGetpid)(struct IPerlProc*); #ifdef WIN32 typedef void* (*LPProcDynaLoader)(struct IPerlProc*, const char*); typedef void (*LPProcGetOSError)(struct IPerlProc*, SV* sv, DWORD dwErr); typedef int (*LPProcSpawnvp)(struct IPerlProc*, int, const char*, const char*const*); #endif typedef int (*LPProcLastHost)(struct IPerlProc*); typedef int (*LPProcGetTimeOfDay)(struct IPerlProc*, struct timeval*, void*); struct IPerlProc { LPProcAbort pAbort; LPProcCrypt pCrypt; LPProcExit pExit; LPProc_Exit p_Exit; LPProcExecl pExecl; LPProcExecv pExecv; LPProcExecvp pExecvp; LPProcGetuid pGetuid; LPProcGeteuid pGeteuid; LPProcGetgid pGetgid; LPProcGetegid pGetegid; LPProcGetlogin pGetlogin; LPProcKill pKill; LPProcKillpg pKillpg; LPProcPauseProc pPauseProc; LPProcPopen pPopen; LPProcPclose pPclose; LPProcPipe pPipe; LPProcSetuid pSetuid; LPProcSetgid pSetgid; LPProcSleep pSleep; LPProcTimes pTimes; LPProcWait pWait; LPProcWaitpid pWaitpid; LPProcSignal pSignal; LPProcFork pFork; LPProcGetpid pGetpid; #ifdef WIN32 LPProcDynaLoader pDynaLoader; LPProcGetOSError pGetOSError; LPProcSpawnvp pSpawnvp; #endif LPProcLastHost pLastHost; LPProcPopenList pPopenList; LPProcGetTimeOfDay pGetTimeOfDay; }; struct IPerlProcInfo { unsigned long nCount; /* number of entries expected */ struct IPerlProc perlProcList; }; #define PerlProc_abort() \ (*PL_Proc->pAbort)(PL_Proc) #define PerlProc_crypt(c,s) \ (*PL_Proc->pCrypt)(PL_Proc, (c), (s)) #define PerlProc_exit(s) \ (*PL_Proc->pExit)(PL_Proc, (s)) #define PerlProc__exit(s) \ (*PL_Proc->p_Exit)(PL_Proc, (s)) #define PerlProc_execl(c, w, x, y, z) \ (*PL_Proc->pExecl)(PL_Proc, (c), (w), (x), (y), (z)) #define PerlProc_execv(c, a) \ (*PL_Proc->pExecv)(PL_Proc, (c), (a)) #define PerlProc_execvp(c, a) \ (*PL_Proc->pExecvp)(PL_Proc, (c), (a)) #define PerlProc_getuid() \ (*PL_Proc->pGetuid)(PL_Proc) #define PerlProc_geteuid() \ (*PL_Proc->pGeteuid)(PL_Proc) #define PerlProc_getgid() \ (*PL_Proc->pGetgid)(PL_Proc) #define PerlProc_getegid() \ (*PL_Proc->pGetegid)(PL_Proc) #define PerlProc_getlogin() \ (*PL_Proc->pGetlogin)(PL_Proc) #define PerlProc_kill(i, a) \ (*PL_Proc->pKill)(PL_Proc, (i), (a)) #define PerlProc_killpg(i, a) \ (*PL_Proc->pKillpg)(PL_Proc, (i), (a)) #define PerlProc_pause() \ (*PL_Proc->pPauseProc)(PL_Proc) #define PerlProc_popen(c, m) \ (*PL_Proc->pPopen)(PL_Proc, (c), (m)) #define PerlProc_popen_list(m, n, a) \ (*PL_Proc->pPopenList)(PL_Proc, (m), (n), (a)) #define PerlProc_pclose(f) \ (*PL_Proc->pPclose)(PL_Proc, (f)) #define PerlProc_pipe(fd) \ (*PL_Proc->pPipe)(PL_Proc, (fd)) #define PerlProc_setuid(u) \ (*PL_Proc->pSetuid)(PL_Proc, (u)) #define PerlProc_setgid(g) \ (*PL_Proc->pSetgid)(PL_Proc, (g)) #define PerlProc_sleep(t) \ (*PL_Proc->pSleep)(PL_Proc, (t)) #define PerlProc_times(t) \ (*PL_Proc->pTimes)(PL_Proc, (t)) #define PerlProc_wait(t) \ (*PL_Proc->pWait)(PL_Proc, (t)) #define PerlProc_waitpid(p,s,f) \ (*PL_Proc->pWaitpid)(PL_Proc, (p), (s), (f)) #define PerlProc_signal(n, h) \ (*PL_Proc->pSignal)(PL_Proc, (n), (h)) #define PerlProc_fork() \ (*PL_Proc->pFork)(PL_Proc) #define PerlProc_getpid() \ (*PL_Proc->pGetpid)(PL_Proc) #define PerlProc_setjmp(b, n) Sigsetjmp((b), (n)) #define PerlProc_longjmp(b, n) Siglongjmp((b), (n)) #ifdef WIN32 #define PerlProc_DynaLoad(f) \ (*PL_Proc->pDynaLoader)(PL_Proc, (f)) #define PerlProc_GetOSError(s,e) \ (*PL_Proc->pGetOSError)(PL_Proc, (s), (e)) #define PerlProc_spawnvp(m, c, a) \ (*PL_Proc->pSpawnvp)(PL_Proc, (m), (c), (a)) #endif #define PerlProc_lasthost() \ (*PL_Proc->pLastHost)(PL_Proc) #define PerlProc_gettimeofday(t,z) \ (*PL_Proc->pGetTimeOfDay)(PL_Proc,(t),(z)) #else /* PERL_IMPLICIT_SYS */ #define PerlProc_abort() abort() #define PerlProc_crypt(c,s) crypt((c), (s)) #define PerlProc_exit(s) exit((s)) #define PerlProc__exit(s) _exit((s)) #define PerlProc_execl(c,w,x,y,z) \ execl((c), (w), (x), (y), (z)) #define PerlProc_execv(c, a) execv((c), (a)) #define PerlProc_execvp(c, a) execvp((c), (a)) #define PerlProc_getuid() getuid() #define PerlProc_geteuid() geteuid() #define PerlProc_getgid() getgid() #define PerlProc_getegid() getegid() #define PerlProc_getlogin() getlogin() #define PerlProc_kill(i, a) kill((i), (a)) #define PerlProc_killpg(i, a) killpg((i), (a)) #define PerlProc_pause() Pause() #define PerlProc_popen(c, m) my_popen((c), (m)) #define PerlProc_popen_list(m,n,a) my_popen_list((m),(n),(a)) #define PerlProc_pclose(f) my_pclose((f)) #define PerlProc_pipe(fd) pipe((fd)) #define PerlProc_setuid(u) setuid((u)) #define PerlProc_setgid(g) setgid((g)) #define PerlProc_sleep(t) sleep((t)) #define PerlProc_times(t) times((t)) #define PerlProc_wait(t) wait((t)) #define PerlProc_waitpid(p,s,f) waitpid((p), (s), (f)) #define PerlProc_setjmp(b, n) Sigsetjmp((b), (n)) #define PerlProc_longjmp(b, n) Siglongjmp((b), (n)) #define PerlProc_signal(n, h) signal((n), (h)) #define PerlProc_fork() my_fork() #define PerlProc_getpid() getpid() #define PerlProc_gettimeofday(t,z) gettimeofday((t),(z)) #ifdef WIN32 #define PerlProc_DynaLoad(f) \ win32_dynaload((f)) #define PerlProc_GetOSError(s,e) \ win32_str_os_error((s), (e)) #define PerlProc_spawnvp(m, c, a) \ win32_spawnvp((m), (c), (a)) #undef PerlProc_signal #define PerlProc_signal(n, h) win32_signal((n), (h)) #endif #endif /* PERL_IMPLICIT_SYS */ /* Interface for perl socket functions */ #if defined(PERL_IMPLICIT_SYS) /* PerlSock */ struct IPerlSock; struct IPerlSockInfo; typedef u_long (*LPHtonl)(struct IPerlSock*, u_long); typedef u_short (*LPHtons)(struct IPerlSock*, u_short); typedef u_long (*LPNtohl)(struct IPerlSock*, u_long); typedef u_short (*LPNtohs)(struct IPerlSock*, u_short); typedef SOCKET (*LPAccept)(struct IPerlSock*, SOCKET, struct sockaddr*, int*); typedef int (*LPBind)(struct IPerlSock*, SOCKET, const struct sockaddr*, int); typedef int (*LPConnect)(struct IPerlSock*, SOCKET, const struct sockaddr*, int); typedef void (*LPEndhostent)(struct IPerlSock*); typedef void (*LPEndnetent)(struct IPerlSock*); typedef void (*LPEndprotoent)(struct IPerlSock*); typedef void (*LPEndservent)(struct IPerlSock*); typedef int (*LPGethostname)(struct IPerlSock*, char*, int); typedef int (*LPGetpeername)(struct IPerlSock*, SOCKET, struct sockaddr*, int*); typedef struct hostent* (*LPGethostbyaddr)(struct IPerlSock*, const char*, int, int); typedef struct hostent* (*LPGethostbyname)(struct IPerlSock*, const char*); typedef struct hostent* (*LPGethostent)(struct IPerlSock*); typedef struct netent* (*LPGetnetbyaddr)(struct IPerlSock*, long, int); typedef struct netent* (*LPGetnetbyname)(struct IPerlSock*, const char*); typedef struct netent* (*LPGetnetent)(struct IPerlSock*); typedef struct protoent*(*LPGetprotobyname)(struct IPerlSock*, const char*); typedef struct protoent*(*LPGetprotobynumber)(struct IPerlSock*, int); typedef struct protoent*(*LPGetprotoent)(struct IPerlSock*); typedef struct servent* (*LPGetservbyname)(struct IPerlSock*, const char*, const char*); typedef struct servent* (*LPGetservbyport)(struct IPerlSock*, int, const char*); typedef struct servent* (*LPGetservent)(struct IPerlSock*); typedef int (*LPGetsockname)(struct IPerlSock*, SOCKET, struct sockaddr*, int*); typedef int (*LPGetsockopt)(struct IPerlSock*, SOCKET, int, int, char*, int*); typedef unsigned long (*LPInetAddr)(struct IPerlSock*, const char*); typedef char* (*LPInetNtoa)(struct IPerlSock*, struct in_addr); typedef int (*LPListen)(struct IPerlSock*, SOCKET, int); typedef int (*LPRecv)(struct IPerlSock*, SOCKET, char*, int, int); typedef int (*LPRecvfrom)(struct IPerlSock*, SOCKET, char*, int, int, struct sockaddr*, int*); typedef int (*LPSelect)(struct IPerlSock*, int, char*, char*, char*, const struct timeval*); typedef int (*LPSend)(struct IPerlSock*, SOCKET, const char*, int, int); typedef int (*LPSendto)(struct IPerlSock*, SOCKET, const char*, int, int, const struct sockaddr*, int); typedef void (*LPSethostent)(struct IPerlSock*, int); typedef void (*LPSetnetent)(struct IPerlSock*, int); typedef void (*LPSetprotoent)(struct IPerlSock*, int); typedef void (*LPSetservent)(struct IPerlSock*, int); typedef int (*LPSetsockopt)(struct IPerlSock*, SOCKET, int, int, const char*, int); typedef int (*LPShutdown)(struct IPerlSock*, SOCKET, int); typedef SOCKET (*LPSocket)(struct IPerlSock*, int, int, int); typedef int (*LPSocketpair)(struct IPerlSock*, int, int, int, int*); #ifdef WIN32 typedef int (*LPClosesocket)(struct IPerlSock*, SOCKET s); #endif struct IPerlSock { LPHtonl pHtonl; LPHtons pHtons; LPNtohl pNtohl; LPNtohs pNtohs; LPAccept pAccept; LPBind pBind; LPConnect pConnect; LPEndhostent pEndhostent; LPEndnetent pEndnetent; LPEndprotoent pEndprotoent; LPEndservent pEndservent; LPGethostname pGethostname; LPGetpeername pGetpeername; LPGethostbyaddr pGethostbyaddr; LPGethostbyname pGethostbyname; LPGethostent pGethostent; LPGetnetbyaddr pGetnetbyaddr; LPGetnetbyname pGetnetbyname; LPGetnetent pGetnetent; LPGetprotobyname pGetprotobyname; LPGetprotobynumber pGetprotobynumber; LPGetprotoent pGetprotoent; LPGetservbyname pGetservbyname; LPGetservbyport pGetservbyport; LPGetservent pGetservent; LPGetsockname pGetsockname; LPGetsockopt pGetsockopt; LPInetAddr pInetAddr; LPInetNtoa pInetNtoa; LPListen pListen; LPRecv pRecv; LPRecvfrom pRecvfrom; LPSelect pSelect; LPSend pSend; LPSendto pSendto; LPSethostent pSethostent; LPSetnetent pSetnetent; LPSetprotoent pSetprotoent; LPSetservent pSetservent; LPSetsockopt pSetsockopt; LPShutdown pShutdown; LPSocket pSocket; LPSocketpair pSocketpair; #ifdef WIN32 LPClosesocket pClosesocket; #endif }; struct IPerlSockInfo { unsigned long nCount; /* number of entries expected */ struct IPerlSock perlSockList; }; #define PerlSock_htonl(x) \ (*PL_Sock->pHtonl)(PL_Sock, x) #define PerlSock_htons(x) \ (*PL_Sock->pHtons)(PL_Sock, x) #define PerlSock_ntohl(x) \ (*PL_Sock->pNtohl)(PL_Sock, x) #define PerlSock_ntohs(x) \ (*PL_Sock->pNtohs)(PL_Sock, x) #define PerlSock_accept(s, a, l) \ (*PL_Sock->pAccept)(PL_Sock, s, a, l) #define PerlSock_bind(s, n, l) \ (*PL_Sock->pBind)(PL_Sock, s, n, l) #define PerlSock_connect(s, n, l) \ (*PL_Sock->pConnect)(PL_Sock, s, n, l) #define PerlSock_endhostent() \ (*PL_Sock->pEndhostent)(PL_Sock) #define PerlSock_endnetent() \ (*PL_Sock->pEndnetent)(PL_Sock) #define PerlSock_endprotoent() \ (*PL_Sock->pEndprotoent)(PL_Sock) #define PerlSock_endservent() \ (*PL_Sock->pEndservent)(PL_Sock) #define PerlSock_gethostbyaddr(a, l, t) \ (*PL_Sock->pGethostbyaddr)(PL_Sock, a, l, t) #define PerlSock_gethostbyname(n) \ (*PL_Sock->pGethostbyname)(PL_Sock, n) #define PerlSock_gethostent() \ (*PL_Sock->pGethostent)(PL_Sock) #define PerlSock_gethostname(n, l) \ (*PL_Sock->pGethostname)(PL_Sock, n, l) #define PerlSock_getnetbyaddr(n, t) \ (*PL_Sock->pGetnetbyaddr)(PL_Sock, n, t) #define PerlSock_getnetbyname(c) \ (*PL_Sock->pGetnetbyname)(PL_Sock, c) #define PerlSock_getnetent() \ (*PL_Sock->pGetnetent)(PL_Sock) #define PerlSock_getpeername(s, n, l) \ (*PL_Sock->pGetpeername)(PL_Sock, s, n, l) #define PerlSock_getprotobyname(n) \ (*PL_Sock->pGetprotobyname)(PL_Sock, n) #define PerlSock_getprotobynumber(n) \ (*PL_Sock->pGetprotobynumber)(PL_Sock, n) #define PerlSock_getprotoent() \ (*PL_Sock->pGetprotoent)(PL_Sock) #define PerlSock_getservbyname(n, p) \ (*PL_Sock->pGetservbyname)(PL_Sock, n, p) #define PerlSock_getservbyport(port, p) \ (*PL_Sock->pGetservbyport)(PL_Sock, port, p) #define PerlSock_getservent() \ (*PL_Sock->pGetservent)(PL_Sock) #define PerlSock_getsockname(s, n, l) \ (*PL_Sock->pGetsockname)(PL_Sock, s, n, l) #define PerlSock_getsockopt(s,l,n,v,i) \ (*PL_Sock->pGetsockopt)(PL_Sock, s, l, n, v, i) #define PerlSock_inet_addr(c) \ (*PL_Sock->pInetAddr)(PL_Sock, c) #define PerlSock_inet_ntoa(i) \ (*PL_Sock->pInetNtoa)(PL_Sock, i) #define PerlSock_listen(s, b) \ (*PL_Sock->pListen)(PL_Sock, s, b) #define PerlSock_recv(s, b, l, f) \ (*PL_Sock->pRecv)(PL_Sock, s, b, l, f) #define PerlSock_recvfrom(s,b,l,f,from,fromlen) \ (*PL_Sock->pRecvfrom)(PL_Sock, s, b, l, f, from, fromlen) #define PerlSock_select(n, r, w, e, t) \ (*PL_Sock->pSelect)(PL_Sock, n, (char*)r, (char*)w, (char*)e, t) #define PerlSock_send(s, b, l, f) \ (*PL_Sock->pSend)(PL_Sock, s, b, l, f) #define PerlSock_sendto(s, b, l, f, t, tlen) \ (*PL_Sock->pSendto)(PL_Sock, s, b, l, f, t, tlen) #define PerlSock_sethostent(f) \ (*PL_Sock->pSethostent)(PL_Sock, f) #define PerlSock_setnetent(f) \ (*PL_Sock->pSetnetent)(PL_Sock, f) #define PerlSock_setprotoent(f) \ (*PL_Sock->pSetprotoent)(PL_Sock, f) #define PerlSock_setservent(f) \ (*PL_Sock->pSetservent)(PL_Sock, f) #define PerlSock_setsockopt(s, l, n, v, len) \ (*PL_Sock->pSetsockopt)(PL_Sock, s, l, n, v, len) #define PerlSock_shutdown(s, h) \ (*PL_Sock->pShutdown)(PL_Sock, s, h) #define PerlSock_socket(a, t, p) \ (*PL_Sock->pSocket)(PL_Sock, a, t, p) #define PerlSock_socketpair(a, t, p, f) \ (*PL_Sock->pSocketpair)(PL_Sock, a, t, p, f) #ifdef WIN32 #define PerlSock_closesocket(s) \ (*PL_Sock->pClosesocket)(PL_Sock, s) #endif #else /* PERL_IMPLICIT_SYS */ #define PerlSock_htonl(x) htonl(x) #define PerlSock_htons(x) htons(x) #define PerlSock_ntohl(x) ntohl(x) #define PerlSock_ntohs(x) ntohs(x) #define PerlSock_accept(s, a, l) accept(s, a, l) #define PerlSock_bind(s, n, l) bind(s, n, l) #define PerlSock_connect(s, n, l) connect(s, n, l) #define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr(a, l, t) #define PerlSock_gethostbyname(n) gethostbyname(n) #define PerlSock_gethostent gethostent #define PerlSock_endhostent endhostent #define PerlSock_gethostname(n, l) gethostname(n, l) #define PerlSock_getnetbyaddr(n, t) getnetbyaddr(n, t) #define PerlSock_getnetbyname(n) getnetbyname(n) #define PerlSock_getnetent getnetent #define PerlSock_endnetent endnetent #define PerlSock_getpeername(s, n, l) getpeername(s, n, l) #define PerlSock_getprotobyname(n) getprotobyname(n) #define PerlSock_getprotobynumber(n) getprotobynumber(n) #define PerlSock_getprotoent getprotoent #define PerlSock_endprotoent endprotoent #define PerlSock_getservbyname(n, p) getservbyname(n, p) #define PerlSock_getservbyport(port, p) getservbyport(port, p) #define PerlSock_getservent getservent #define PerlSock_endservent endservent #define PerlSock_getsockname(s, n, l) getsockname(s, n, l) #define PerlSock_getsockopt(s,l,n,v,i) getsockopt(s, l, n, v, i) #define PerlSock_inet_addr(c) inet_addr(c) #define PerlSock_inet_ntoa(i) inet_ntoa(i) #define PerlSock_listen(s, b) listen(s, b) #define PerlSock_recv(s, b, l, f) recv(s, b, l, f) #define PerlSock_recvfrom(s, b, l, f, from, fromlen) \ recvfrom(s, b, l, f, from, fromlen) #define PerlSock_select(n, r, w, e, t) select(n, r, w, e, t) #define PerlSock_send(s, b, l, f) send(s, b, l, f) #define PerlSock_sendto(s, b, l, f, t, tlen) \ sendto(s, b, l, f, t, tlen) #define PerlSock_sethostent(f) sethostent(f) #define PerlSock_setnetent(f) setnetent(f) #define PerlSock_setprotoent(f) setprotoent(f) #define PerlSock_setservent(f) setservent(f) #define PerlSock_setsockopt(s, l, n, v, len) \ setsockopt(s, l, n, v, len) #define PerlSock_shutdown(s, h) shutdown(s, h) #define PerlSock_socket(a, t, p) socket(a, t, p) #define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f) #ifdef WIN32 #define PerlSock_closesocket(s) closesocket(s) #endif #endif /* PERL_IMPLICIT_SYS */ #endif /* __Inc__IPerl___ */ /* * ex: set ts=8 sts=4 sw=4 et: */ charclass_invlists.h 0000644 00020466747 15140731057 0010650 0 ustar 00 /* -*- buffer-read-only: t -*- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/mk_invlists.pl from Unicode::UCD. * Any changes made here will be lost! */ /* See the generating file for comments */ /* This gives the number of code points that can be in the bitmap of an ANYOF * node. The shift number must currently be one of: 8..12. It can't be less * than 8 (256) because some code relies on it being at least that. Above 12 * (4096), and you start running into warnings that some data structure widths * have been exceeded, though the test suite as of this writing still passes * for up through 16, which is as high as anyone would ever want to go, * encompassing all of the Unicode BMP, and thus including all the economically * important world scripts. At 12 most of them are: including Arabic, * Cyrillic, Greek, Hebrew, Indian subcontinent, Latin, and Thai; but not Han, * Japanese, nor Korean. (The regarglen structure in regnodes.h is a U8, and * the trie types TRIEC and AHOCORASICKC are larger than U8 for shift values * above 12.) Be sure to benchmark before changing, as larger sizes do * significantly slow down the test suite */ #define NUM_ANYOF_CODE_POINTS (1 << 8) /* The precision to use in "%.*e" formats */ #define PL_E_FORMAT_PRECISION 2 #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) static const UV Latin1_invlist[] = { 2, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100 }; static const UV AboveLatin1_invlist[] = { 2, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100 }; static const UV * const InBitmap_invlist = Latin1_invlist; #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV Case_Folding_invlist[] = { /* for ASCII/Latin1 */ 1398, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xDF, 0xE0, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { CF_0 = 0, CF_use_AUX_TABLE_1 = -1, CF_use_AUX_TABLE_2 = -2, CF_use_AUX_TABLE_3 = -3, CF_use_AUX_TABLE_4 = -4, CF_use_AUX_TABLE_5 = -5, CF_use_AUX_TABLE_6 = -6, CF_use_AUX_TABLE_7 = -7, CF_use_AUX_TABLE_8 = -8, CF_use_AUX_TABLE_9 = -9, CF_use_AUX_TABLE_10 = -10, CF_use_AUX_TABLE_11 = -11, CF_use_AUX_TABLE_12 = -12, CF_use_AUX_TABLE_13 = -13, CF_use_AUX_TABLE_14 = -14, CF_use_AUX_TABLE_15 = -15, CF_use_AUX_TABLE_16 = -16, CF_use_AUX_TABLE_17 = -17, CF_use_AUX_TABLE_18 = -18, CF_use_AUX_TABLE_19 = -19, CF_use_AUX_TABLE_20 = -20, CF_use_AUX_TABLE_21 = -21, CF_use_AUX_TABLE_22 = -22, CF_use_AUX_TABLE_23 = -23, CF_use_AUX_TABLE_24 = -24, CF_use_AUX_TABLE_25 = -25, CF_use_AUX_TABLE_26 = -26, CF_use_AUX_TABLE_27 = -27, CF_use_AUX_TABLE_28 = -28, CF_use_AUX_TABLE_29 = -29, CF_use_AUX_TABLE_30 = -30, CF_use_AUX_TABLE_31 = -31, CF_use_AUX_TABLE_32 = -32, CF_use_AUX_TABLE_33 = -33, CF_use_AUX_TABLE_34 = -34, CF_use_AUX_TABLE_35 = -35, CF_use_AUX_TABLE_36 = -36, CF_use_AUX_TABLE_37 = -37, CF_use_AUX_TABLE_38 = -38, CF_use_AUX_TABLE_39 = -39, CF_use_AUX_TABLE_40 = -40, CF_use_AUX_TABLE_41 = -41, CF_use_AUX_TABLE_42 = -42, CF_use_AUX_TABLE_43 = -43, CF_use_AUX_TABLE_44 = -44, CF_use_AUX_TABLE_45 = -45, CF_use_AUX_TABLE_46 = -46, CF_use_AUX_TABLE_47 = -47, CF_use_AUX_TABLE_48 = -48, CF_use_AUX_TABLE_49 = -49, CF_use_AUX_TABLE_50 = -50, CF_use_AUX_TABLE_51 = -51, CF_use_AUX_TABLE_52 = -52, CF_use_AUX_TABLE_53 = -53, CF_use_AUX_TABLE_54 = -54, CF_use_AUX_TABLE_55 = -55, CF_use_AUX_TABLE_56 = -56, CF_use_AUX_TABLE_57 = -57, CF_use_AUX_TABLE_58 = -58, CF_use_AUX_TABLE_59 = -59, CF_use_AUX_TABLE_60 = -60, CF_use_AUX_TABLE_61 = -61, CF_use_AUX_TABLE_62 = -62, CF_use_AUX_TABLE_63 = -63, CF_use_AUX_TABLE_64 = -64, CF_use_AUX_TABLE_65 = -65, CF_use_AUX_TABLE_66 = -66, CF_use_AUX_TABLE_67 = -67, CF_use_AUX_TABLE_68 = -68, CF_use_AUX_TABLE_69 = -69, CF_use_AUX_TABLE_70 = -70, CF_use_AUX_TABLE_71 = -71, CF_use_AUX_TABLE_72 = -72, CF_use_AUX_TABLE_73 = -73 } CF_enum; #define HAS_CF_AUX_TABLES static const U32 CF_AUX_TABLE_1[] = { 0x73, 0x73 }; static const U32 CF_AUX_TABLE_2[] = { 0x69, 0x307 }; static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x6E }; static const U32 CF_AUX_TABLE_4[] = { 0x6A, 0x30C }; static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; static const U32 CF_AUX_TABLE_8[] = { 0x68, 0x331 }; static const U32 CF_AUX_TABLE_9[] = { 0x74, 0x308 }; static const U32 CF_AUX_TABLE_10[] = { 0x77, 0x30A }; static const U32 CF_AUX_TABLE_11[] = { 0x79, 0x30A }; static const U32 CF_AUX_TABLE_12[] = { 0x61, 0x2BE }; static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_63[] = { 0x66, 0x66 }; static const U32 CF_AUX_TABLE_64[] = { 0x66, 0x69 }; static const U32 CF_AUX_TABLE_65[] = { 0x66, 0x6C }; static const U32 CF_AUX_TABLE_66[] = { 0x66, 0x66, 0x69 }; static const U32 CF_AUX_TABLE_67[] = { 0x66, 0x66, 0x6C }; static const U32 CF_AUX_TABLE_68[] = { 0x73, 0x74 }; static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, CF_AUX_TABLE_3, CF_AUX_TABLE_4, CF_AUX_TABLE_5, CF_AUX_TABLE_6, CF_AUX_TABLE_7, CF_AUX_TABLE_8, CF_AUX_TABLE_9, CF_AUX_TABLE_10, CF_AUX_TABLE_11, CF_AUX_TABLE_12, CF_AUX_TABLE_13, CF_AUX_TABLE_14, CF_AUX_TABLE_15, CF_AUX_TABLE_16, CF_AUX_TABLE_17, CF_AUX_TABLE_18, CF_AUX_TABLE_19, CF_AUX_TABLE_20, CF_AUX_TABLE_21, CF_AUX_TABLE_22, CF_AUX_TABLE_23, CF_AUX_TABLE_24, CF_AUX_TABLE_25, CF_AUX_TABLE_26, CF_AUX_TABLE_27, CF_AUX_TABLE_28, CF_AUX_TABLE_29, CF_AUX_TABLE_30, CF_AUX_TABLE_31, CF_AUX_TABLE_32, CF_AUX_TABLE_33, CF_AUX_TABLE_34, CF_AUX_TABLE_35, CF_AUX_TABLE_36, CF_AUX_TABLE_37, CF_AUX_TABLE_38, CF_AUX_TABLE_39, CF_AUX_TABLE_40, CF_AUX_TABLE_41, CF_AUX_TABLE_42, CF_AUX_TABLE_43, CF_AUX_TABLE_44, CF_AUX_TABLE_45, CF_AUX_TABLE_46, CF_AUX_TABLE_47, CF_AUX_TABLE_48, CF_AUX_TABLE_49, CF_AUX_TABLE_50, CF_AUX_TABLE_51, CF_AUX_TABLE_52, CF_AUX_TABLE_53, CF_AUX_TABLE_54, CF_AUX_TABLE_55, CF_AUX_TABLE_56, CF_AUX_TABLE_57, CF_AUX_TABLE_58, CF_AUX_TABLE_59, CF_AUX_TABLE_60, CF_AUX_TABLE_61, CF_AUX_TABLE_62, CF_AUX_TABLE_63, CF_AUX_TABLE_64, CF_AUX_TABLE_65, CF_AUX_TABLE_66, CF_AUX_TABLE_67, CF_AUX_TABLE_68, CF_AUX_TABLE_69, CF_AUX_TABLE_70, CF_AUX_TABLE_71, CF_AUX_TABLE_72, CF_AUX_TABLE_73 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 CF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* CF_AUX_TABLE_1 */, 2 /* CF_AUX_TABLE_2 */, 2 /* CF_AUX_TABLE_3 */, 2 /* CF_AUX_TABLE_4 */, 3 /* CF_AUX_TABLE_5 */, 3 /* CF_AUX_TABLE_6 */, 2 /* CF_AUX_TABLE_7 */, 2 /* CF_AUX_TABLE_8 */, 2 /* CF_AUX_TABLE_9 */, 2 /* CF_AUX_TABLE_10 */, 2 /* CF_AUX_TABLE_11 */, 2 /* CF_AUX_TABLE_12 */, 2 /* CF_AUX_TABLE_13 */, 3 /* CF_AUX_TABLE_14 */, 3 /* CF_AUX_TABLE_15 */, 3 /* CF_AUX_TABLE_16 */, 2 /* CF_AUX_TABLE_17 */, 2 /* CF_AUX_TABLE_18 */, 2 /* CF_AUX_TABLE_19 */, 2 /* CF_AUX_TABLE_20 */, 2 /* CF_AUX_TABLE_21 */, 2 /* CF_AUX_TABLE_22 */, 2 /* CF_AUX_TABLE_23 */, 2 /* CF_AUX_TABLE_24 */, 2 /* CF_AUX_TABLE_25 */, 2 /* CF_AUX_TABLE_26 */, 2 /* CF_AUX_TABLE_27 */, 2 /* CF_AUX_TABLE_28 */, 2 /* CF_AUX_TABLE_29 */, 2 /* CF_AUX_TABLE_30 */, 2 /* CF_AUX_TABLE_31 */, 2 /* CF_AUX_TABLE_32 */, 2 /* CF_AUX_TABLE_33 */, 2 /* CF_AUX_TABLE_34 */, 2 /* CF_AUX_TABLE_35 */, 2 /* CF_AUX_TABLE_36 */, 2 /* CF_AUX_TABLE_37 */, 2 /* CF_AUX_TABLE_38 */, 2 /* CF_AUX_TABLE_39 */, 2 /* CF_AUX_TABLE_40 */, 2 /* CF_AUX_TABLE_41 */, 2 /* CF_AUX_TABLE_42 */, 2 /* CF_AUX_TABLE_43 */, 2 /* CF_AUX_TABLE_44 */, 3 /* CF_AUX_TABLE_45 */, 2 /* CF_AUX_TABLE_46 */, 2 /* CF_AUX_TABLE_47 */, 2 /* CF_AUX_TABLE_48 */, 2 /* CF_AUX_TABLE_49 */, 3 /* CF_AUX_TABLE_50 */, 3 /* CF_AUX_TABLE_51 */, 2 /* CF_AUX_TABLE_52 */, 3 /* CF_AUX_TABLE_53 */, 3 /* CF_AUX_TABLE_54 */, 2 /* CF_AUX_TABLE_55 */, 2 /* CF_AUX_TABLE_56 */, 3 /* CF_AUX_TABLE_57 */, 2 /* CF_AUX_TABLE_58 */, 2 /* CF_AUX_TABLE_59 */, 2 /* CF_AUX_TABLE_60 */, 2 /* CF_AUX_TABLE_61 */, 3 /* CF_AUX_TABLE_62 */, 2 /* CF_AUX_TABLE_63 */, 2 /* CF_AUX_TABLE_64 */, 2 /* CF_AUX_TABLE_65 */, 3 /* CF_AUX_TABLE_66 */, 3 /* CF_AUX_TABLE_67 */, 2 /* CF_AUX_TABLE_68 */, 2 /* CF_AUX_TABLE_69 */, 2 /* CF_AUX_TABLE_70 */, 2 /* CF_AUX_TABLE_71 */, 2 /* CF_AUX_TABLE_72 */, 2 /* CF_AUX_TABLE_73 */ }; static const I32 Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, 0x3BC, 0, 0xE0, 0, 0xF8, CF_use_AUX_TABLE_1, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, CF_use_AUX_TABLE_2, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, CF_use_AUX_TABLE_3, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xFF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0x73, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, CF_use_AUX_TABLE_4, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, CF_use_AUX_TABLE_5, 0x3B1, 0, 0x3C3, 0, CF_use_AUX_TABLE_6, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, CF_use_AUX_TABLE_7, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, CF_use_AUX_TABLE_8, CF_use_AUX_TABLE_9, CF_use_AUX_TABLE_10, CF_use_AUX_TABLE_11, CF_use_AUX_TABLE_12, 0x1E61, 0, CF_use_AUX_TABLE_1, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, CF_use_AUX_TABLE_13, 0, CF_use_AUX_TABLE_14, 0, CF_use_AUX_TABLE_15, 0, CF_use_AUX_TABLE_16, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, 0, CF_use_AUX_TABLE_41, CF_use_AUX_TABLE_42, CF_use_AUX_TABLE_43, 0, CF_use_AUX_TABLE_44, CF_use_AUX_TABLE_45, 0x1FB0, 0x1F70, CF_use_AUX_TABLE_42, 0, 0x3B9, 0, CF_use_AUX_TABLE_46, CF_use_AUX_TABLE_47, CF_use_AUX_TABLE_48, 0, CF_use_AUX_TABLE_49, CF_use_AUX_TABLE_50, 0x1F72, CF_use_AUX_TABLE_47, 0, CF_use_AUX_TABLE_51, CF_use_AUX_TABLE_5, 0, CF_use_AUX_TABLE_52, CF_use_AUX_TABLE_53, 0x1FD0, 0x1F76, 0, CF_use_AUX_TABLE_54, CF_use_AUX_TABLE_6, CF_use_AUX_TABLE_55, 0, CF_use_AUX_TABLE_56, CF_use_AUX_TABLE_57, 0x1FE0, 0x1F7A, 0x1FE5, 0, CF_use_AUX_TABLE_58, CF_use_AUX_TABLE_59, CF_use_AUX_TABLE_60, 0, CF_use_AUX_TABLE_61, CF_use_AUX_TABLE_62, 0x1F78, 0x1F7C, CF_use_AUX_TABLE_59, 0, 0x3C9, 0, 0x6B, 0xE5, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, CF_use_AUX_TABLE_63, CF_use_AUX_TABLE_64, CF_use_AUX_TABLE_65, CF_use_AUX_TABLE_66, CF_use_AUX_TABLE_67, CF_use_AUX_TABLE_68, 0, CF_use_AUX_TABLE_69, CF_use_AUX_TABLE_70, CF_use_AUX_TABLE_71, CF_use_AUX_TABLE_72, CF_use_AUX_TABLE_73, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Case_Folding_invlist[] = { /* for EBCDIC 1047 */ 1417, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { CF_0 = 0, CF_use_AUX_TABLE_1 = -1, CF_use_AUX_TABLE_2 = -2, CF_use_AUX_TABLE_3 = -3, CF_use_AUX_TABLE_4 = -4, CF_use_AUX_TABLE_5 = -5, CF_use_AUX_TABLE_6 = -6, CF_use_AUX_TABLE_7 = -7, CF_use_AUX_TABLE_8 = -8, CF_use_AUX_TABLE_9 = -9, CF_use_AUX_TABLE_10 = -10, CF_use_AUX_TABLE_11 = -11, CF_use_AUX_TABLE_12 = -12, CF_use_AUX_TABLE_13 = -13, CF_use_AUX_TABLE_14 = -14, CF_use_AUX_TABLE_15 = -15, CF_use_AUX_TABLE_16 = -16, CF_use_AUX_TABLE_17 = -17, CF_use_AUX_TABLE_18 = -18, CF_use_AUX_TABLE_19 = -19, CF_use_AUX_TABLE_20 = -20, CF_use_AUX_TABLE_21 = -21, CF_use_AUX_TABLE_22 = -22, CF_use_AUX_TABLE_23 = -23, CF_use_AUX_TABLE_24 = -24, CF_use_AUX_TABLE_25 = -25, CF_use_AUX_TABLE_26 = -26, CF_use_AUX_TABLE_27 = -27, CF_use_AUX_TABLE_28 = -28, CF_use_AUX_TABLE_29 = -29, CF_use_AUX_TABLE_30 = -30, CF_use_AUX_TABLE_31 = -31, CF_use_AUX_TABLE_32 = -32, CF_use_AUX_TABLE_33 = -33, CF_use_AUX_TABLE_34 = -34, CF_use_AUX_TABLE_35 = -35, CF_use_AUX_TABLE_36 = -36, CF_use_AUX_TABLE_37 = -37, CF_use_AUX_TABLE_38 = -38, CF_use_AUX_TABLE_39 = -39, CF_use_AUX_TABLE_40 = -40, CF_use_AUX_TABLE_41 = -41, CF_use_AUX_TABLE_42 = -42, CF_use_AUX_TABLE_43 = -43, CF_use_AUX_TABLE_44 = -44, CF_use_AUX_TABLE_45 = -45, CF_use_AUX_TABLE_46 = -46, CF_use_AUX_TABLE_47 = -47, CF_use_AUX_TABLE_48 = -48, CF_use_AUX_TABLE_49 = -49, CF_use_AUX_TABLE_50 = -50, CF_use_AUX_TABLE_51 = -51, CF_use_AUX_TABLE_52 = -52, CF_use_AUX_TABLE_53 = -53, CF_use_AUX_TABLE_54 = -54, CF_use_AUX_TABLE_55 = -55, CF_use_AUX_TABLE_56 = -56, CF_use_AUX_TABLE_57 = -57, CF_use_AUX_TABLE_58 = -58, CF_use_AUX_TABLE_59 = -59, CF_use_AUX_TABLE_60 = -60, CF_use_AUX_TABLE_61 = -61, CF_use_AUX_TABLE_62 = -62, CF_use_AUX_TABLE_63 = -63, CF_use_AUX_TABLE_64 = -64, CF_use_AUX_TABLE_65 = -65, CF_use_AUX_TABLE_66 = -66, CF_use_AUX_TABLE_67 = -67, CF_use_AUX_TABLE_68 = -68, CF_use_AUX_TABLE_69 = -69, CF_use_AUX_TABLE_70 = -70, CF_use_AUX_TABLE_71 = -71, CF_use_AUX_TABLE_72 = -72, CF_use_AUX_TABLE_73 = -73 } CF_enum; #define HAS_CF_AUX_TABLES static const U32 CF_AUX_TABLE_1[] = { 0xA2, 0xA2 }; static const U32 CF_AUX_TABLE_2[] = { 0x89, 0x307 }; static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x95 }; static const U32 CF_AUX_TABLE_4[] = { 0x91, 0x30C }; static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; static const U32 CF_AUX_TABLE_8[] = { 0x88, 0x331 }; static const U32 CF_AUX_TABLE_9[] = { 0xA3, 0x308 }; static const U32 CF_AUX_TABLE_10[] = { 0xA6, 0x30A }; static const U32 CF_AUX_TABLE_11[] = { 0xA8, 0x30A }; static const U32 CF_AUX_TABLE_12[] = { 0x81, 0x2BE }; static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_63[] = { 0x86, 0x86 }; static const U32 CF_AUX_TABLE_64[] = { 0x86, 0x89 }; static const U32 CF_AUX_TABLE_65[] = { 0x86, 0x93 }; static const U32 CF_AUX_TABLE_66[] = { 0x86, 0x86, 0x89 }; static const U32 CF_AUX_TABLE_67[] = { 0x86, 0x86, 0x93 }; static const U32 CF_AUX_TABLE_68[] = { 0xA2, 0xA3 }; static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, CF_AUX_TABLE_3, CF_AUX_TABLE_4, CF_AUX_TABLE_5, CF_AUX_TABLE_6, CF_AUX_TABLE_7, CF_AUX_TABLE_8, CF_AUX_TABLE_9, CF_AUX_TABLE_10, CF_AUX_TABLE_11, CF_AUX_TABLE_12, CF_AUX_TABLE_13, CF_AUX_TABLE_14, CF_AUX_TABLE_15, CF_AUX_TABLE_16, CF_AUX_TABLE_17, CF_AUX_TABLE_18, CF_AUX_TABLE_19, CF_AUX_TABLE_20, CF_AUX_TABLE_21, CF_AUX_TABLE_22, CF_AUX_TABLE_23, CF_AUX_TABLE_24, CF_AUX_TABLE_25, CF_AUX_TABLE_26, CF_AUX_TABLE_27, CF_AUX_TABLE_28, CF_AUX_TABLE_29, CF_AUX_TABLE_30, CF_AUX_TABLE_31, CF_AUX_TABLE_32, CF_AUX_TABLE_33, CF_AUX_TABLE_34, CF_AUX_TABLE_35, CF_AUX_TABLE_36, CF_AUX_TABLE_37, CF_AUX_TABLE_38, CF_AUX_TABLE_39, CF_AUX_TABLE_40, CF_AUX_TABLE_41, CF_AUX_TABLE_42, CF_AUX_TABLE_43, CF_AUX_TABLE_44, CF_AUX_TABLE_45, CF_AUX_TABLE_46, CF_AUX_TABLE_47, CF_AUX_TABLE_48, CF_AUX_TABLE_49, CF_AUX_TABLE_50, CF_AUX_TABLE_51, CF_AUX_TABLE_52, CF_AUX_TABLE_53, CF_AUX_TABLE_54, CF_AUX_TABLE_55, CF_AUX_TABLE_56, CF_AUX_TABLE_57, CF_AUX_TABLE_58, CF_AUX_TABLE_59, CF_AUX_TABLE_60, CF_AUX_TABLE_61, CF_AUX_TABLE_62, CF_AUX_TABLE_63, CF_AUX_TABLE_64, CF_AUX_TABLE_65, CF_AUX_TABLE_66, CF_AUX_TABLE_67, CF_AUX_TABLE_68, CF_AUX_TABLE_69, CF_AUX_TABLE_70, CF_AUX_TABLE_71, CF_AUX_TABLE_72, CF_AUX_TABLE_73 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 CF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* CF_AUX_TABLE_1 */, 2 /* CF_AUX_TABLE_2 */, 2 /* CF_AUX_TABLE_3 */, 2 /* CF_AUX_TABLE_4 */, 3 /* CF_AUX_TABLE_5 */, 3 /* CF_AUX_TABLE_6 */, 2 /* CF_AUX_TABLE_7 */, 2 /* CF_AUX_TABLE_8 */, 2 /* CF_AUX_TABLE_9 */, 2 /* CF_AUX_TABLE_10 */, 2 /* CF_AUX_TABLE_11 */, 2 /* CF_AUX_TABLE_12 */, 2 /* CF_AUX_TABLE_13 */, 3 /* CF_AUX_TABLE_14 */, 3 /* CF_AUX_TABLE_15 */, 3 /* CF_AUX_TABLE_16 */, 2 /* CF_AUX_TABLE_17 */, 2 /* CF_AUX_TABLE_18 */, 2 /* CF_AUX_TABLE_19 */, 2 /* CF_AUX_TABLE_20 */, 2 /* CF_AUX_TABLE_21 */, 2 /* CF_AUX_TABLE_22 */, 2 /* CF_AUX_TABLE_23 */, 2 /* CF_AUX_TABLE_24 */, 2 /* CF_AUX_TABLE_25 */, 2 /* CF_AUX_TABLE_26 */, 2 /* CF_AUX_TABLE_27 */, 2 /* CF_AUX_TABLE_28 */, 2 /* CF_AUX_TABLE_29 */, 2 /* CF_AUX_TABLE_30 */, 2 /* CF_AUX_TABLE_31 */, 2 /* CF_AUX_TABLE_32 */, 2 /* CF_AUX_TABLE_33 */, 2 /* CF_AUX_TABLE_34 */, 2 /* CF_AUX_TABLE_35 */, 2 /* CF_AUX_TABLE_36 */, 2 /* CF_AUX_TABLE_37 */, 2 /* CF_AUX_TABLE_38 */, 2 /* CF_AUX_TABLE_39 */, 2 /* CF_AUX_TABLE_40 */, 2 /* CF_AUX_TABLE_41 */, 2 /* CF_AUX_TABLE_42 */, 2 /* CF_AUX_TABLE_43 */, 2 /* CF_AUX_TABLE_44 */, 3 /* CF_AUX_TABLE_45 */, 2 /* CF_AUX_TABLE_46 */, 2 /* CF_AUX_TABLE_47 */, 2 /* CF_AUX_TABLE_48 */, 2 /* CF_AUX_TABLE_49 */, 3 /* CF_AUX_TABLE_50 */, 3 /* CF_AUX_TABLE_51 */, 2 /* CF_AUX_TABLE_52 */, 3 /* CF_AUX_TABLE_53 */, 3 /* CF_AUX_TABLE_54 */, 2 /* CF_AUX_TABLE_55 */, 2 /* CF_AUX_TABLE_56 */, 3 /* CF_AUX_TABLE_57 */, 2 /* CF_AUX_TABLE_58 */, 2 /* CF_AUX_TABLE_59 */, 2 /* CF_AUX_TABLE_60 */, 2 /* CF_AUX_TABLE_61 */, 3 /* CF_AUX_TABLE_62 */, 2 /* CF_AUX_TABLE_63 */, 2 /* CF_AUX_TABLE_64 */, 2 /* CF_AUX_TABLE_65 */, 3 /* CF_AUX_TABLE_66 */, 3 /* CF_AUX_TABLE_67 */, 2 /* CF_AUX_TABLE_68 */, 2 /* CF_AUX_TABLE_69 */, 2 /* CF_AUX_TABLE_70 */, 2 /* CF_AUX_TABLE_71 */, 2 /* CF_AUX_TABLE_72 */, 2 /* CF_AUX_TABLE_73 */ }; static const I32 Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0, CF_use_AUX_TABLE_1, 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x3BC, 0, 0x8C, 0, 0x8E, 0, 0x8D, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, CF_use_AUX_TABLE_2, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, CF_use_AUX_TABLE_3, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0xA2, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, CF_use_AUX_TABLE_4, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, CF_use_AUX_TABLE_5, 0x3B1, 0, 0x3C3, 0, CF_use_AUX_TABLE_6, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, CF_use_AUX_TABLE_7, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, CF_use_AUX_TABLE_8, CF_use_AUX_TABLE_9, CF_use_AUX_TABLE_10, CF_use_AUX_TABLE_11, CF_use_AUX_TABLE_12, 0x1E61, 0, CF_use_AUX_TABLE_1, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, CF_use_AUX_TABLE_13, 0, CF_use_AUX_TABLE_14, 0, CF_use_AUX_TABLE_15, 0, CF_use_AUX_TABLE_16, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, 0, CF_use_AUX_TABLE_41, CF_use_AUX_TABLE_42, CF_use_AUX_TABLE_43, 0, CF_use_AUX_TABLE_44, CF_use_AUX_TABLE_45, 0x1FB0, 0x1F70, CF_use_AUX_TABLE_42, 0, 0x3B9, 0, CF_use_AUX_TABLE_46, CF_use_AUX_TABLE_47, CF_use_AUX_TABLE_48, 0, CF_use_AUX_TABLE_49, CF_use_AUX_TABLE_50, 0x1F72, CF_use_AUX_TABLE_47, 0, CF_use_AUX_TABLE_51, CF_use_AUX_TABLE_5, 0, CF_use_AUX_TABLE_52, CF_use_AUX_TABLE_53, 0x1FD0, 0x1F76, 0, CF_use_AUX_TABLE_54, CF_use_AUX_TABLE_6, CF_use_AUX_TABLE_55, 0, CF_use_AUX_TABLE_56, CF_use_AUX_TABLE_57, 0x1FE0, 0x1F7A, 0x1FE5, 0, CF_use_AUX_TABLE_58, CF_use_AUX_TABLE_59, CF_use_AUX_TABLE_60, 0, CF_use_AUX_TABLE_61, CF_use_AUX_TABLE_62, 0x1F78, 0x1F7C, CF_use_AUX_TABLE_59, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, CF_use_AUX_TABLE_63, CF_use_AUX_TABLE_64, CF_use_AUX_TABLE_65, CF_use_AUX_TABLE_66, CF_use_AUX_TABLE_67, CF_use_AUX_TABLE_68, 0, CF_use_AUX_TABLE_69, CF_use_AUX_TABLE_70, CF_use_AUX_TABLE_71, CF_use_AUX_TABLE_72, CF_use_AUX_TABLE_73, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Case_Folding_invlist[] = { /* for EBCDIC 037 */ 1413, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { CF_0 = 0, CF_use_AUX_TABLE_1 = -1, CF_use_AUX_TABLE_2 = -2, CF_use_AUX_TABLE_3 = -3, CF_use_AUX_TABLE_4 = -4, CF_use_AUX_TABLE_5 = -5, CF_use_AUX_TABLE_6 = -6, CF_use_AUX_TABLE_7 = -7, CF_use_AUX_TABLE_8 = -8, CF_use_AUX_TABLE_9 = -9, CF_use_AUX_TABLE_10 = -10, CF_use_AUX_TABLE_11 = -11, CF_use_AUX_TABLE_12 = -12, CF_use_AUX_TABLE_13 = -13, CF_use_AUX_TABLE_14 = -14, CF_use_AUX_TABLE_15 = -15, CF_use_AUX_TABLE_16 = -16, CF_use_AUX_TABLE_17 = -17, CF_use_AUX_TABLE_18 = -18, CF_use_AUX_TABLE_19 = -19, CF_use_AUX_TABLE_20 = -20, CF_use_AUX_TABLE_21 = -21, CF_use_AUX_TABLE_22 = -22, CF_use_AUX_TABLE_23 = -23, CF_use_AUX_TABLE_24 = -24, CF_use_AUX_TABLE_25 = -25, CF_use_AUX_TABLE_26 = -26, CF_use_AUX_TABLE_27 = -27, CF_use_AUX_TABLE_28 = -28, CF_use_AUX_TABLE_29 = -29, CF_use_AUX_TABLE_30 = -30, CF_use_AUX_TABLE_31 = -31, CF_use_AUX_TABLE_32 = -32, CF_use_AUX_TABLE_33 = -33, CF_use_AUX_TABLE_34 = -34, CF_use_AUX_TABLE_35 = -35, CF_use_AUX_TABLE_36 = -36, CF_use_AUX_TABLE_37 = -37, CF_use_AUX_TABLE_38 = -38, CF_use_AUX_TABLE_39 = -39, CF_use_AUX_TABLE_40 = -40, CF_use_AUX_TABLE_41 = -41, CF_use_AUX_TABLE_42 = -42, CF_use_AUX_TABLE_43 = -43, CF_use_AUX_TABLE_44 = -44, CF_use_AUX_TABLE_45 = -45, CF_use_AUX_TABLE_46 = -46, CF_use_AUX_TABLE_47 = -47, CF_use_AUX_TABLE_48 = -48, CF_use_AUX_TABLE_49 = -49, CF_use_AUX_TABLE_50 = -50, CF_use_AUX_TABLE_51 = -51, CF_use_AUX_TABLE_52 = -52, CF_use_AUX_TABLE_53 = -53, CF_use_AUX_TABLE_54 = -54, CF_use_AUX_TABLE_55 = -55, CF_use_AUX_TABLE_56 = -56, CF_use_AUX_TABLE_57 = -57, CF_use_AUX_TABLE_58 = -58, CF_use_AUX_TABLE_59 = -59, CF_use_AUX_TABLE_60 = -60, CF_use_AUX_TABLE_61 = -61, CF_use_AUX_TABLE_62 = -62, CF_use_AUX_TABLE_63 = -63, CF_use_AUX_TABLE_64 = -64, CF_use_AUX_TABLE_65 = -65, CF_use_AUX_TABLE_66 = -66, CF_use_AUX_TABLE_67 = -67, CF_use_AUX_TABLE_68 = -68, CF_use_AUX_TABLE_69 = -69, CF_use_AUX_TABLE_70 = -70, CF_use_AUX_TABLE_71 = -71, CF_use_AUX_TABLE_72 = -72, CF_use_AUX_TABLE_73 = -73 } CF_enum; #define HAS_CF_AUX_TABLES static const U32 CF_AUX_TABLE_1[] = { 0xA2, 0xA2 }; static const U32 CF_AUX_TABLE_2[] = { 0x89, 0x307 }; static const U32 CF_AUX_TABLE_3[] = { 0x2BC, 0x95 }; static const U32 CF_AUX_TABLE_4[] = { 0x91, 0x30C }; static const U32 CF_AUX_TABLE_5[] = { 0x3B9, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_6[] = { 0x3C5, 0x308, 0x301 }; static const U32 CF_AUX_TABLE_7[] = { 0x565, 0x582 }; static const U32 CF_AUX_TABLE_8[] = { 0x88, 0x331 }; static const U32 CF_AUX_TABLE_9[] = { 0xA3, 0x308 }; static const U32 CF_AUX_TABLE_10[] = { 0xA6, 0x30A }; static const U32 CF_AUX_TABLE_11[] = { 0xA8, 0x30A }; static const U32 CF_AUX_TABLE_12[] = { 0x81, 0x2BE }; static const U32 CF_AUX_TABLE_13[] = { 0x3C5, 0x313 }; static const U32 CF_AUX_TABLE_14[] = { 0x3C5, 0x313, 0x300 }; static const U32 CF_AUX_TABLE_15[] = { 0x3C5, 0x313, 0x301 }; static const U32 CF_AUX_TABLE_16[] = { 0x3C5, 0x313, 0x342 }; static const U32 CF_AUX_TABLE_17[] = { 0x1F00, 0x3B9 }; static const U32 CF_AUX_TABLE_18[] = { 0x1F01, 0x3B9 }; static const U32 CF_AUX_TABLE_19[] = { 0x1F02, 0x3B9 }; static const U32 CF_AUX_TABLE_20[] = { 0x1F03, 0x3B9 }; static const U32 CF_AUX_TABLE_21[] = { 0x1F04, 0x3B9 }; static const U32 CF_AUX_TABLE_22[] = { 0x1F05, 0x3B9 }; static const U32 CF_AUX_TABLE_23[] = { 0x1F06, 0x3B9 }; static const U32 CF_AUX_TABLE_24[] = { 0x1F07, 0x3B9 }; static const U32 CF_AUX_TABLE_25[] = { 0x1F20, 0x3B9 }; static const U32 CF_AUX_TABLE_26[] = { 0x1F21, 0x3B9 }; static const U32 CF_AUX_TABLE_27[] = { 0x1F22, 0x3B9 }; static const U32 CF_AUX_TABLE_28[] = { 0x1F23, 0x3B9 }; static const U32 CF_AUX_TABLE_29[] = { 0x1F24, 0x3B9 }; static const U32 CF_AUX_TABLE_30[] = { 0x1F25, 0x3B9 }; static const U32 CF_AUX_TABLE_31[] = { 0x1F26, 0x3B9 }; static const U32 CF_AUX_TABLE_32[] = { 0x1F27, 0x3B9 }; static const U32 CF_AUX_TABLE_33[] = { 0x1F60, 0x3B9 }; static const U32 CF_AUX_TABLE_34[] = { 0x1F61, 0x3B9 }; static const U32 CF_AUX_TABLE_35[] = { 0x1F62, 0x3B9 }; static const U32 CF_AUX_TABLE_36[] = { 0x1F63, 0x3B9 }; static const U32 CF_AUX_TABLE_37[] = { 0x1F64, 0x3B9 }; static const U32 CF_AUX_TABLE_38[] = { 0x1F65, 0x3B9 }; static const U32 CF_AUX_TABLE_39[] = { 0x1F66, 0x3B9 }; static const U32 CF_AUX_TABLE_40[] = { 0x1F67, 0x3B9 }; static const U32 CF_AUX_TABLE_41[] = { 0x1F70, 0x3B9 }; static const U32 CF_AUX_TABLE_42[] = { 0x3B1, 0x3B9 }; static const U32 CF_AUX_TABLE_43[] = { 0x3AC, 0x3B9 }; static const U32 CF_AUX_TABLE_44[] = { 0x3B1, 0x342 }; static const U32 CF_AUX_TABLE_45[] = { 0x3B1, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_46[] = { 0x1F74, 0x3B9 }; static const U32 CF_AUX_TABLE_47[] = { 0x3B7, 0x3B9 }; static const U32 CF_AUX_TABLE_48[] = { 0x3AE, 0x3B9 }; static const U32 CF_AUX_TABLE_49[] = { 0x3B7, 0x342 }; static const U32 CF_AUX_TABLE_50[] = { 0x3B7, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_51[] = { 0x3B9, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_52[] = { 0x3B9, 0x342 }; static const U32 CF_AUX_TABLE_53[] = { 0x3B9, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_54[] = { 0x3C5, 0x308, 0x300 }; static const U32 CF_AUX_TABLE_55[] = { 0x3C1, 0x313 }; static const U32 CF_AUX_TABLE_56[] = { 0x3C5, 0x342 }; static const U32 CF_AUX_TABLE_57[] = { 0x3C5, 0x308, 0x342 }; static const U32 CF_AUX_TABLE_58[] = { 0x1F7C, 0x3B9 }; static const U32 CF_AUX_TABLE_59[] = { 0x3C9, 0x3B9 }; static const U32 CF_AUX_TABLE_60[] = { 0x3CE, 0x3B9 }; static const U32 CF_AUX_TABLE_61[] = { 0x3C9, 0x342 }; static const U32 CF_AUX_TABLE_62[] = { 0x3C9, 0x342, 0x3B9 }; static const U32 CF_AUX_TABLE_63[] = { 0x86, 0x86 }; static const U32 CF_AUX_TABLE_64[] = { 0x86, 0x89 }; static const U32 CF_AUX_TABLE_65[] = { 0x86, 0x93 }; static const U32 CF_AUX_TABLE_66[] = { 0x86, 0x86, 0x89 }; static const U32 CF_AUX_TABLE_67[] = { 0x86, 0x86, 0x93 }; static const U32 CF_AUX_TABLE_68[] = { 0xA2, 0xA3 }; static const U32 CF_AUX_TABLE_69[] = { 0x574, 0x576 }; static const U32 CF_AUX_TABLE_70[] = { 0x574, 0x565 }; static const U32 CF_AUX_TABLE_71[] = { 0x574, 0x56B }; static const U32 CF_AUX_TABLE_72[] = { 0x57E, 0x576 }; static const U32 CF_AUX_TABLE_73[] = { 0x574, 0x56D }; static const U32 * const CF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ CF_AUX_TABLE_1, CF_AUX_TABLE_2, CF_AUX_TABLE_3, CF_AUX_TABLE_4, CF_AUX_TABLE_5, CF_AUX_TABLE_6, CF_AUX_TABLE_7, CF_AUX_TABLE_8, CF_AUX_TABLE_9, CF_AUX_TABLE_10, CF_AUX_TABLE_11, CF_AUX_TABLE_12, CF_AUX_TABLE_13, CF_AUX_TABLE_14, CF_AUX_TABLE_15, CF_AUX_TABLE_16, CF_AUX_TABLE_17, CF_AUX_TABLE_18, CF_AUX_TABLE_19, CF_AUX_TABLE_20, CF_AUX_TABLE_21, CF_AUX_TABLE_22, CF_AUX_TABLE_23, CF_AUX_TABLE_24, CF_AUX_TABLE_25, CF_AUX_TABLE_26, CF_AUX_TABLE_27, CF_AUX_TABLE_28, CF_AUX_TABLE_29, CF_AUX_TABLE_30, CF_AUX_TABLE_31, CF_AUX_TABLE_32, CF_AUX_TABLE_33, CF_AUX_TABLE_34, CF_AUX_TABLE_35, CF_AUX_TABLE_36, CF_AUX_TABLE_37, CF_AUX_TABLE_38, CF_AUX_TABLE_39, CF_AUX_TABLE_40, CF_AUX_TABLE_41, CF_AUX_TABLE_42, CF_AUX_TABLE_43, CF_AUX_TABLE_44, CF_AUX_TABLE_45, CF_AUX_TABLE_46, CF_AUX_TABLE_47, CF_AUX_TABLE_48, CF_AUX_TABLE_49, CF_AUX_TABLE_50, CF_AUX_TABLE_51, CF_AUX_TABLE_52, CF_AUX_TABLE_53, CF_AUX_TABLE_54, CF_AUX_TABLE_55, CF_AUX_TABLE_56, CF_AUX_TABLE_57, CF_AUX_TABLE_58, CF_AUX_TABLE_59, CF_AUX_TABLE_60, CF_AUX_TABLE_61, CF_AUX_TABLE_62, CF_AUX_TABLE_63, CF_AUX_TABLE_64, CF_AUX_TABLE_65, CF_AUX_TABLE_66, CF_AUX_TABLE_67, CF_AUX_TABLE_68, CF_AUX_TABLE_69, CF_AUX_TABLE_70, CF_AUX_TABLE_71, CF_AUX_TABLE_72, CF_AUX_TABLE_73 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 CF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* CF_AUX_TABLE_1 */, 2 /* CF_AUX_TABLE_2 */, 2 /* CF_AUX_TABLE_3 */, 2 /* CF_AUX_TABLE_4 */, 3 /* CF_AUX_TABLE_5 */, 3 /* CF_AUX_TABLE_6 */, 2 /* CF_AUX_TABLE_7 */, 2 /* CF_AUX_TABLE_8 */, 2 /* CF_AUX_TABLE_9 */, 2 /* CF_AUX_TABLE_10 */, 2 /* CF_AUX_TABLE_11 */, 2 /* CF_AUX_TABLE_12 */, 2 /* CF_AUX_TABLE_13 */, 3 /* CF_AUX_TABLE_14 */, 3 /* CF_AUX_TABLE_15 */, 3 /* CF_AUX_TABLE_16 */, 2 /* CF_AUX_TABLE_17 */, 2 /* CF_AUX_TABLE_18 */, 2 /* CF_AUX_TABLE_19 */, 2 /* CF_AUX_TABLE_20 */, 2 /* CF_AUX_TABLE_21 */, 2 /* CF_AUX_TABLE_22 */, 2 /* CF_AUX_TABLE_23 */, 2 /* CF_AUX_TABLE_24 */, 2 /* CF_AUX_TABLE_25 */, 2 /* CF_AUX_TABLE_26 */, 2 /* CF_AUX_TABLE_27 */, 2 /* CF_AUX_TABLE_28 */, 2 /* CF_AUX_TABLE_29 */, 2 /* CF_AUX_TABLE_30 */, 2 /* CF_AUX_TABLE_31 */, 2 /* CF_AUX_TABLE_32 */, 2 /* CF_AUX_TABLE_33 */, 2 /* CF_AUX_TABLE_34 */, 2 /* CF_AUX_TABLE_35 */, 2 /* CF_AUX_TABLE_36 */, 2 /* CF_AUX_TABLE_37 */, 2 /* CF_AUX_TABLE_38 */, 2 /* CF_AUX_TABLE_39 */, 2 /* CF_AUX_TABLE_40 */, 2 /* CF_AUX_TABLE_41 */, 2 /* CF_AUX_TABLE_42 */, 2 /* CF_AUX_TABLE_43 */, 2 /* CF_AUX_TABLE_44 */, 3 /* CF_AUX_TABLE_45 */, 2 /* CF_AUX_TABLE_46 */, 2 /* CF_AUX_TABLE_47 */, 2 /* CF_AUX_TABLE_48 */, 2 /* CF_AUX_TABLE_49 */, 3 /* CF_AUX_TABLE_50 */, 3 /* CF_AUX_TABLE_51 */, 2 /* CF_AUX_TABLE_52 */, 3 /* CF_AUX_TABLE_53 */, 3 /* CF_AUX_TABLE_54 */, 2 /* CF_AUX_TABLE_55 */, 2 /* CF_AUX_TABLE_56 */, 3 /* CF_AUX_TABLE_57 */, 2 /* CF_AUX_TABLE_58 */, 2 /* CF_AUX_TABLE_59 */, 2 /* CF_AUX_TABLE_60 */, 2 /* CF_AUX_TABLE_61 */, 3 /* CF_AUX_TABLE_62 */, 2 /* CF_AUX_TABLE_63 */, 2 /* CF_AUX_TABLE_64 */, 2 /* CF_AUX_TABLE_65 */, 3 /* CF_AUX_TABLE_66 */, 3 /* CF_AUX_TABLE_67 */, 2 /* CF_AUX_TABLE_68 */, 2 /* CF_AUX_TABLE_69 */, 2 /* CF_AUX_TABLE_70 */, 2 /* CF_AUX_TABLE_71 */, 2 /* CF_AUX_TABLE_72 */, 2 /* CF_AUX_TABLE_73 */ }; static const I32 Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0, CF_use_AUX_TABLE_1, 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x3BC, 0, 0x8C, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, CF_use_AUX_TABLE_2, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, CF_use_AUX_TABLE_3, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0xA2, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, CF_use_AUX_TABLE_4, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, CF_use_AUX_TABLE_5, 0x3B1, 0, 0x3C3, 0, CF_use_AUX_TABLE_6, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, CF_use_AUX_TABLE_7, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, CF_use_AUX_TABLE_8, CF_use_AUX_TABLE_9, CF_use_AUX_TABLE_10, CF_use_AUX_TABLE_11, CF_use_AUX_TABLE_12, 0x1E61, 0, CF_use_AUX_TABLE_1, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, CF_use_AUX_TABLE_13, 0, CF_use_AUX_TABLE_14, 0, CF_use_AUX_TABLE_15, 0, CF_use_AUX_TABLE_16, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_17, CF_use_AUX_TABLE_18, CF_use_AUX_TABLE_19, CF_use_AUX_TABLE_20, CF_use_AUX_TABLE_21, CF_use_AUX_TABLE_22, CF_use_AUX_TABLE_23, CF_use_AUX_TABLE_24, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_25, CF_use_AUX_TABLE_26, CF_use_AUX_TABLE_27, CF_use_AUX_TABLE_28, CF_use_AUX_TABLE_29, CF_use_AUX_TABLE_30, CF_use_AUX_TABLE_31, CF_use_AUX_TABLE_32, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, CF_use_AUX_TABLE_33, CF_use_AUX_TABLE_34, CF_use_AUX_TABLE_35, CF_use_AUX_TABLE_36, CF_use_AUX_TABLE_37, CF_use_AUX_TABLE_38, CF_use_AUX_TABLE_39, CF_use_AUX_TABLE_40, 0, CF_use_AUX_TABLE_41, CF_use_AUX_TABLE_42, CF_use_AUX_TABLE_43, 0, CF_use_AUX_TABLE_44, CF_use_AUX_TABLE_45, 0x1FB0, 0x1F70, CF_use_AUX_TABLE_42, 0, 0x3B9, 0, CF_use_AUX_TABLE_46, CF_use_AUX_TABLE_47, CF_use_AUX_TABLE_48, 0, CF_use_AUX_TABLE_49, CF_use_AUX_TABLE_50, 0x1F72, CF_use_AUX_TABLE_47, 0, CF_use_AUX_TABLE_51, CF_use_AUX_TABLE_5, 0, CF_use_AUX_TABLE_52, CF_use_AUX_TABLE_53, 0x1FD0, 0x1F76, 0, CF_use_AUX_TABLE_54, CF_use_AUX_TABLE_6, CF_use_AUX_TABLE_55, 0, CF_use_AUX_TABLE_56, CF_use_AUX_TABLE_57, 0x1FE0, 0x1F7A, 0x1FE5, 0, CF_use_AUX_TABLE_58, CF_use_AUX_TABLE_59, CF_use_AUX_TABLE_60, 0, CF_use_AUX_TABLE_61, CF_use_AUX_TABLE_62, 0x1F78, 0x1F7C, CF_use_AUX_TABLE_59, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, CF_use_AUX_TABLE_63, CF_use_AUX_TABLE_64, CF_use_AUX_TABLE_65, CF_use_AUX_TABLE_66, CF_use_AUX_TABLE_67, CF_use_AUX_TABLE_68, 0, CF_use_AUX_TABLE_69, CF_use_AUX_TABLE_70, CF_use_AUX_TABLE_71, CF_use_AUX_TABLE_72, CF_use_AUX_TABLE_73, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV Lowercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 1262, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { LC_0 = 0, LC_use_AUX_TABLE_1 = -1 } LC_enum; #define HAS_LC_AUX_TABLES static const U32 LC_AUX_TABLE_1[] = { 0x69, 0x307 }; static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 LC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* LC_AUX_TABLE_1 */ }; static const I32 Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, 0xE0, 0, 0xF8, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, LC_use_AUX_TABLE_1, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xFF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3D7, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3B8, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0xAB70, 0x13F8, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0xDF, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x6B, 0xE5, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 1280, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { LC_0 = 0, LC_use_AUX_TABLE_1 = -1 } LC_enum; #define HAS_LC_AUX_TABLES static const U32 LC_AUX_TABLE_1[] = { 0x89, 0x307 }; static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 LC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* LC_AUX_TABLE_1 */ }; static const I32 Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x8C, 0, 0x8E, 0, 0x8D, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, LC_use_AUX_TABLE_1, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3D7, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3B8, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0xAB70, 0x13F8, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0x59, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 037 */ 1276, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { LC_0 = 0, LC_use_AUX_TABLE_1 = -1 } LC_enum; #define HAS_LC_AUX_TABLES static const U32 LC_AUX_TABLE_1[] = { 0x89, 0x307 }; static const U32 * const LC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ LC_AUX_TABLE_1 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 LC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* LC_AUX_TABLE_1 */ }; static const I32 Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x8C, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, LC_use_AUX_TABLE_1, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3D7, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3B8, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0xAB70, 0x13F8, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0x59, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) static const UV _Perl_CCC_non0_non230_invlist[] = { /* for all charsets */ 359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x315, 0x33D, 0x345, 0x346, 0x347, 0x34A, 0x34D, 0x34F, 0x353, 0x357, 0x358, 0x35B, 0x35C, 0x363, 0x591, 0x592, 0x596, 0x597, 0x59A, 0x59C, 0x5A2, 0x5A8, 0x5AA, 0x5AB, 0x5AD, 0x5AF, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C5, 0x5C6, 0x5C7, 0x5C8, 0x618, 0x61B, 0x64B, 0x653, 0x655, 0x657, 0x65C, 0x65D, 0x65F, 0x660, 0x670, 0x671, 0x6E3, 0x6E4, 0x6EA, 0x6EB, 0x6ED, 0x6EE, 0x711, 0x712, 0x731, 0x732, 0x734, 0x735, 0x737, 0x73A, 0x73B, 0x73D, 0x73E, 0x73F, 0x742, 0x743, 0x744, 0x745, 0x746, 0x747, 0x748, 0x749, 0x7F2, 0x7F3, 0x7FD, 0x7FE, 0x859, 0x85C, 0x8D3, 0x8D4, 0x8E3, 0x8E4, 0x8E6, 0x8E7, 0x8E9, 0x8EA, 0x8ED, 0x8F3, 0x8F6, 0x8F7, 0x8F9, 0x8FB, 0x93C, 0x93D, 0x94D, 0x94E, 0x952, 0x953, 0x9BC, 0x9BD, 0x9CD, 0x9CE, 0xA3C, 0xA3D, 0xA4D, 0xA4E, 0xABC, 0xABD, 0xACD, 0xACE, 0xB3C, 0xB3D, 0xB4D, 0xB4E, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xC55, 0xC57, 0xCBC, 0xCBD, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE38, 0xE3B, 0xE48, 0xE4C, 0xEB8, 0xEBB, 0xEC8, 0xECC, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF7E, 0xF80, 0xF81, 0xF84, 0xF85, 0xFC6, 0xFC7, 0x1037, 0x1038, 0x1039, 0x103B, 0x108D, 0x108E, 0x1714, 0x1715, 0x1734, 0x1735, 0x17D2, 0x17D3, 0x18A9, 0x18AA, 0x1939, 0x193A, 0x193B, 0x193C, 0x1A18, 0x1A19, 0x1A60, 0x1A61, 0x1A7F, 0x1A80, 0x1AB5, 0x1ABB, 0x1ABD, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B6C, 0x1B6D, 0x1BAA, 0x1BAC, 0x1BE6, 0x1BE7, 0x1BF2, 0x1BF4, 0x1C37, 0x1C38, 0x1CD4, 0x1CDA, 0x1CDC, 0x1CE0, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1DC2, 0x1DC3, 0x1DCA, 0x1DCB, 0x1DCD, 0x1DD1, 0x1DF6, 0x1DFA, 0x1DFC, 0x1DFE, 0x1DFF, 0x1E00, 0x20D2, 0x20D4, 0x20D8, 0x20DB, 0x20E5, 0x20E7, 0x20E8, 0x20E9, 0x20EA, 0x20F0, 0x2D7F, 0x2D80, 0x302A, 0x3030, 0x3099, 0x309B, 0xA806, 0xA807, 0xA82C, 0xA82D, 0xA8C4, 0xA8C5, 0xA92B, 0xA92E, 0xA953, 0xA954, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9C1, 0xAAB4, 0xAAB5, 0xAAF6, 0xAAF7, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE27, 0xFE2E, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10A0D, 0x10A0E, 0x10A39, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE6, 0x10AE7, 0x10F46, 0x10F48, 0x10F4B, 0x10F4C, 0x10F4D, 0x10F51, 0x11046, 0x11047, 0x1107F, 0x11080, 0x110B9, 0x110BB, 0x11133, 0x11135, 0x11173, 0x11174, 0x111C0, 0x111C1, 0x111CA, 0x111CB, 0x11235, 0x11237, 0x112E9, 0x112EB, 0x1133B, 0x1133D, 0x1134D, 0x1134E, 0x11442, 0x11443, 0x11446, 0x11447, 0x114C2, 0x114C4, 0x115BF, 0x115C1, 0x1163F, 0x11640, 0x116B6, 0x116B8, 0x1172B, 0x1172C, 0x11839, 0x1183B, 0x1193D, 0x1193F, 0x11943, 0x11944, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D97, 0x11D98, 0x16AF0, 0x16AF5, 0x16FF0, 0x16FF2, 0x1BC9E, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D18A, 0x1D18C, 0x1E8D0, 0x1E8D7, 0x1E94A, 0x1E94B }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */ 1805, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xB, 0xD, 0xE, 0x20, 0x7F, 0xA0, 0xA9, 0xAA, 0xAD, 0xAE, 0xAF, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x904, 0x93A, 0x93B, 0x93C, 0x93D, 0x93E, 0x941, 0x949, 0x94D, 0x94E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACA, 0xACB, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC6, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD82, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1056, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A55, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B05, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2028, 0x202F, 0x203C, 0x203D, 0x2049, 0x204A, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3031, 0x303D, 0x303E, 0x3099, 0x309B, 0x3297, 0x3298, 0x3299, 0x329A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA825, 0xA827, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA983, 0xA984, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAF0, 0xAAF5, 0xAAF6, 0xAAF7, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0xABEE, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11001, 0x11002, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11082, 0x11083, 0x110B0, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11182, 0x11183, 0x111B3, 0x111B6, 0x111BF, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111CF, 0x111D0, 0x1122C, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115AF, 0x115B0, 0x115B2, 0x115B6, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11943, 0x11944, 0x119D1, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A84, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C2F, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16D, 0x1D16E, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 65 /* ASCII/Latin1 */ typedef enum { GCB_Other = 0, GCB_Control = 1, GCB_CR = 2, GCB_EDGE = 3, GCB_ExtPict_XX = 4, GCB_Extend = 5, GCB_L = 6, GCB_LF = 7, GCB_LV = 8, GCB_LVT = 9, GCB_Prepend = 10, GCB_Regional_Indicator = 11, GCB_SpacingMark = 12, GCB_T = 13, GCB_V = 14, GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, GCB_Glue_After_Zwj = 16 } GCB_enum; static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */ GCB_Control, GCB_LF, GCB_Control, GCB_CR, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_L, GCB_V, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Extend, GCB_ZWJ, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_L, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_Other, GCB_V, GCB_Other, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_SpacingMark, GCB_Prepend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Prepend, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Control, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, GCB_Control, GCB_Extend, GCB_Control, GCB_Other }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */ 1806, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x15, 0x16, 0x40, 0xAF, 0xB0, 0xB4, 0xB5, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x904, 0x93A, 0x93B, 0x93C, 0x93D, 0x93E, 0x941, 0x949, 0x94D, 0x94E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACA, 0xACB, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC6, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD82, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1056, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A55, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B05, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2028, 0x202F, 0x203C, 0x203D, 0x2049, 0x204A, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3031, 0x303D, 0x303E, 0x3099, 0x309B, 0x3297, 0x3298, 0x3299, 0x329A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA825, 0xA827, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA983, 0xA984, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAF0, 0xAAF5, 0xAAF6, 0xAAF7, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0xABEE, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11001, 0x11002, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11082, 0x11083, 0x110B0, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11182, 0x11183, 0x111B3, 0x111B6, 0x111BF, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111CF, 0x111D0, 0x1122C, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115AF, 0x115B0, 0x115B2, 0x115B6, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11943, 0x11944, 0x119D1, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A84, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C2F, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16D, 0x1D16E, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 typedef enum { GCB_Other = 0, GCB_Control = 1, GCB_CR = 2, GCB_EDGE = 3, GCB_ExtPict_XX = 4, GCB_Extend = 5, GCB_L = 6, GCB_LF = 7, GCB_LV = 8, GCB_LVT = 9, GCB_Prepend = 10, GCB_Regional_Indicator = 11, GCB_SpacingMark = 12, GCB_T = 13, GCB_V = 14, GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, GCB_Glue_After_Zwj = 16 } GCB_enum; static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */ GCB_Control, GCB_CR, GCB_Control, GCB_LF, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_L, GCB_V, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Extend, GCB_ZWJ, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_L, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_Other, GCB_V, GCB_Other, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_SpacingMark, GCB_Prepend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Prepend, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Control, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, GCB_Control, GCB_Extend, GCB_Control, GCB_Other }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */ 1806, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x25, 0x26, 0x40, 0xAF, 0xB0, 0xB4, 0xB5, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x904, 0x93A, 0x93B, 0x93C, 0x93D, 0x93E, 0x941, 0x949, 0x94D, 0x94E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACA, 0xACB, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC6, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD82, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1056, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A55, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B05, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2028, 0x202F, 0x203C, 0x203D, 0x2049, 0x204A, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3031, 0x303D, 0x303E, 0x3099, 0x309B, 0x3297, 0x3298, 0x3299, 0x329A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA825, 0xA827, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA983, 0xA984, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAF0, 0xAAF5, 0xAAF6, 0xAAF7, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0xABEE, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11001, 0x11002, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11082, 0x11083, 0x110B0, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11182, 0x11183, 0x111B3, 0x111B6, 0x111BF, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111CF, 0x111D0, 0x1122C, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115AF, 0x115B0, 0x115B2, 0x115B6, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11943, 0x11944, 0x119D1, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A84, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C2F, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16D, 0x1D16E, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 typedef enum { GCB_Other = 0, GCB_Control = 1, GCB_CR = 2, GCB_EDGE = 3, GCB_ExtPict_XX = 4, GCB_Extend = 5, GCB_L = 6, GCB_LF = 7, GCB_LV = 8, GCB_LVT = 9, GCB_Prepend = 10, GCB_Regional_Indicator = 11, GCB_SpacingMark = 12, GCB_T = 13, GCB_V = 14, GCB_ZWJ = 15, GCB_E_Base = 16, GCB_E_Base_GAZ = 16, GCB_E_Modifier = 16, GCB_Glue_After_Zwj = 16 } GCB_enum; static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */ GCB_Control, GCB_CR, GCB_Control, GCB_LF, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_L, GCB_V, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Extend, GCB_ZWJ, GCB_Control, GCB_Other, GCB_Control, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_L, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_LV, GCB_LVT, GCB_Other, GCB_V, GCB_Other, GCB_T, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Prepend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Prepend, GCB_SpacingMark, GCB_Prepend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Prepend, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Prepend, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Prepend, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Other, GCB_Extend, GCB_Other, GCB_Control, GCB_Other, GCB_Extend, GCB_SpacingMark, GCB_Extend, GCB_Other, GCB_SpacingMark, GCB_Extend, GCB_Control, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_Extend, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Regional_Indicator, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Extend, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_ExtPict_XX, GCB_Other, GCB_Control, GCB_Extend, GCB_Control, GCB_Extend, GCB_Control, GCB_Other }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */ 1316, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x6B, 0x6C, 0x73, 0x74, 0x7B, 0xDF, 0xE0, 0xE5, 0xE6, 0xF7, 0xF8, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3B2, 0x3B3, 0x3B5, 0x3B6, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3C0, 0x3C1, 0x3C2, 0x3C3, 0x3C4, 0x3C6, 0x3C7, 0x3C9, 0x3CA, 0x3CC, 0x3CD, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F3, 0x3F4, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x432, 0x433, 0x434, 0x435, 0x43E, 0x43F, 0x441, 0x442, 0x443, 0x44A, 0x44B, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F0, 0x13F6, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E9E, 0x1E9F, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FBC, 0x1FBD, 0x1FC3, 0x1FC4, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FF3, 0x1FF4, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xFB05, 0xFB06, 0xFB07, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { IVCF_0 = 0, IVCF_use_AUX_TABLE_1 = -1, IVCF_use_AUX_TABLE_2 = -2, IVCF_use_AUX_TABLE_3 = -3, IVCF_use_AUX_TABLE_4 = -4, IVCF_use_AUX_TABLE_5 = -5, IVCF_use_AUX_TABLE_6 = -6, IVCF_use_AUX_TABLE_7 = -7, IVCF_use_AUX_TABLE_8 = -8, IVCF_use_AUX_TABLE_9 = -9, IVCF_use_AUX_TABLE_10 = -10, IVCF_use_AUX_TABLE_11 = -11, IVCF_use_AUX_TABLE_12 = -12, IVCF_use_AUX_TABLE_13 = -13, IVCF_use_AUX_TABLE_14 = -14, IVCF_use_AUX_TABLE_15 = -15, IVCF_use_AUX_TABLE_16 = -16, IVCF_use_AUX_TABLE_17 = -17, IVCF_use_AUX_TABLE_18 = -18, IVCF_use_AUX_TABLE_19 = -19, IVCF_use_AUX_TABLE_20 = -20, IVCF_use_AUX_TABLE_21 = -21, IVCF_use_AUX_TABLE_22 = -22, IVCF_use_AUX_TABLE_23 = -23, IVCF_use_AUX_TABLE_24 = -24, IVCF_use_AUX_TABLE_25 = -25, IVCF_use_AUX_TABLE_26 = -26, IVCF_use_AUX_TABLE_27 = -27 } IVCF_enum; #define HAS_IVCF_AUX_TABLES static const U32 IVCF_AUX_TABLE_1[] = { 0x4B, 0x212A }; static const U32 IVCF_AUX_TABLE_2[] = { 0x53, 0x17F }; static const U32 IVCF_AUX_TABLE_3[] = { 0xC5, 0x212B }; static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; static const U32 IVCF_AUX_TABLE_13[] = { 0xB5, 0x39C }; static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, IVCF_AUX_TABLE_3, IVCF_AUX_TABLE_4, IVCF_AUX_TABLE_5, IVCF_AUX_TABLE_6, IVCF_AUX_TABLE_7, IVCF_AUX_TABLE_8, IVCF_AUX_TABLE_9, IVCF_AUX_TABLE_10, IVCF_AUX_TABLE_11, IVCF_AUX_TABLE_12, IVCF_AUX_TABLE_13, IVCF_AUX_TABLE_14, IVCF_AUX_TABLE_15, IVCF_AUX_TABLE_16, IVCF_AUX_TABLE_17, IVCF_AUX_TABLE_18, IVCF_AUX_TABLE_19, IVCF_AUX_TABLE_20, IVCF_AUX_TABLE_21, IVCF_AUX_TABLE_22, IVCF_AUX_TABLE_23, IVCF_AUX_TABLE_24, IVCF_AUX_TABLE_25, IVCF_AUX_TABLE_26, IVCF_AUX_TABLE_27 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 IVCF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* IVCF_AUX_TABLE_1 */, 2 /* IVCF_AUX_TABLE_2 */, 2 /* IVCF_AUX_TABLE_3 */, 2 /* IVCF_AUX_TABLE_4 */, 2 /* IVCF_AUX_TABLE_5 */, 2 /* IVCF_AUX_TABLE_6 */, 2 /* IVCF_AUX_TABLE_7 */, 2 /* IVCF_AUX_TABLE_8 */, 2 /* IVCF_AUX_TABLE_9 */, 3 /* IVCF_AUX_TABLE_10 */, 3 /* IVCF_AUX_TABLE_11 */, 2 /* IVCF_AUX_TABLE_12 */, 2 /* IVCF_AUX_TABLE_13 */, 2 /* IVCF_AUX_TABLE_14 */, 2 /* IVCF_AUX_TABLE_15 */, 2 /* IVCF_AUX_TABLE_16 */, 2 /* IVCF_AUX_TABLE_17 */, 2 /* IVCF_AUX_TABLE_18 */, 2 /* IVCF_AUX_TABLE_19 */, 2 /* IVCF_AUX_TABLE_20 */, 2 /* IVCF_AUX_TABLE_21 */, 2 /* IVCF_AUX_TABLE_22 */, 3 /* IVCF_AUX_TABLE_23 */, 2 /* IVCF_AUX_TABLE_24 */, 2 /* IVCF_AUX_TABLE_25 */, 2 /* IVCF_AUX_TABLE_26 */, 2 /* IVCF_AUX_TABLE_27 */ }; static const I32 _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, IVCF_use_AUX_TABLE_1, 0x4C, IVCF_use_AUX_TABLE_2, 0x54, 0, 0x1E9E, 0xC0, IVCF_use_AUX_TABLE_3, 0xC6, 0, 0xD8, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, IVCF_use_AUX_TABLE_4, 0, IVCF_use_AUX_TABLE_5, 0, IVCF_use_AUX_TABLE_6, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, 0, IVCF_use_AUX_TABLE_7, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, 0x1FD3, 0, 0x386, 0x388, 0x1FE3, 0x391, IVCF_use_AUX_TABLE_8, 0x393, IVCF_use_AUX_TABLE_9, 0x396, IVCF_use_AUX_TABLE_10, IVCF_use_AUX_TABLE_11, IVCF_use_AUX_TABLE_12, 0x39B, IVCF_use_AUX_TABLE_13, 0x39D, IVCF_use_AUX_TABLE_14, IVCF_use_AUX_TABLE_15, 0, IVCF_use_AUX_TABLE_16, 0x3A4, IVCF_use_AUX_TABLE_17, 0x3A7, IVCF_use_AUX_TABLE_18, 0x3AA, 0x38C, 0x38E, 0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0, 0x3F9, 0x37F, 0, 0x3F7, 0, 0x3FA, 0, 0x410, IVCF_use_AUX_TABLE_19, 0x413, IVCF_use_AUX_TABLE_20, 0x415, IVCF_use_AUX_TABLE_21, 0x41F, IVCF_use_AUX_TABLE_22, IVCF_use_AUX_TABLE_23, 0x423, IVCF_use_AUX_TABLE_24, 0x42B, 0x400, 0, 0x460, 0, IVCF_use_AUX_TABLE_25, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, 0, 0x1C90, 0, 0x1CBD, 0, 0xAB70, 0x13F8, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, IVCF_use_AUX_TABLE_26, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, 0, 0xDF, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, 0x1F59, 0, 0x1F5B, 0, 0x1F5D, 0, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0x1F80, 0x1F98, 0x1F90, 0x1FA8, 0x1FA0, 0x1FB8, 0, 0x1FBC, 0, 0x1FB3, 0, 0x1FCC, 0, 0x1FC3, 0, 0x1FD8, 0, 0x390, 0, 0x1FE8, 0, 0x3B0, 0, 0x1FEC, 0, 0x1FFC, 0, 0x1FF3, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, IVCF_use_AUX_TABLE_27, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0xFB06, 0xFB05, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */ 1331, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x47, 0x48, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93, 0x9A, 0x9C, 0x9D, 0xA2, 0xA3, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3B2, 0x3B3, 0x3B5, 0x3B6, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3C0, 0x3C1, 0x3C2, 0x3C3, 0x3C4, 0x3C6, 0x3C7, 0x3C9, 0x3CA, 0x3CC, 0x3CD, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F3, 0x3F4, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x432, 0x433, 0x434, 0x435, 0x43E, 0x43F, 0x441, 0x442, 0x443, 0x44A, 0x44B, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F0, 0x13F6, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E9E, 0x1E9F, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FBC, 0x1FBD, 0x1FC3, 0x1FC4, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FF3, 0x1FF4, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xFB05, 0xFB06, 0xFB07, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { IVCF_0 = 0, IVCF_use_AUX_TABLE_1 = -1, IVCF_use_AUX_TABLE_2 = -2, IVCF_use_AUX_TABLE_3 = -3, IVCF_use_AUX_TABLE_4 = -4, IVCF_use_AUX_TABLE_5 = -5, IVCF_use_AUX_TABLE_6 = -6, IVCF_use_AUX_TABLE_7 = -7, IVCF_use_AUX_TABLE_8 = -8, IVCF_use_AUX_TABLE_9 = -9, IVCF_use_AUX_TABLE_10 = -10, IVCF_use_AUX_TABLE_11 = -11, IVCF_use_AUX_TABLE_12 = -12, IVCF_use_AUX_TABLE_13 = -13, IVCF_use_AUX_TABLE_14 = -14, IVCF_use_AUX_TABLE_15 = -15, IVCF_use_AUX_TABLE_16 = -16, IVCF_use_AUX_TABLE_17 = -17, IVCF_use_AUX_TABLE_18 = -18, IVCF_use_AUX_TABLE_19 = -19, IVCF_use_AUX_TABLE_20 = -20, IVCF_use_AUX_TABLE_21 = -21, IVCF_use_AUX_TABLE_22 = -22, IVCF_use_AUX_TABLE_23 = -23, IVCF_use_AUX_TABLE_24 = -24, IVCF_use_AUX_TABLE_25 = -25, IVCF_use_AUX_TABLE_26 = -26, IVCF_use_AUX_TABLE_27 = -27 } IVCF_enum; #define HAS_IVCF_AUX_TABLES static const U32 IVCF_AUX_TABLE_1[] = { 0x67, 0x212B }; static const U32 IVCF_AUX_TABLE_2[] = { 0xD2, 0x212A }; static const U32 IVCF_AUX_TABLE_3[] = { 0xE2, 0x17F }; static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; static const U32 IVCF_AUX_TABLE_13[] = { 0xA0, 0x39C }; static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, IVCF_AUX_TABLE_3, IVCF_AUX_TABLE_4, IVCF_AUX_TABLE_5, IVCF_AUX_TABLE_6, IVCF_AUX_TABLE_7, IVCF_AUX_TABLE_8, IVCF_AUX_TABLE_9, IVCF_AUX_TABLE_10, IVCF_AUX_TABLE_11, IVCF_AUX_TABLE_12, IVCF_AUX_TABLE_13, IVCF_AUX_TABLE_14, IVCF_AUX_TABLE_15, IVCF_AUX_TABLE_16, IVCF_AUX_TABLE_17, IVCF_AUX_TABLE_18, IVCF_AUX_TABLE_19, IVCF_AUX_TABLE_20, IVCF_AUX_TABLE_21, IVCF_AUX_TABLE_22, IVCF_AUX_TABLE_23, IVCF_AUX_TABLE_24, IVCF_AUX_TABLE_25, IVCF_AUX_TABLE_26, IVCF_AUX_TABLE_27 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 IVCF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* IVCF_AUX_TABLE_1 */, 2 /* IVCF_AUX_TABLE_2 */, 2 /* IVCF_AUX_TABLE_3 */, 2 /* IVCF_AUX_TABLE_4 */, 2 /* IVCF_AUX_TABLE_5 */, 2 /* IVCF_AUX_TABLE_6 */, 2 /* IVCF_AUX_TABLE_7 */, 2 /* IVCF_AUX_TABLE_8 */, 2 /* IVCF_AUX_TABLE_9 */, 3 /* IVCF_AUX_TABLE_10 */, 3 /* IVCF_AUX_TABLE_11 */, 2 /* IVCF_AUX_TABLE_12 */, 2 /* IVCF_AUX_TABLE_13 */, 2 /* IVCF_AUX_TABLE_14 */, 2 /* IVCF_AUX_TABLE_15 */, 2 /* IVCF_AUX_TABLE_16 */, 2 /* IVCF_AUX_TABLE_17 */, 2 /* IVCF_AUX_TABLE_18 */, 2 /* IVCF_AUX_TABLE_19 */, 2 /* IVCF_AUX_TABLE_20 */, 2 /* IVCF_AUX_TABLE_21 */, 2 /* IVCF_AUX_TABLE_22 */, 3 /* IVCF_AUX_TABLE_23 */, 2 /* IVCF_AUX_TABLE_24 */, 2 /* IVCF_AUX_TABLE_25 */, 2 /* IVCF_AUX_TABLE_26 */, 2 /* IVCF_AUX_TABLE_27 */ }; static const I32 _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */ 0, 0x62, IVCF_use_AUX_TABLE_1, 0x68, 0, 0x71, 0x1E9E, 0, 0x80, 0, 0xC1, 0, 0xAC, 0xBA, 0xAE, 0, 0xD1, IVCF_use_AUX_TABLE_2, 0xD3, 0, 0x9E, 0, IVCF_use_AUX_TABLE_3, 0xE3, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, IVCF_use_AUX_TABLE_4, 0, IVCF_use_AUX_TABLE_5, 0, IVCF_use_AUX_TABLE_6, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, 0, IVCF_use_AUX_TABLE_7, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, 0x1FD3, 0, 0x386, 0x388, 0x1FE3, 0x391, IVCF_use_AUX_TABLE_8, 0x393, IVCF_use_AUX_TABLE_9, 0x396, IVCF_use_AUX_TABLE_10, IVCF_use_AUX_TABLE_11, IVCF_use_AUX_TABLE_12, 0x39B, IVCF_use_AUX_TABLE_13, 0x39D, IVCF_use_AUX_TABLE_14, IVCF_use_AUX_TABLE_15, 0, IVCF_use_AUX_TABLE_16, 0x3A4, IVCF_use_AUX_TABLE_17, 0x3A7, IVCF_use_AUX_TABLE_18, 0x3AA, 0x38C, 0x38E, 0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0, 0x3F9, 0x37F, 0, 0x3F7, 0, 0x3FA, 0, 0x410, IVCF_use_AUX_TABLE_19, 0x413, IVCF_use_AUX_TABLE_20, 0x415, IVCF_use_AUX_TABLE_21, 0x41F, IVCF_use_AUX_TABLE_22, IVCF_use_AUX_TABLE_23, 0x423, IVCF_use_AUX_TABLE_24, 0x42B, 0x400, 0, 0x460, 0, IVCF_use_AUX_TABLE_25, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, 0, 0x1C90, 0, 0x1CBD, 0, 0xAB70, 0x13F8, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, IVCF_use_AUX_TABLE_26, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, 0, 0x59, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, 0x1F59, 0, 0x1F5B, 0, 0x1F5D, 0, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0x1F80, 0x1F98, 0x1F90, 0x1FA8, 0x1FA0, 0x1FB8, 0, 0x1FBC, 0, 0x1FB3, 0, 0x1FCC, 0, 0x1FC3, 0, 0x1FD8, 0, 0x390, 0, 0x1FE8, 0, 0x3B0, 0, 0x1FEC, 0, 0x1FFC, 0, 0x1FF3, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, IVCF_use_AUX_TABLE_27, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0xFB06, 0xFB05, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */ 1329, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x47, 0x48, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x92, 0x93, 0x9A, 0x9C, 0x9D, 0xA2, 0xA3, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3B2, 0x3B3, 0x3B5, 0x3B6, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3C0, 0x3C1, 0x3C2, 0x3C3, 0x3C4, 0x3C6, 0x3C7, 0x3C9, 0x3CA, 0x3CC, 0x3CD, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F3, 0x3F4, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x432, 0x433, 0x434, 0x435, 0x43E, 0x43F, 0x441, 0x442, 0x443, 0x44A, 0x44B, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F0, 0x13F6, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E9E, 0x1E9F, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FBC, 0x1FBD, 0x1FC3, 0x1FC4, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FF3, 0x1FF4, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xFB05, 0xFB06, 0xFB07, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { IVCF_0 = 0, IVCF_use_AUX_TABLE_1 = -1, IVCF_use_AUX_TABLE_2 = -2, IVCF_use_AUX_TABLE_3 = -3, IVCF_use_AUX_TABLE_4 = -4, IVCF_use_AUX_TABLE_5 = -5, IVCF_use_AUX_TABLE_6 = -6, IVCF_use_AUX_TABLE_7 = -7, IVCF_use_AUX_TABLE_8 = -8, IVCF_use_AUX_TABLE_9 = -9, IVCF_use_AUX_TABLE_10 = -10, IVCF_use_AUX_TABLE_11 = -11, IVCF_use_AUX_TABLE_12 = -12, IVCF_use_AUX_TABLE_13 = -13, IVCF_use_AUX_TABLE_14 = -14, IVCF_use_AUX_TABLE_15 = -15, IVCF_use_AUX_TABLE_16 = -16, IVCF_use_AUX_TABLE_17 = -17, IVCF_use_AUX_TABLE_18 = -18, IVCF_use_AUX_TABLE_19 = -19, IVCF_use_AUX_TABLE_20 = -20, IVCF_use_AUX_TABLE_21 = -21, IVCF_use_AUX_TABLE_22 = -22, IVCF_use_AUX_TABLE_23 = -23, IVCF_use_AUX_TABLE_24 = -24, IVCF_use_AUX_TABLE_25 = -25, IVCF_use_AUX_TABLE_26 = -26, IVCF_use_AUX_TABLE_27 = -27 } IVCF_enum; #define HAS_IVCF_AUX_TABLES static const U32 IVCF_AUX_TABLE_1[] = { 0x67, 0x212B }; static const U32 IVCF_AUX_TABLE_2[] = { 0xD2, 0x212A }; static const U32 IVCF_AUX_TABLE_3[] = { 0xE2, 0x17F }; static const U32 IVCF_AUX_TABLE_4[] = { 0x1C4, 0x1C5 }; static const U32 IVCF_AUX_TABLE_5[] = { 0x1C7, 0x1C8 }; static const U32 IVCF_AUX_TABLE_6[] = { 0x1CA, 0x1CB }; static const U32 IVCF_AUX_TABLE_7[] = { 0x1F1, 0x1F2 }; static const U32 IVCF_AUX_TABLE_8[] = { 0x392, 0x3D0 }; static const U32 IVCF_AUX_TABLE_9[] = { 0x395, 0x3F5 }; static const U32 IVCF_AUX_TABLE_10[] = { 0x398, 0x3D1, 0x3F4 }; static const U32 IVCF_AUX_TABLE_11[] = { 0x345, 0x399, 0x1FBE }; static const U32 IVCF_AUX_TABLE_12[] = { 0x39A, 0x3F0 }; static const U32 IVCF_AUX_TABLE_13[] = { 0xA0, 0x39C }; static const U32 IVCF_AUX_TABLE_14[] = { 0x3A0, 0x3D6 }; static const U32 IVCF_AUX_TABLE_15[] = { 0x3A1, 0x3F1 }; static const U32 IVCF_AUX_TABLE_16[] = { 0x3A3, 0x3C2 }; static const U32 IVCF_AUX_TABLE_17[] = { 0x3A6, 0x3D5 }; static const U32 IVCF_AUX_TABLE_18[] = { 0x3A9, 0x2126 }; static const U32 IVCF_AUX_TABLE_19[] = { 0x412, 0x1C80 }; static const U32 IVCF_AUX_TABLE_20[] = { 0x414, 0x1C81 }; static const U32 IVCF_AUX_TABLE_21[] = { 0x41E, 0x1C82 }; static const U32 IVCF_AUX_TABLE_22[] = { 0x421, 0x1C83 }; static const U32 IVCF_AUX_TABLE_23[] = { 0x422, 0x1C84, 0x1C85 }; static const U32 IVCF_AUX_TABLE_24[] = { 0x42A, 0x1C86 }; static const U32 IVCF_AUX_TABLE_25[] = { 0x462, 0x1C87 }; static const U32 IVCF_AUX_TABLE_26[] = { 0x1E60, 0x1E9B }; static const U32 IVCF_AUX_TABLE_27[] = { 0x1C88, 0xA64A }; static const U32 * const IVCF_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ IVCF_AUX_TABLE_1, IVCF_AUX_TABLE_2, IVCF_AUX_TABLE_3, IVCF_AUX_TABLE_4, IVCF_AUX_TABLE_5, IVCF_AUX_TABLE_6, IVCF_AUX_TABLE_7, IVCF_AUX_TABLE_8, IVCF_AUX_TABLE_9, IVCF_AUX_TABLE_10, IVCF_AUX_TABLE_11, IVCF_AUX_TABLE_12, IVCF_AUX_TABLE_13, IVCF_AUX_TABLE_14, IVCF_AUX_TABLE_15, IVCF_AUX_TABLE_16, IVCF_AUX_TABLE_17, IVCF_AUX_TABLE_18, IVCF_AUX_TABLE_19, IVCF_AUX_TABLE_20, IVCF_AUX_TABLE_21, IVCF_AUX_TABLE_22, IVCF_AUX_TABLE_23, IVCF_AUX_TABLE_24, IVCF_AUX_TABLE_25, IVCF_AUX_TABLE_26, IVCF_AUX_TABLE_27 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 IVCF_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* IVCF_AUX_TABLE_1 */, 2 /* IVCF_AUX_TABLE_2 */, 2 /* IVCF_AUX_TABLE_3 */, 2 /* IVCF_AUX_TABLE_4 */, 2 /* IVCF_AUX_TABLE_5 */, 2 /* IVCF_AUX_TABLE_6 */, 2 /* IVCF_AUX_TABLE_7 */, 2 /* IVCF_AUX_TABLE_8 */, 2 /* IVCF_AUX_TABLE_9 */, 3 /* IVCF_AUX_TABLE_10 */, 3 /* IVCF_AUX_TABLE_11 */, 2 /* IVCF_AUX_TABLE_12 */, 2 /* IVCF_AUX_TABLE_13 */, 2 /* IVCF_AUX_TABLE_14 */, 2 /* IVCF_AUX_TABLE_15 */, 2 /* IVCF_AUX_TABLE_16 */, 2 /* IVCF_AUX_TABLE_17 */, 2 /* IVCF_AUX_TABLE_18 */, 2 /* IVCF_AUX_TABLE_19 */, 2 /* IVCF_AUX_TABLE_20 */, 2 /* IVCF_AUX_TABLE_21 */, 2 /* IVCF_AUX_TABLE_22 */, 3 /* IVCF_AUX_TABLE_23 */, 2 /* IVCF_AUX_TABLE_24 */, 2 /* IVCF_AUX_TABLE_25 */, 2 /* IVCF_AUX_TABLE_26 */, 2 /* IVCF_AUX_TABLE_27 */ }; static const I32 _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */ 0, 0x62, IVCF_use_AUX_TABLE_1, 0x68, 0, 0x71, 0x1E9E, 0, 0x80, 0, 0xC1, 0, 0xAC, 0, 0xD1, IVCF_use_AUX_TABLE_2, 0xD3, 0, 0x9E, 0, IVCF_use_AUX_TABLE_3, 0xE3, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, IVCF_use_AUX_TABLE_4, 0, IVCF_use_AUX_TABLE_5, 0, IVCF_use_AUX_TABLE_6, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, 0, IVCF_use_AUX_TABLE_7, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, 0x1FD3, 0, 0x386, 0x388, 0x1FE3, 0x391, IVCF_use_AUX_TABLE_8, 0x393, IVCF_use_AUX_TABLE_9, 0x396, IVCF_use_AUX_TABLE_10, IVCF_use_AUX_TABLE_11, IVCF_use_AUX_TABLE_12, 0x39B, IVCF_use_AUX_TABLE_13, 0x39D, IVCF_use_AUX_TABLE_14, IVCF_use_AUX_TABLE_15, 0, IVCF_use_AUX_TABLE_16, 0x3A4, IVCF_use_AUX_TABLE_17, 0x3A7, IVCF_use_AUX_TABLE_18, 0x3AA, 0x38C, 0x38E, 0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0, 0x3F9, 0x37F, 0, 0x3F7, 0, 0x3FA, 0, 0x410, IVCF_use_AUX_TABLE_19, 0x413, IVCF_use_AUX_TABLE_20, 0x415, IVCF_use_AUX_TABLE_21, 0x41F, IVCF_use_AUX_TABLE_22, IVCF_use_AUX_TABLE_23, 0x423, IVCF_use_AUX_TABLE_24, 0x42B, 0x400, 0, 0x460, 0, IVCF_use_AUX_TABLE_25, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, 0, 0x1C90, 0, 0x1CBD, 0, 0xAB70, 0x13F8, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, IVCF_use_AUX_TABLE_26, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, 0, 0x59, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, 0x1F59, 0, 0x1F5B, 0, 0x1F5D, 0, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0x1F80, 0x1F98, 0x1F90, 0x1FA8, 0x1FA0, 0x1FB8, 0, 0x1FBC, 0, 0x1FB3, 0, 0x1FCC, 0, 0x1FC3, 0, 0x1FD8, 0, 0x390, 0, 0x1FE8, 0, 0x3B0, 0, 0x1FEC, 0, 0x1FFC, 0, 0x1FF3, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, IVCF_use_AUX_TABLE_27, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0xFB06, 0xFB05, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */ 2416, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0xB, 0xD, 0xE, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x3A, 0x3C, 0x3F, 0x40, 0x5B, 0x5C, 0x5D, 0x5E, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 0x85, 0x86, 0xA0, 0xA1, 0xA2, 0xA3, 0xA6, 0xAB, 0xAC, 0xAD, 0xAE, 0xB0, 0xB1, 0xB2, 0xB4, 0xB5, 0xBB, 0xBC, 0xBF, 0xC0, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x37E, 0x37F, 0x483, 0x48A, 0x589, 0x58A, 0x58B, 0x58F, 0x590, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x609, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7F9, 0x7FA, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB66, 0xB70, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xBF9, 0xBFA, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC66, 0xC70, 0xC77, 0xC78, 0xC81, 0xC84, 0xC85, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD66, 0xD70, 0xD79, 0xD7A, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFC0, 0xFC6, 0xFC7, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0xFD9, 0xFDB, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169C, 0x169D, 0x16EB, 0x16EE, 0x1712, 0x1715, 0x1732, 0x1735, 0x1737, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17D6, 0x17D7, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1806, 0x1807, 0x1808, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1C3B, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FFD, 0x1FFE, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2011, 0x2012, 0x2014, 0x2015, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2024, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x2038, 0x2039, 0x203B, 0x203C, 0x203E, 0x2044, 0x2045, 0x2046, 0x2047, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2061, 0x2066, 0x2070, 0x207D, 0x207E, 0x207F, 0x208D, 0x208E, 0x208F, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x20F1, 0x2103, 0x2104, 0x2109, 0x210A, 0x2116, 0x2117, 0x2212, 0x2214, 0x22EF, 0x22F0, 0x2308, 0x2309, 0x230A, 0x230B, 0x230C, 0x231A, 0x231C, 0x2329, 0x232A, 0x232B, 0x23F0, 0x23F4, 0x2600, 0x2604, 0x2614, 0x2616, 0x2618, 0x2619, 0x261A, 0x261D, 0x261E, 0x2620, 0x2639, 0x263C, 0x2668, 0x2669, 0x267F, 0x2680, 0x26BD, 0x26C9, 0x26CD, 0x26CE, 0x26CF, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E2, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26F9, 0x26FA, 0x26FB, 0x26FD, 0x2705, 0x2708, 0x270A, 0x270E, 0x275B, 0x2761, 0x2762, 0x2764, 0x2765, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C5, 0x27C6, 0x27C7, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FC, 0x29FD, 0x29FE, 0x2CEF, 0x2CF2, 0x2CF9, 0x2CFA, 0x2CFD, 0x2CFE, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3005, 0x3006, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301D, 0x301E, 0x3020, 0x302A, 0x3030, 0x3035, 0x3036, 0x303B, 0x303D, 0x3040, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x3099, 0x309B, 0x309F, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x4DC0, 0x4E00, 0xA015, 0xA016, 0xA48D, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA620, 0xA62A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F8, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA838, 0xA839, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFB00, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFD3E, 0xFD3F, 0xFD40, 0xFDFC, 0xFDFD, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE15, 0xFE17, 0xFE18, 0xFE19, 0xFE1A, 0xFE20, 0xFE30, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE47, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFE67, 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF04, 0xFF05, 0xFF06, 0xFF08, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0xFF66, 0xFF67, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0xFFF9, 0xFFFC, 0xFFFD, 0x10100, 0x10103, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x104A0, 0x104AA, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A50, 0x10A58, 0x10AE5, 0x10AE7, 0x10AF0, 0x10AF6, 0x10AF7, 0x10B39, 0x10B40, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10EAB, 0x10EAD, 0x10EAE, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110C2, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11173, 0x11174, 0x11175, 0x11176, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x112A9, 0x112AA, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145A, 0x1145C, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x114D0, 0x114DA, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x11643, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x116AB, 0x116B8, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x1182C, 0x1183B, 0x118E0, 0x118EA, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A40, 0x11A41, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA1, 0x11AA3, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C46, 0x11C50, 0x11C5A, 0x11C70, 0x11C71, 0x11C72, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EF3, 0x11EF7, 0x11FDD, 0x11FE1, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13258, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13286, 0x13287, 0x13288, 0x13289, 0x1328A, 0x13379, 0x1337A, 0x1337C, 0x13430, 0x13437, 0x13438, 0x13439, 0x145CE, 0x145CF, 0x145D0, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B30, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16E97, 0x16E99, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE0, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E140, 0x1E14A, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F385, 0x1F386, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F3C2, 0x1F3C5, 0x1F3C7, 0x1F3C8, 0x1F3CA, 0x1F3CD, 0x1F3FB, 0x1F400, 0x1F442, 0x1F444, 0x1F446, 0x1F451, 0x1F466, 0x1F479, 0x1F47C, 0x1F47D, 0x1F481, 0x1F484, 0x1F485, 0x1F488, 0x1F48F, 0x1F490, 0x1F491, 0x1F492, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AA, 0x1F4AB, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F574, 0x1F576, 0x1F57A, 0x1F57B, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F645, 0x1F648, 0x1F64B, 0x1F650, 0x1F676, 0x1F679, 0x1F67C, 0x1F680, 0x1F6A3, 0x1F6A4, 0x1F6B4, 0x1F6B7, 0x1F6C0, 0x1F6C1, 0x1F6CC, 0x1F6CD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, 0x1F920, 0x1F926, 0x1F927, 0x1F930, 0x1F93A, 0x1F93C, 0x1F93F, 0x1F977, 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, 0x1F9BA, 0x1F9BB, 0x1F9BC, 0x1F9CD, 0x1F9D0, 0x1F9D1, 0x1F9DE, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 65 /* ASCII/Latin1 */ typedef enum { LB_Alphabetic = 0, LB_Break_Both = 1, LB_Break_After = 2, LB_Break_Before = 3, LB_Mandatory_Break = 4, LB_Contingent_Break = 5, LB_Close_Punctuation = 6, LB_Combining_Mark = 7, LB_Close_Parenthesis = 8, LB_Carriage_Return = 9, LB_East_Asian_OP = 10, LB_E_Base = 11, LB_EDGE = 12, LB_E_Modifier = 13, LB_Exclamation = 14, LB_Glue = 15, LB_H2 = 16, LB_H3 = 17, LB_Hebrew_Letter = 18, LB_Hyphen = 19, LB_Ideographic = 20, LB_Inseparable = 21, LB_Infix_Numeric = 22, LB_JL = 23, LB_JT = 24, LB_JV = 25, LB_Line_Feed = 26, LB_Next_Line = 27, LB_Nonstarter = 28, LB_Numeric = 29, LB_Open_Punctuation = 30, LB_Postfix_Numeric = 31, LB_Prefix_Numeric = 32, LB_Quotation = 33, LB_Regional_Indicator = 34, LB_Space = 35, LB_Break_Symbols = 36, LB_Word_Joiner = 37, LB_ZWSpace = 38, LB_ZWJ = 39, LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */ LB_Combining_Mark, LB_Break_After, LB_Line_Feed, LB_Mandatory_Break, LB_Carriage_Return, LB_Combining_Mark, LB_Space, LB_Exclamation, LB_Quotation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Close_Parenthesis, LB_Alphabetic, LB_Prefix_Numeric, LB_Infix_Numeric, LB_Hyphen, LB_Infix_Numeric, LB_Break_Symbols, LB_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Open_Punctuation, LB_Prefix_Numeric, LB_Close_Parenthesis, LB_Alphabetic, LB_Open_Punctuation, LB_Break_After, LB_Close_Punctuation, LB_Alphabetic, LB_Combining_Mark, LB_Next_Line, LB_Combining_Mark, LB_Glue, LB_Open_Punctuation, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Break_After, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Postfix_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Postfix_Numeric, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Glue, LB_Break_Before, LB_Break_After, LB_Glue, LB_Exclamation, LB_Glue, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_JV, LB_JT, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Glue, LB_Break_After, LB_ZWSpace, LB_Combining_Mark, LB_ZWJ, LB_Combining_Mark, LB_Break_After, LB_Glue, LB_Break_After, LB_Break_Both, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Alphabetic, LB_Inseparable, LB_Break_After, LB_Mandatory_Break, LB_Combining_Mark, LB_Glue, LB_Postfix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Infix_Numeric, LB_Open_Punctuation, LB_Close_Punctuation, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Word_Joiner, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Inseparable, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Quotation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_Both, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Alphabetic, LB_Combining_Mark, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_Alphabetic, LB_JV, LB_Alphabetic, LB_JT, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Hebrew_Letter, LB_Combining_Mark, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Close_Punctuation, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Infix_Numeric, LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Alphabetic, LB_Nonstarter, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_Alphabetic, LB_Word_Joiner, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Ideographic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Contingent_Break, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Inseparable, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Glue, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Regional_Indicator, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Modifier, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */ 2428, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x42, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x6B, 0x6C, 0x6D, 0x6F, 0x70, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x90, 0x91, 0x9F, 0xA0, 0xAA, 0xAC, 0xAD, 0xAE, 0xB1, 0xB3, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xE0, 0xE1, 0xF0, 0xFA, 0xFF, 0x100, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x37E, 0x37F, 0x483, 0x48A, 0x589, 0x58A, 0x58B, 0x58F, 0x590, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x609, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7F9, 0x7FA, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB66, 0xB70, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xBF9, 0xBFA, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC66, 0xC70, 0xC77, 0xC78, 0xC81, 0xC84, 0xC85, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD66, 0xD70, 0xD79, 0xD7A, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFC0, 0xFC6, 0xFC7, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0xFD9, 0xFDB, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169C, 0x169D, 0x16EB, 0x16EE, 0x1712, 0x1715, 0x1732, 0x1735, 0x1737, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17D6, 0x17D7, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1806, 0x1807, 0x1808, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1C3B, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FFD, 0x1FFE, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2011, 0x2012, 0x2014, 0x2015, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2024, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x2038, 0x2039, 0x203B, 0x203C, 0x203E, 0x2044, 0x2045, 0x2046, 0x2047, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2061, 0x2066, 0x2070, 0x207D, 0x207E, 0x207F, 0x208D, 0x208E, 0x208F, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x20F1, 0x2103, 0x2104, 0x2109, 0x210A, 0x2116, 0x2117, 0x2212, 0x2214, 0x22EF, 0x22F0, 0x2308, 0x2309, 0x230A, 0x230B, 0x230C, 0x231A, 0x231C, 0x2329, 0x232A, 0x232B, 0x23F0, 0x23F4, 0x2600, 0x2604, 0x2614, 0x2616, 0x2618, 0x2619, 0x261A, 0x261D, 0x261E, 0x2620, 0x2639, 0x263C, 0x2668, 0x2669, 0x267F, 0x2680, 0x26BD, 0x26C9, 0x26CD, 0x26CE, 0x26CF, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E2, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26F9, 0x26FA, 0x26FB, 0x26FD, 0x2705, 0x2708, 0x270A, 0x270E, 0x275B, 0x2761, 0x2762, 0x2764, 0x2765, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C5, 0x27C6, 0x27C7, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FC, 0x29FD, 0x29FE, 0x2CEF, 0x2CF2, 0x2CF9, 0x2CFA, 0x2CFD, 0x2CFE, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3005, 0x3006, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301D, 0x301E, 0x3020, 0x302A, 0x3030, 0x3035, 0x3036, 0x303B, 0x303D, 0x3040, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x3099, 0x309B, 0x309F, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x4DC0, 0x4E00, 0xA015, 0xA016, 0xA48D, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA620, 0xA62A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F8, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA838, 0xA839, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFB00, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFD3E, 0xFD3F, 0xFD40, 0xFDFC, 0xFDFD, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE15, 0xFE17, 0xFE18, 0xFE19, 0xFE1A, 0xFE20, 0xFE30, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE47, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFE67, 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF04, 0xFF05, 0xFF06, 0xFF08, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0xFF66, 0xFF67, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0xFFF9, 0xFFFC, 0xFFFD, 0x10100, 0x10103, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x104A0, 0x104AA, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A50, 0x10A58, 0x10AE5, 0x10AE7, 0x10AF0, 0x10AF6, 0x10AF7, 0x10B39, 0x10B40, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10EAB, 0x10EAD, 0x10EAE, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110C2, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11173, 0x11174, 0x11175, 0x11176, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x112A9, 0x112AA, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145A, 0x1145C, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x114D0, 0x114DA, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x11643, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x116AB, 0x116B8, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x1182C, 0x1183B, 0x118E0, 0x118EA, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A40, 0x11A41, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA1, 0x11AA3, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C46, 0x11C50, 0x11C5A, 0x11C70, 0x11C71, 0x11C72, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EF3, 0x11EF7, 0x11FDD, 0x11FE1, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13258, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13286, 0x13287, 0x13288, 0x13289, 0x1328A, 0x13379, 0x1337A, 0x1337C, 0x13430, 0x13437, 0x13438, 0x13439, 0x145CE, 0x145CF, 0x145D0, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B30, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16E97, 0x16E99, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE0, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E140, 0x1E14A, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F385, 0x1F386, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F3C2, 0x1F3C5, 0x1F3C7, 0x1F3C8, 0x1F3CA, 0x1F3CD, 0x1F3FB, 0x1F400, 0x1F442, 0x1F444, 0x1F446, 0x1F451, 0x1F466, 0x1F479, 0x1F47C, 0x1F47D, 0x1F481, 0x1F484, 0x1F485, 0x1F488, 0x1F48F, 0x1F490, 0x1F491, 0x1F492, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AA, 0x1F4AB, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F574, 0x1F576, 0x1F57A, 0x1F57B, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F645, 0x1F648, 0x1F64B, 0x1F650, 0x1F676, 0x1F679, 0x1F67C, 0x1F680, 0x1F6A3, 0x1F6A4, 0x1F6B4, 0x1F6B7, 0x1F6C0, 0x1F6C1, 0x1F6CC, 0x1F6CD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, 0x1F920, 0x1F926, 0x1F927, 0x1F930, 0x1F93A, 0x1F93C, 0x1F93F, 0x1F977, 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, 0x1F9BA, 0x1F9BB, 0x1F9BC, 0x1F9CD, 0x1F9D0, 0x1F9D1, 0x1F9DE, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 typedef enum { LB_Alphabetic = 0, LB_Break_Both = 1, LB_Break_After = 2, LB_Break_Before = 3, LB_Mandatory_Break = 4, LB_Contingent_Break = 5, LB_Close_Punctuation = 6, LB_Combining_Mark = 7, LB_Close_Parenthesis = 8, LB_Carriage_Return = 9, LB_East_Asian_OP = 10, LB_E_Base = 11, LB_EDGE = 12, LB_E_Modifier = 13, LB_Exclamation = 14, LB_Glue = 15, LB_H2 = 16, LB_H3 = 17, LB_Hebrew_Letter = 18, LB_Hyphen = 19, LB_Ideographic = 20, LB_Inseparable = 21, LB_Infix_Numeric = 22, LB_JL = 23, LB_JT = 24, LB_JV = 25, LB_Line_Feed = 26, LB_Next_Line = 27, LB_Nonstarter = 28, LB_Numeric = 29, LB_Open_Punctuation = 30, LB_Postfix_Numeric = 31, LB_Prefix_Numeric = 32, LB_Quotation = 33, LB_Regional_Indicator = 34, LB_Space = 35, LB_Break_Symbols = 36, LB_Word_Joiner = 37, LB_ZWSpace = 38, LB_ZWJ = 39, LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */ LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Mandatory_Break, LB_Carriage_Return, LB_Combining_Mark, LB_Line_Feed, LB_Combining_Mark, LB_Next_Line, LB_Combining_Mark, LB_Space, LB_Glue, LB_Alphabetic, LB_Postfix_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Prefix_Numeric, LB_Break_After, LB_Alphabetic, LB_Exclamation, LB_Prefix_Numeric, LB_Alphabetic, LB_Close_Parenthesis, LB_Infix_Numeric, LB_Alphabetic, LB_Hyphen, LB_Break_Symbols, LB_Alphabetic, LB_Infix_Numeric, LB_Postfix_Numeric, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Infix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Close_Parenthesis, LB_Break_Before, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Close_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Break_After, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Postfix_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Postfix_Numeric, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Glue, LB_Break_Before, LB_Break_After, LB_Glue, LB_Exclamation, LB_Glue, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_JV, LB_JT, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Glue, LB_Break_After, LB_ZWSpace, LB_Combining_Mark, LB_ZWJ, LB_Combining_Mark, LB_Break_After, LB_Glue, LB_Break_After, LB_Break_Both, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Alphabetic, LB_Inseparable, LB_Break_After, LB_Mandatory_Break, LB_Combining_Mark, LB_Glue, LB_Postfix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Infix_Numeric, LB_Open_Punctuation, LB_Close_Punctuation, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Word_Joiner, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Inseparable, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Quotation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_Both, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Alphabetic, LB_Combining_Mark, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_Alphabetic, LB_JV, LB_Alphabetic, LB_JT, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Hebrew_Letter, LB_Combining_Mark, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Close_Punctuation, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Infix_Numeric, LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Alphabetic, LB_Nonstarter, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_Alphabetic, LB_Word_Joiner, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Ideographic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Contingent_Break, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Inseparable, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Glue, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Regional_Indicator, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Modifier, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */ 2428, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x42, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x6B, 0x6C, 0x6D, 0x6F, 0x70, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x90, 0x91, 0x9F, 0xA0, 0xAA, 0xAC, 0xB1, 0xB3, 0xBA, 0xBB, 0xBC, 0xBE, 0xBF, 0xC0, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xE0, 0xE1, 0xF0, 0xFA, 0xFF, 0x100, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x37E, 0x37F, 0x483, 0x48A, 0x589, 0x58A, 0x58B, 0x58F, 0x590, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x609, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7F9, 0x7FA, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB66, 0xB70, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xBF9, 0xBFA, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC66, 0xC70, 0xC77, 0xC78, 0xC81, 0xC84, 0xC85, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD66, 0xD70, 0xD79, 0xD7A, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFC0, 0xFC6, 0xFC7, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0xFD9, 0xFDB, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x1100, 0x1160, 0x11A8, 0x1200, 0x135D, 0x1360, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169C, 0x169D, 0x16EB, 0x16EE, 0x1712, 0x1715, 0x1732, 0x1735, 0x1737, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17D6, 0x17D7, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1806, 0x1807, 0x1808, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1C3B, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FFD, 0x1FFE, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2011, 0x2012, 0x2014, 0x2015, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2024, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x2038, 0x2039, 0x203B, 0x203C, 0x203E, 0x2044, 0x2045, 0x2046, 0x2047, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2061, 0x2066, 0x2070, 0x207D, 0x207E, 0x207F, 0x208D, 0x208E, 0x208F, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x20F1, 0x2103, 0x2104, 0x2109, 0x210A, 0x2116, 0x2117, 0x2212, 0x2214, 0x22EF, 0x22F0, 0x2308, 0x2309, 0x230A, 0x230B, 0x230C, 0x231A, 0x231C, 0x2329, 0x232A, 0x232B, 0x23F0, 0x23F4, 0x2600, 0x2604, 0x2614, 0x2616, 0x2618, 0x2619, 0x261A, 0x261D, 0x261E, 0x2620, 0x2639, 0x263C, 0x2668, 0x2669, 0x267F, 0x2680, 0x26BD, 0x26C9, 0x26CD, 0x26CE, 0x26CF, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E2, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26F9, 0x26FA, 0x26FB, 0x26FD, 0x2705, 0x2708, 0x270A, 0x270E, 0x275B, 0x2761, 0x2762, 0x2764, 0x2765, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C5, 0x27C6, 0x27C7, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FC, 0x29FD, 0x29FE, 0x2CEF, 0x2CF2, 0x2CF9, 0x2CFA, 0x2CFD, 0x2CFE, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3005, 0x3006, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301D, 0x301E, 0x3020, 0x302A, 0x3030, 0x3035, 0x3036, 0x303B, 0x303D, 0x3040, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x3099, 0x309B, 0x309F, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x4DC0, 0x4E00, 0xA015, 0xA016, 0xA48D, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA620, 0xA62A, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F8, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA838, 0xA839, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFB00, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFD3E, 0xFD3F, 0xFD40, 0xFDFC, 0xFDFD, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE15, 0xFE17, 0xFE18, 0xFE19, 0xFE1A, 0xFE20, 0xFE30, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE47, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE58, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFE67, 0xFE68, 0xFE69, 0xFE6A, 0xFE6B, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF04, 0xFF05, 0xFF06, 0xFF08, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0xFF66, 0xFF67, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0xFFF9, 0xFFFC, 0xFFFD, 0x10100, 0x10103, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x104A0, 0x104AA, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A50, 0x10A58, 0x10AE5, 0x10AE7, 0x10AF0, 0x10AF6, 0x10AF7, 0x10B39, 0x10B40, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10EAB, 0x10EAD, 0x10EAE, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110C2, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11173, 0x11174, 0x11175, 0x11176, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x112A9, 0x112AA, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145A, 0x1145C, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x114D0, 0x114DA, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x11643, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x116AB, 0x116B8, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x1182C, 0x1183B, 0x118E0, 0x118EA, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A40, 0x11A41, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA1, 0x11AA3, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C46, 0x11C50, 0x11C5A, 0x11C70, 0x11C71, 0x11C72, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EF3, 0x11EF7, 0x11FDD, 0x11FE1, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13258, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13286, 0x13287, 0x13288, 0x13289, 0x1328A, 0x13379, 0x1337A, 0x1337C, 0x13430, 0x13437, 0x13438, 0x13439, 0x145CE, 0x145CF, 0x145D0, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B30, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16E97, 0x16E99, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE0, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E140, 0x1E14A, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F385, 0x1F386, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F3C2, 0x1F3C5, 0x1F3C7, 0x1F3C8, 0x1F3CA, 0x1F3CD, 0x1F3FB, 0x1F400, 0x1F442, 0x1F444, 0x1F446, 0x1F451, 0x1F466, 0x1F479, 0x1F47C, 0x1F47D, 0x1F481, 0x1F484, 0x1F485, 0x1F488, 0x1F48F, 0x1F490, 0x1F491, 0x1F492, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AA, 0x1F4AB, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F574, 0x1F576, 0x1F57A, 0x1F57B, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F645, 0x1F648, 0x1F64B, 0x1F650, 0x1F676, 0x1F679, 0x1F67C, 0x1F680, 0x1F6A3, 0x1F6A4, 0x1F6B4, 0x1F6B7, 0x1F6C0, 0x1F6C1, 0x1F6CC, 0x1F6CD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, 0x1F920, 0x1F926, 0x1F927, 0x1F930, 0x1F93A, 0x1F93C, 0x1F93F, 0x1F977, 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, 0x1F9BA, 0x1F9BB, 0x1F9BC, 0x1F9CD, 0x1F9D0, 0x1F9D1, 0x1F9DE, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 typedef enum { LB_Alphabetic = 0, LB_Break_Both = 1, LB_Break_After = 2, LB_Break_Before = 3, LB_Mandatory_Break = 4, LB_Contingent_Break = 5, LB_Close_Punctuation = 6, LB_Combining_Mark = 7, LB_Close_Parenthesis = 8, LB_Carriage_Return = 9, LB_East_Asian_OP = 10, LB_E_Base = 11, LB_EDGE = 12, LB_E_Modifier = 13, LB_Exclamation = 14, LB_Glue = 15, LB_H2 = 16, LB_H3 = 17, LB_Hebrew_Letter = 18, LB_Hyphen = 19, LB_Ideographic = 20, LB_Inseparable = 21, LB_Infix_Numeric = 22, LB_JL = 23, LB_JT = 24, LB_JV = 25, LB_Line_Feed = 26, LB_Next_Line = 27, LB_Nonstarter = 28, LB_Numeric = 29, LB_Open_Punctuation = 30, LB_Postfix_Numeric = 31, LB_Prefix_Numeric = 32, LB_Quotation = 33, LB_Regional_Indicator = 34, LB_Space = 35, LB_Break_Symbols = 36, LB_Word_Joiner = 37, LB_ZWSpace = 38, LB_ZWJ = 39, LB_East_Asian_CP = 40 } LB_enum; static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */ LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Mandatory_Break, LB_Carriage_Return, LB_Combining_Mark, LB_Next_Line, LB_Combining_Mark, LB_Line_Feed, LB_Combining_Mark, LB_Space, LB_Glue, LB_Alphabetic, LB_Postfix_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Prefix_Numeric, LB_Break_After, LB_Alphabetic, LB_Exclamation, LB_Prefix_Numeric, LB_Alphabetic, LB_Close_Parenthesis, LB_Infix_Numeric, LB_Alphabetic, LB_Hyphen, LB_Break_Symbols, LB_Alphabetic, LB_Infix_Numeric, LB_Postfix_Numeric, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Infix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Parenthesis, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Close_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Glue, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Break_After, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Postfix_Numeric, LB_Infix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Exclamation, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Postfix_Numeric, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Infix_Numeric, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_Before, LB_Glue, LB_Break_Before, LB_Break_After, LB_Glue, LB_Exclamation, LB_Glue, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_JV, LB_JT, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Glue, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Glue, LB_Break_After, LB_ZWSpace, LB_Combining_Mark, LB_ZWJ, LB_Combining_Mark, LB_Break_After, LB_Glue, LB_Break_After, LB_Break_Both, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Open_Punctuation, LB_Quotation, LB_Alphabetic, LB_Inseparable, LB_Break_After, LB_Mandatory_Break, LB_Combining_Mark, LB_Glue, LB_Postfix_Numeric, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Infix_Numeric, LB_Open_Punctuation, LB_Close_Punctuation, LB_Nonstarter, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Word_Joiner, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Inseparable, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Quotation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Quotation, LB_Alphabetic, LB_Quotation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_Both, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Open_Punctuation, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Combining_Mark, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Alphabetic, LB_Combining_Mark, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Exclamation, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_JL, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_H2, LB_H3, LB_Alphabetic, LB_JV, LB_Alphabetic, LB_JT, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Hebrew_Letter, LB_Combining_Mark, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Hebrew_Letter, LB_Alphabetic, LB_Close_Punctuation, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Infix_Numeric, LB_Close_Punctuation, LB_Infix_Numeric, LB_Exclamation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Inseparable, LB_Alphabetic, LB_Combining_Mark, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Alphabetic, LB_Nonstarter, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_Alphabetic, LB_Word_Joiner, LB_Alphabetic, LB_Exclamation, LB_Ideographic, LB_Prefix_Numeric, LB_Postfix_Numeric, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Exclamation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Ideographic, LB_Close_Punctuation, LB_Ideographic, LB_East_Asian_OP, LB_Close_Punctuation, LB_East_Asian_OP, LB_Close_Punctuation, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Nonstarter, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Postfix_Numeric, LB_Prefix_Numeric, LB_Ideographic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Contingent_Break, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Inseparable, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Break_After, LB_Exclamation, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_Before, LB_Alphabetic, LB_Break_After, LB_Break_Before, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_Before, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_Before, LB_Exclamation, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Glue, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Open_Punctuation, LB_Close_Punctuation, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Nonstarter, LB_Glue, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Break_After, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Break_After, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Numeric, LB_Alphabetic, LB_Prefix_Numeric, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Open_Punctuation, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Postfix_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Regional_Indicator, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Modifier, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Alphabetic, LB_Quotation, LB_Nonstarter, LB_Alphabetic, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_E_Base, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Numeric, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Ideographic, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic, LB_Combining_Mark, LB_Alphabetic }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */ 3146, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0xB, 0xD, 0xE, 0x20, 0x21, 0x22, 0x23, 0x27, 0x2A, 0x2C, 0x2E, 0x2F, 0x30, 0x3A, 0x3B, 0x3F, 0x40, 0x41, 0x5B, 0x5C, 0x5D, 0x5E, 0x61, 0x7B, 0x7C, 0x7D, 0x7E, 0x85, 0x86, 0xA0, 0xA1, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xB5, 0xB6, 0xBA, 0xBB, 0xBC, 0xC0, 0xD7, 0xD8, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BC, 0x1BD, 0x1C0, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x483, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x589, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x703, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1803, 0x1804, 0x1808, 0x1809, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A20, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FDC, 0x1FE0, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200E, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x202A, 0x202F, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x2047, 0x204A, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x207F, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2140, 0x2145, 0x2146, 0x214A, 0x214E, 0x214F, 0x2160, 0x2170, 0x2180, 0x2183, 0x2184, 0x2185, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24D0, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF2, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3001, 0x3002, 0x3003, 0x3005, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x302A, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA500, 0xA60D, 0xA60E, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA789, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F5, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA92F, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x10428, 0x10450, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11141, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118C0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9B, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B39, 0x16B40, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E60, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E922, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 65 /* ASCII/Latin1 */ typedef enum { SB_Other = 0, SB_ATerm = 1, SB_Close = 2, SB_CR = 3, SB_EDGE = 4, SB_Extend = 5, SB_Format = 6, SB_LF = 7, SB_Lower = 8, SB_Numeric = 9, SB_OLetter = 10, SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, SB_STerm = 14, SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */ SB_Other, SB_Sp, SB_LF, SB_Sp, SB_CR, SB_Other, SB_Sp, SB_STerm, SB_Close, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_Numeric, SB_SContinue, SB_Other, SB_STerm, SB_Other, SB_Upper, SB_Close, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Close, SB_Other, SB_Sep, SB_Other, SB_Sp, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Format, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_SContinue, SB_Other, SB_Lower, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Extend, SB_Other, SB_Format, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_OLetter, SB_Extend, SB_Format, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Format, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_SContinue, SB_STerm, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Close, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Numeric, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Sp, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_Extend, SB_Format, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Numeric, SB_OLetter, SB_STerm, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Lower, SB_Extend, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Sp, SB_Format, SB_Extend, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_ATerm, SB_Other, SB_Sep, SB_Format, SB_Sp, SB_Other, SB_Close, SB_Other, SB_STerm, SB_Other, SB_Close, SB_STerm, SB_Other, SB_Sp, SB_Format, SB_Other, SB_Format, SB_Other, SB_Lower, SB_Other, SB_Close, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_Sp, SB_SContinue, SB_STerm, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_OLetter, SB_Other, SB_Lower, SB_OLetter, SB_Extend, SB_STerm, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_SContinue, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Extend, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_SContinue, SB_STerm, SB_SContinue, SB_Close, SB_Other, SB_SContinue, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_Numeric, SB_SContinue, SB_Other, SB_STerm, SB_Other, SB_Upper, SB_Close, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_STerm, SB_Close, SB_SContinue, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Format, SB_STerm, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_STerm, SB_Extend, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Close, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */ 3170, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x51, 0x5A, 0x5B, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6B, 0x6C, 0x6F, 0x70, 0x71, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xBD, 0xBE, 0xC0, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFA, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BC, 0x1BD, 0x1C0, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x483, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x589, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x703, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1803, 0x1804, 0x1808, 0x1809, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A20, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FDC, 0x1FE0, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200E, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x202A, 0x202F, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x2047, 0x204A, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x207F, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2140, 0x2145, 0x2146, 0x214A, 0x214E, 0x214F, 0x2160, 0x2170, 0x2180, 0x2183, 0x2184, 0x2185, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24D0, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF2, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3001, 0x3002, 0x3003, 0x3005, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x302A, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA500, 0xA60D, 0xA60E, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA789, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F5, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA92F, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x10428, 0x10450, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11141, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118C0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9B, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B39, 0x16B40, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E60, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E922, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 typedef enum { SB_Other = 0, SB_ATerm = 1, SB_Close = 2, SB_CR = 3, SB_EDGE = 4, SB_Extend = 5, SB_Format = 6, SB_LF = 7, SB_Lower = 8, SB_Numeric = 9, SB_OLetter = 10, SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, SB_STerm = 14, SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */ SB_Other, SB_Sp, SB_Other, SB_Sp, SB_CR, SB_Other, SB_LF, SB_Other, SB_Sep, SB_Other, SB_Sp, SB_Lower, SB_Other, SB_ATerm, SB_Other, SB_Close, SB_Other, SB_Lower, SB_STerm, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_Other, SB_Upper, SB_Other, SB_SContinue, SB_Other, SB_STerm, SB_Lower, SB_Upper, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Close, SB_Upper, SB_Lower, SB_Close, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Close, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Close, SB_Other, SB_Close, SB_Upper, SB_Format, SB_Lower, SB_Close, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Numeric, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_SContinue, SB_Other, SB_Lower, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Extend, SB_Other, SB_Format, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_OLetter, SB_Extend, SB_Format, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Format, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_SContinue, SB_STerm, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Close, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Numeric, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Sp, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_Extend, SB_Format, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Numeric, SB_OLetter, SB_STerm, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Lower, SB_Extend, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Sp, SB_Format, SB_Extend, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_ATerm, SB_Other, SB_Sep, SB_Format, SB_Sp, SB_Other, SB_Close, SB_Other, SB_STerm, SB_Other, SB_Close, SB_STerm, SB_Other, SB_Sp, SB_Format, SB_Other, SB_Format, SB_Other, SB_Lower, SB_Other, SB_Close, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_Sp, SB_SContinue, SB_STerm, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_OLetter, SB_Other, SB_Lower, SB_OLetter, SB_Extend, SB_STerm, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_SContinue, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Extend, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_SContinue, SB_STerm, SB_SContinue, SB_Close, SB_Other, SB_SContinue, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_Numeric, SB_SContinue, SB_Other, SB_STerm, SB_Other, SB_Upper, SB_Close, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_STerm, SB_Close, SB_SContinue, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Format, SB_STerm, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_STerm, SB_Extend, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Close, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */ 3166, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x51, 0x5A, 0x5B, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6B, 0x6C, 0x6F, 0x70, 0x71, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xBA, 0xBC, 0xC0, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFA, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BC, 0x1BD, 0x1C0, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x483, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x589, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x703, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE40, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x102B, 0x103F, 0x1040, 0x104A, 0x104C, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1803, 0x1804, 0x1808, 0x1809, 0x180A, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x1946, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A20, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FDC, 0x1FE0, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200E, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x202A, 0x202F, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x2047, 0x204A, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x207F, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2140, 0x2145, 0x2146, 0x214A, 0x214E, 0x214F, 0x2160, 0x2170, 0x2180, 0x2183, 0x2184, 0x2185, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24D0, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF2, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E2F, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3001, 0x3002, 0x3003, 0x3005, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x302A, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA500, 0xA60D, 0xA60E, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA789, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F5, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8CE, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA92F, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x10428, 0x10450, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11049, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11141, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112AA, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118C0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9B, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B39, 0x16B40, 0x16B44, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E60, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E922, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 typedef enum { SB_Other = 0, SB_ATerm = 1, SB_Close = 2, SB_CR = 3, SB_EDGE = 4, SB_Extend = 5, SB_Format = 6, SB_LF = 7, SB_Lower = 8, SB_Numeric = 9, SB_OLetter = 10, SB_SContinue = 11, SB_Sep = 12, SB_Sp = 13, SB_STerm = 14, SB_Upper = 15 } SB_enum; static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */ SB_Other, SB_Sp, SB_Other, SB_Sp, SB_CR, SB_Other, SB_Sep, SB_Other, SB_LF, SB_Other, SB_Sp, SB_Lower, SB_Other, SB_ATerm, SB_Other, SB_Close, SB_Other, SB_Lower, SB_STerm, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_Other, SB_Upper, SB_Other, SB_SContinue, SB_Other, SB_STerm, SB_Lower, SB_Upper, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Close, SB_Upper, SB_Lower, SB_Close, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Close, SB_Other, SB_Close, SB_Upper, SB_Format, SB_Lower, SB_Close, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Numeric, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_SContinue, SB_Other, SB_Lower, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Extend, SB_Other, SB_Format, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_OLetter, SB_Extend, SB_Format, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Format, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_SContinue, SB_STerm, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Close, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Numeric, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Sp, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_SContinue, SB_STerm, SB_Other, SB_Extend, SB_Format, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Numeric, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Numeric, SB_OLetter, SB_STerm, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Lower, SB_Extend, SB_Other, SB_Extend, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Sp, SB_Format, SB_Extend, SB_Format, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_ATerm, SB_Other, SB_Sep, SB_Format, SB_Sp, SB_Other, SB_Close, SB_Other, SB_STerm, SB_Other, SB_Close, SB_STerm, SB_Other, SB_Sp, SB_Format, SB_Other, SB_Format, SB_Other, SB_Lower, SB_Other, SB_Close, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_Sp, SB_SContinue, SB_STerm, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_STerm, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_OLetter, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Lower, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_OLetter, SB_Other, SB_Lower, SB_OLetter, SB_Extend, SB_STerm, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Close, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_SContinue, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Extend, SB_Other, SB_SContinue, SB_Other, SB_Close, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_SContinue, SB_STerm, SB_SContinue, SB_Close, SB_Other, SB_SContinue, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_STerm, SB_Other, SB_Close, SB_Other, SB_SContinue, SB_ATerm, SB_Other, SB_Numeric, SB_SContinue, SB_Other, SB_STerm, SB_Other, SB_Upper, SB_Close, SB_Other, SB_Close, SB_Other, SB_Lower, SB_Close, SB_Other, SB_Close, SB_Other, SB_Close, SB_STerm, SB_Close, SB_SContinue, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Format, SB_STerm, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Extend, SB_STerm, SB_Extend, SB_Numeric, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_STerm, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_STerm, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_Extend, SB_STerm, SB_Other, SB_OLetter, SB_STerm, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_STerm, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_STerm, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Format, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Other, SB_Lower, SB_Other, SB_Lower, SB_Upper, SB_Lower, SB_Other, SB_Numeric, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_STerm, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Extend, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_Extend, SB_Other, SB_Upper, SB_Lower, SB_Extend, SB_OLetter, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Upper, SB_Other, SB_Close, SB_Other, SB_Numeric, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_OLetter, SB_Other, SB_Format, SB_Other, SB_Extend, SB_Other, SB_Extend, SB_Other }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */ 1673, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x342, 0x343, 0x345, 0x346, 0x363, 0x370, 0x374, 0x375, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x385, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3E2, 0x3F0, 0x400, 0x483, 0x484, 0x485, 0x487, 0x488, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61D, 0x61E, 0x61F, 0x620, 0x640, 0x641, 0x64B, 0x656, 0x660, 0x66A, 0x670, 0x671, 0x6D4, 0x6D5, 0x6DD, 0x6DE, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x780, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x900, 0x951, 0x952, 0x953, 0x955, 0x964, 0x965, 0x966, 0x970, 0x980, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F0, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF4, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC80, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE40, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD5, 0xFD9, 0xFDB, 0x1000, 0x1040, 0x104A, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1804, 0x1805, 0x1806, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x19E0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C50, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD3, 0x1CD4, 0x1CD5, 0x1CD7, 0x1CD8, 0x1CD9, 0x1CDA, 0x1CDB, 0x1CDC, 0x1CDE, 0x1CE0, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CEA, 0x1CEB, 0x1CED, 0x1CEE, 0x1CF2, 0x1CF3, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1D26, 0x1D2B, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1DC2, 0x1DF8, 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2072, 0x2074, 0x207F, 0x2080, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F0, 0x20F1, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3004, 0x3005, 0x3008, 0x3012, 0x3013, 0x3014, 0x301C, 0x3020, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3037, 0x3038, 0x303C, 0x303E, 0x3040, 0x3041, 0x3097, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x30FD, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA500, 0xA62C, 0xA640, 0xA66F, 0xA670, 0xA6A0, 0xA6F8, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA82D, 0xA830, 0xA833, 0xA836, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F1, 0xA8F2, 0xA8F3, 0xA8F4, 0xA900, 0xA92E, 0xA92F, 0xA930, 0xA954, 0xA95F, 0xA960, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9DE, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xAB6C, 0xAB70, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDF2, 0xFDF3, 0xFDFD, 0xFDFE, 0xFE00, 0xFE10, 0xFE1A, 0xFE20, 0xFE2E, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103A0, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x10450, 0x10480, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10856, 0x10857, 0x10860, 0x10880, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x10900, 0x1091C, 0x1091F, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109A0, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B40, 0x10B56, 0x10B58, 0x10B60, 0x10B73, 0x10B78, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x11080, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11301, 0x11302, 0x11303, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, 0x11FD3, 0x11FD4, 0x11FF2, 0x11FFF, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE1, 0x16FE2, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B001, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { SCX_Unknown = 0, SCX_Adlam = 1, SCX_Ahom = 2, SCX_Anatolian_Hieroglyphs = 3, SCX_Arabic = 4, SCX_Armenian = 5, SCX_Avestan = 6, SCX_Balinese = 7, SCX_Bamum = 8, SCX_Bassa_Vah = 9, SCX_Batak = 10, SCX_Bengali = 11, SCX_Bhaiksuki = 12, SCX_Bopomofo = 13, SCX_Brahmi = 14, SCX_Braille = 15, SCX_Buginese = 16, SCX_Buhid = 17, SCX_Canadian_Aboriginal = 18, SCX_Carian = 19, SCX_Caucasian_Albanian = 20, SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, SCX_Chorasmian = 24, SCX_Common = 25, SCX_Coptic = 26, SCX_Cuneiform = 27, SCX_Cypriot = 28, SCX_Cyrillic = 29, SCX_Deseret = 30, SCX_Devanagari = 31, SCX_Dives_Akuru = 32, SCX_Dogra = 33, SCX_Duployan = 34, SCX_Egyptian_Hieroglyphs = 35, SCX_Elbasan = 36, SCX_Elymaic = 37, SCX_Ethiopic = 38, SCX_Georgian = 39, SCX_Glagolitic = 40, SCX_Gothic = 41, SCX_Grantha = 42, SCX_Greek = 43, SCX_Gujarati = 44, SCX_Gunjala_Gondi = 45, SCX_Gurmukhi = 46, SCX_Han = 47, SCX_Hanb = 48, SCX_Hangul = 49, SCX_Hanifi_Rohingya = 50, SCX_Hanunoo = 51, SCX_Hatran = 52, SCX_Hebrew = 53, SCX_Hiragana = 54, SCX_Imperial_Aramaic = 55, SCX_Inherited = 56, SCX_Inscriptional_Pahlavi = 57, SCX_Inscriptional_Parthian = 58, SCX_INVALID = 59, SCX_Javanese = 60, SCX_Jpan = 61, SCX_Kaithi = 62, SCX_Kannada = 63, SCX_Katakana = 64, SCX_Kayah_Li = 65, SCX_Kharoshthi = 66, SCX_Khitan_Small_Script = 67, SCX_Khmer = 68, SCX_Khojki = 69, SCX_Khudawadi = 70, SCX_Kore = 71, SCX_Lao = 72, SCX_Latin = 73, SCX_Lepcha = 74, SCX_Limbu = 75, SCX_Linear_A = 76, SCX_Linear_B = 77, SCX_Lisu = 78, SCX_Lycian = 79, SCX_Lydian = 80, SCX_Mahajani = 81, SCX_Makasar = 82, SCX_Malayalam = 83, SCX_Mandaic = 84, SCX_Manichaean = 85, SCX_Marchen = 86, SCX_Masaram_Gondi = 87, SCX_Medefaidrin = 88, SCX_Meetei_Mayek = 89, SCX_Mende_Kikakui = 90, SCX_Meroitic_Cursive = 91, SCX_Meroitic_Hieroglyphs = 92, SCX_Miao = 93, SCX_Modi = 94, SCX_Mongolian = 95, SCX_Mro = 96, SCX_Multani = 97, SCX_Myanmar = 98, SCX_Nabataean = 99, SCX_Nandinagari = 100, SCX_New_Tai_Lue = 101, SCX_Newa = 102, SCX_Nko = 103, SCX_Nushu = 104, SCX_Nyiakeng_Puachue_Hmong = 105, SCX_Ogham = 106, SCX_Ol_Chiki = 107, SCX_Old_Hungarian = 108, SCX_Old_Italic = 109, SCX_Old_North_Arabian = 110, SCX_Old_Permic = 111, SCX_Old_Persian = 112, SCX_Old_Sogdian = 113, SCX_Old_South_Arabian = 114, SCX_Old_Turkic = 115, SCX_Oriya = 116, SCX_Osage = 117, SCX_Osmanya = 118, SCX_Pahawh_Hmong = 119, SCX_Palmyrene = 120, SCX_Pau_Cin_Hau = 121, SCX_Phags_Pa = 122, SCX_Phoenician = 123, SCX_Psalter_Pahlavi = 124, SCX_Rejang = 125, SCX_Runic = 126, SCX_Samaritan = 127, SCX_Saurashtra = 128, SCX_Sharada = 129, SCX_Shavian = 130, SCX_Siddham = 131, SCX_SignWriting = 132, SCX_Sinhala = 133, SCX_Sogdian = 134, SCX_Sora_Sompeng = 135, SCX_Soyombo = 136, SCX_Sundanese = 137, SCX_Syloti_Nagri = 138, SCX_Syriac = 139, SCX_Tagalog = 140, SCX_Tagbanwa = 141, SCX_Tai_Le = 142, SCX_Tai_Tham = 143, SCX_Tai_Viet = 144, SCX_Takri = 145, SCX_Tamil = 146, SCX_Tangut = 147, SCX_Telugu = 148, SCX_Thaana = 149, SCX_Thai = 150, SCX_Tibetan = 151, SCX_Tifinagh = 152, SCX_Tirhuta = 153, SCX_Ugaritic = 154, SCX_Vai = 155, SCX_Wancho = 156, SCX_Warang_Citi = 157, SCX_Yezidi = 158, SCX_Yi = 159, SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, SCX_use_AUX_TABLE_4 = -4, SCX_use_AUX_TABLE_5 = -5, SCX_use_AUX_TABLE_6 = -6, SCX_use_AUX_TABLE_7 = -7, SCX_use_AUX_TABLE_8 = -8, SCX_use_AUX_TABLE_9 = -9, SCX_use_AUX_TABLE_10 = -10, SCX_use_AUX_TABLE_11 = -11, SCX_use_AUX_TABLE_12 = -12, SCX_use_AUX_TABLE_13 = -13, SCX_use_AUX_TABLE_14 = -14, SCX_use_AUX_TABLE_15 = -15, SCX_use_AUX_TABLE_16 = -16, SCX_use_AUX_TABLE_17 = -17, SCX_use_AUX_TABLE_18 = -18, SCX_use_AUX_TABLE_19 = -19, SCX_use_AUX_TABLE_20 = -20, SCX_use_AUX_TABLE_21 = -21, SCX_use_AUX_TABLE_22 = -22, SCX_use_AUX_TABLE_23 = -23, SCX_use_AUX_TABLE_24 = -24, SCX_use_AUX_TABLE_25 = -25, SCX_use_AUX_TABLE_26 = -26, SCX_use_AUX_TABLE_27 = -27, SCX_use_AUX_TABLE_28 = -28, SCX_use_AUX_TABLE_29 = -29, SCX_use_AUX_TABLE_30 = -30, SCX_use_AUX_TABLE_31 = -31, SCX_use_AUX_TABLE_32 = -32, SCX_use_AUX_TABLE_33 = -33, SCX_use_AUX_TABLE_34 = -34, SCX_use_AUX_TABLE_35 = -35, SCX_use_AUX_TABLE_36 = -36, SCX_use_AUX_TABLE_37 = -37, SCX_use_AUX_TABLE_38 = -38, SCX_use_AUX_TABLE_39 = -39, SCX_use_AUX_TABLE_40 = -40, SCX_use_AUX_TABLE_41 = -41, SCX_use_AUX_TABLE_42 = -42, SCX_use_AUX_TABLE_43 = -43, SCX_use_AUX_TABLE_44 = -44, SCX_use_AUX_TABLE_45 = -45, SCX_use_AUX_TABLE_46 = -46, SCX_use_AUX_TABLE_47 = -47, SCX_use_AUX_TABLE_48 = -48, SCX_use_AUX_TABLE_49 = -49, SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, SCX_use_AUX_TABLE_53 = -53, SCX_use_AUX_TABLE_54 = -54, SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* ASCII/Latin1 */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 65 /* ASCII/Latin1 */ #define HAS_SCX_AUX_TABLES static const SCX_enum SCX_AUX_TABLE_1[] = { SCX_Bopomofo, SCX_Hanb }; static const SCX_enum SCX_AUX_TABLE_2[] = { SCX_Cyrillic, SCX_Old_Permic }; static const SCX_enum SCX_AUX_TABLE_3[] = { SCX_Cyrillic, SCX_Glagolitic }; static const SCX_enum SCX_AUX_TABLE_4[] = { SCX_Cyrillic, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_5[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Mandaic, SCX_Manichaean, SCX_Psalter_Pahlavi, SCX_Sogdian, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Sharada, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Limbu, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu }; static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada, SCX_Nandinagari, SCX_Oriya, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_34[] = { SCX_Cyrillic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian }; static const SCX_enum SCX_AUX_TABLE_36[] = { SCX_Devanagari, SCX_Grantha, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_37[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_38[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore, SCX_Yi }; static const SCX_enum SCX_AUX_TABLE_39[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_40[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_41[] = { SCX_Hiragana, SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_42[] = { SCX_Han, SCX_Hanb, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_43[] = { SCX_Hiragana, SCX_Jpan }; static const SCX_enum SCX_AUX_TABLE_44[] = { SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; static const SCX_enum SCX_AUX_TABLE_52[] = { SCX_Arabic, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ SCX_AUX_TABLE_1, SCX_AUX_TABLE_2, SCX_AUX_TABLE_3, SCX_AUX_TABLE_4, SCX_AUX_TABLE_5, SCX_AUX_TABLE_6, SCX_AUX_TABLE_7, SCX_AUX_TABLE_8, SCX_AUX_TABLE_9, SCX_AUX_TABLE_10, SCX_AUX_TABLE_11, SCX_AUX_TABLE_12, SCX_AUX_TABLE_13, SCX_AUX_TABLE_14, SCX_AUX_TABLE_15, SCX_AUX_TABLE_16, SCX_AUX_TABLE_17, SCX_AUX_TABLE_18, SCX_AUX_TABLE_19, SCX_AUX_TABLE_20, SCX_AUX_TABLE_21, SCX_AUX_TABLE_22, SCX_AUX_TABLE_23, SCX_AUX_TABLE_24, SCX_AUX_TABLE_25, SCX_AUX_TABLE_26, SCX_AUX_TABLE_27, SCX_AUX_TABLE_28, SCX_AUX_TABLE_29, SCX_AUX_TABLE_30, SCX_AUX_TABLE_31, SCX_AUX_TABLE_32, SCX_AUX_TABLE_33, SCX_AUX_TABLE_34, SCX_AUX_TABLE_35, SCX_AUX_TABLE_36, SCX_AUX_TABLE_37, SCX_AUX_TABLE_38, SCX_AUX_TABLE_39, SCX_AUX_TABLE_40, SCX_AUX_TABLE_41, SCX_AUX_TABLE_42, SCX_AUX_TABLE_43, SCX_AUX_TABLE_44, SCX_AUX_TABLE_45, SCX_AUX_TABLE_46, SCX_AUX_TABLE_47, SCX_AUX_TABLE_48, SCX_AUX_TABLE_49, SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, SCX_AUX_TABLE_53, SCX_AUX_TABLE_54, SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 SCX_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* SCX_AUX_TABLE_1 */, 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, 5 /* SCX_AUX_TABLE_5 */, 3 /* SCX_AUX_TABLE_6 */, 8 /* SCX_AUX_TABLE_7 */, 2 /* SCX_AUX_TABLE_8 */, 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, 13 /* SCX_AUX_TABLE_11 */, 12 /* SCX_AUX_TABLE_12 */, 20 /* SCX_AUX_TABLE_13 */, 21 /* SCX_AUX_TABLE_14 */, 4 /* SCX_AUX_TABLE_15 */, 3 /* SCX_AUX_TABLE_16 */, 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, 3 /* SCX_AUX_TABLE_21 */, 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, 4 /* SCX_AUX_TABLE_24 */, 2 /* SCX_AUX_TABLE_25 */, 4 /* SCX_AUX_TABLE_26 */, 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, 6 /* SCX_AUX_TABLE_30 */, 2 /* SCX_AUX_TABLE_31 */, 8 /* SCX_AUX_TABLE_32 */, 3 /* SCX_AUX_TABLE_33 */, 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, 9 /* SCX_AUX_TABLE_38 */, 8 /* SCX_AUX_TABLE_39 */, 5 /* SCX_AUX_TABLE_40 */, 3 /* SCX_AUX_TABLE_41 */, 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, 5 /* SCX_AUX_TABLE_45 */, 14 /* SCX_AUX_TABLE_46 */, 13 /* SCX_AUX_TABLE_47 */, 11 /* SCX_AUX_TABLE_48 */, 2 /* SCX_AUX_TABLE_49 */, 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, 2 /* SCX_AUX_TABLE_52 */, 2 /* SCX_AUX_TABLE_53 */, 3 /* SCX_AUX_TABLE_54 */, 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that * script; 0 if the script has multiple digit sequences. Scripts without a * digit sequence use ASCII [0-9], hence are marked '0' */ static const UV script_zeros[] = { '0', /* Unknown */ 0x1e950, /* Adlam */ 0x11730, /* Ahom */ '0', /* Anatolian_Hieroglyphs */ 0, /* Arabic */ '0', /* Armenian */ '0', /* Avestan */ 0x1b50, /* Balinese */ '0', /* Bamum */ '0', /* Bassa_Vah */ '0', /* Batak */ 0x9e6, /* Bengali */ 0x11c50, /* Bhaiksuki */ '0', /* Bopomofo */ 0x11066, /* Brahmi */ '0', /* Braille */ '0', /* Buginese */ '0', /* Buhid */ '0', /* Canadian_Aboriginal */ '0', /* Carian */ '0', /* Caucasian_Albanian */ 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ '0', /* Cypriot */ '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ '0', /* Elbasan */ '0', /* Elymaic */ '0', /* Ethiopic */ '0', /* Georgian */ '0', /* Glagolitic */ '0', /* Gothic */ 0xbe6, /* Grantha */ '0', /* Greek */ 0xae6, /* Gujarati */ 0x11da0, /* Gunjala_Gondi */ 0xa66, /* Gurmukhi */ '0', /* Han */ '0', /* Hanb */ '0', /* Hangul */ 0x10d30, /* Hanifi_Rohingya */ '0', /* Hanunoo */ '0', /* Hatran */ '0', /* Hebrew */ '0', /* Hiragana */ '0', /* Imperial_Aramaic */ 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ 0xce6, /* Kannada */ '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ '0', /* Kore */ 0xed0, /* Lao */ '0', /* Latin */ 0x1c40, /* Lepcha */ 0x1946, /* Limbu */ '0', /* Linear_A */ '0', /* Linear_B */ '0', /* Lisu */ '0', /* Lycian */ '0', /* Lydian */ 0x966, /* Mahajani */ '0', /* Makasar */ 0xd66, /* Malayalam */ '0', /* Mandaic */ '0', /* Manichaean */ '0', /* Marchen */ 0x11d50, /* Masaram_Gondi */ '0', /* Medefaidrin */ 0xabf0, /* Meetei_Mayek */ '0', /* Mende_Kikakui */ '0', /* Meroitic_Cursive */ '0', /* Meroitic_Hieroglyphs */ '0', /* Miao */ 0x11650, /* Modi */ 0x1810, /* Mongolian */ 0x16a60, /* Mro */ 0xa66, /* Multani */ 0, /* Myanmar */ '0', /* Nabataean */ 0xce6, /* Nandinagari */ 0x19d0, /* New_Tai_Lue */ 0x11450, /* Newa */ 0x7c0, /* Nko */ '0', /* Nushu */ 0x1e140, /* Nyiakeng_Puachue_Hmong */ '0', /* Ogham */ 0x1c50, /* Ol_Chiki */ '0', /* Old_Hungarian */ '0', /* Old_Italic */ '0', /* Old_North_Arabian */ '0', /* Old_Permic */ '0', /* Old_Persian */ '0', /* Old_Sogdian */ '0', /* Old_South_Arabian */ '0', /* Old_Turkic */ 0xb66, /* Oriya */ '0', /* Osage */ 0x104a0, /* Osmanya */ 0x16b50, /* Pahawh_Hmong */ '0', /* Palmyrene */ '0', /* Pau_Cin_Hau */ '0', /* Phags_Pa */ '0', /* Phoenician */ '0', /* Psalter_Pahlavi */ '0', /* Rejang */ '0', /* Runic */ '0', /* Samaritan */ 0xa8d0, /* Saurashtra */ 0x111d0, /* Sharada */ '0', /* Shavian */ '0', /* Siddham */ '0', /* SignWriting */ 0xde6, /* Sinhala */ '0', /* Sogdian */ 0x110f0, /* Sora_Sompeng */ '0', /* Soyombo */ 0x1bb0, /* Sundanese */ 0x9e6, /* Syloti_Nagri */ '0', /* Syriac */ '0', /* Tagalog */ '0', /* Tagbanwa */ 0x1040, /* Tai_Le */ 0, /* Tai_Tham */ '0', /* Tai_Viet */ 0x116c0, /* Takri */ 0xbe6, /* Tamil */ '0', /* Tangut */ 0xc66, /* Telugu */ 0x660, /* Thaana */ 0xe50, /* Thai */ 0xf20, /* Tibetan */ '0', /* Tifinagh */ 0x114d0, /* Tirhuta */ '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ 0x118e0, /* Warang_Citi */ 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */ SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_1, SCX_Common, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Coptic, SCX_Greek, SCX_Cyrillic, SCX_use_AUX_TABLE_2, SCX_use_AUX_TABLE_3, SCX_use_AUX_TABLE_4, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Arabic, SCX_Thaana, SCX_Unknown, SCX_Nko, SCX_Unknown, SCX_Nko, SCX_Samaritan, SCX_Unknown, SCX_Samaritan, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Devanagari, SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, SCX_Inherited, SCX_Devanagari, SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, SCX_Devanagari, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Thai, SCX_Unknown, SCX_Common, SCX_Thai, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Common, SCX_Tibetan, SCX_Unknown, SCX_Myanmar, SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_use_AUX_TABLE_22, SCX_Georgian, SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Ogham, SCX_Unknown, SCX_Runic, SCX_Common, SCX_Runic, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Tai_Le, SCX_Unknown, SCX_Tai_Le, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Khmer, SCX_Buginese, SCX_Unknown, SCX_Buginese, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Inherited, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Sundanese, SCX_Batak, SCX_Unknown, SCX_Batak, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Ol_Chiki, SCX_Cyrillic, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Sundanese, SCX_Unknown, SCX_use_AUX_TABLE_26, SCX_Devanagari, SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_31, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, SCX_Bengali, SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, SCX_Greek, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Inherited, SCX_use_AUX_TABLE_34, SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_use_AUX_TABLE_35, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_use_AUX_TABLE_36, SCX_Unknown, SCX_Common, SCX_Greek, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Braille, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Latin, SCX_Coptic, SCX_Unknown, SCX_Coptic, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_3, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_38, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_42, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_43, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Lisu, SCX_Vai, SCX_Unknown, SCX_Cyrillic, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Bamum, SCX_Unknown, SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, SCX_Myanmar, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Myanmar, SCX_Tai_Viet, SCX_Unknown, SCX_Tai_Viet, SCX_Meetei_Mayek, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Latin, SCX_Common, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_39, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Unknown, SCX_use_AUX_TABLE_54, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Unknown, SCX_Lycian, SCX_Unknown, SCX_Carian, SCX_Unknown, SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, SCX_Old_Italic, SCX_Gothic, SCX_Unknown, SCX_Old_Permic, SCX_Unknown, SCX_Ugaritic, SCX_Unknown, SCX_Ugaritic, SCX_Old_Persian, SCX_Unknown, SCX_Old_Persian, SCX_Unknown, SCX_Deseret, SCX_Shavian, SCX_Osmanya, SCX_Unknown, SCX_Osmanya, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Elbasan, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Imperial_Aramaic, SCX_Unknown, SCX_Imperial_Aramaic, SCX_Palmyrene, SCX_Nabataean, SCX_Unknown, SCX_Nabataean, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Phoenician, SCX_Unknown, SCX_Phoenician, SCX_Lydian, SCX_Unknown, SCX_Lydian, SCX_Unknown, SCX_Meroitic_Hieroglyphs, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Old_South_Arabian, SCX_Old_North_Arabian, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Avestan, SCX_Unknown, SCX_Avestan, SCX_Inscriptional_Parthian, SCX_Unknown, SCX_Inscriptional_Parthian, SCX_Inscriptional_Pahlavi, SCX_Unknown, SCX_Inscriptional_Pahlavi, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Old_Turkic, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, SCX_Chorasmian, SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Kaithi, SCX_Unknown, SCX_Kaithi, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Mahajani, SCX_Unknown, SCX_Sharada, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Dogra, SCX_Unknown, SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Zanabazar_Square, SCX_Unknown, SCX_Soyombo, SCX_Unknown, SCX_Pau_Cin_Hau, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Makasar, SCX_Unknown, SCX_Lisu, SCX_Unknown, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Anatolian_Hieroglyphs, SCX_Unknown, SCX_Bamum, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Medefaidrin, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Tangut, SCX_Nushu, SCX_Common, SCX_Khitan_Small_Script, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_Tangut, SCX_Khitan_Small_Script, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_Nushu, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Unknown }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */ 1699, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x342, 0x343, 0x345, 0x346, 0x363, 0x370, 0x374, 0x375, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x385, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3E2, 0x3F0, 0x400, 0x483, 0x484, 0x485, 0x487, 0x488, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61D, 0x61E, 0x61F, 0x620, 0x640, 0x641, 0x64B, 0x656, 0x660, 0x66A, 0x670, 0x671, 0x6D4, 0x6D5, 0x6DD, 0x6DE, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x780, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x900, 0x951, 0x952, 0x953, 0x955, 0x964, 0x965, 0x966, 0x970, 0x980, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F0, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF4, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC80, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE40, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD5, 0xFD9, 0xFDB, 0x1000, 0x1040, 0x104A, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1804, 0x1805, 0x1806, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x19E0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C50, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD3, 0x1CD4, 0x1CD5, 0x1CD7, 0x1CD8, 0x1CD9, 0x1CDA, 0x1CDB, 0x1CDC, 0x1CDE, 0x1CE0, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CEA, 0x1CEB, 0x1CED, 0x1CEE, 0x1CF2, 0x1CF3, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1D26, 0x1D2B, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1DC2, 0x1DF8, 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2072, 0x2074, 0x207F, 0x2080, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F0, 0x20F1, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3004, 0x3005, 0x3008, 0x3012, 0x3013, 0x3014, 0x301C, 0x3020, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3037, 0x3038, 0x303C, 0x303E, 0x3040, 0x3041, 0x3097, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x30FD, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA500, 0xA62C, 0xA640, 0xA66F, 0xA670, 0xA6A0, 0xA6F8, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA82D, 0xA830, 0xA833, 0xA836, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F1, 0xA8F2, 0xA8F3, 0xA8F4, 0xA900, 0xA92E, 0xA92F, 0xA930, 0xA954, 0xA95F, 0xA960, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9DE, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xAB6C, 0xAB70, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDF2, 0xFDF3, 0xFDFD, 0xFDFE, 0xFE00, 0xFE10, 0xFE1A, 0xFE20, 0xFE2E, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103A0, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x10450, 0x10480, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10856, 0x10857, 0x10860, 0x10880, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x10900, 0x1091C, 0x1091F, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109A0, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B40, 0x10B56, 0x10B58, 0x10B60, 0x10B73, 0x10B78, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x11080, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11301, 0x11302, 0x11303, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, 0x11FD3, 0x11FD4, 0x11FF2, 0x11FFF, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE1, 0x16FE2, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B001, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { SCX_Unknown = 0, SCX_Adlam = 1, SCX_Ahom = 2, SCX_Anatolian_Hieroglyphs = 3, SCX_Arabic = 4, SCX_Armenian = 5, SCX_Avestan = 6, SCX_Balinese = 7, SCX_Bamum = 8, SCX_Bassa_Vah = 9, SCX_Batak = 10, SCX_Bengali = 11, SCX_Bhaiksuki = 12, SCX_Bopomofo = 13, SCX_Brahmi = 14, SCX_Braille = 15, SCX_Buginese = 16, SCX_Buhid = 17, SCX_Canadian_Aboriginal = 18, SCX_Carian = 19, SCX_Caucasian_Albanian = 20, SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, SCX_Chorasmian = 24, SCX_Common = 25, SCX_Coptic = 26, SCX_Cuneiform = 27, SCX_Cypriot = 28, SCX_Cyrillic = 29, SCX_Deseret = 30, SCX_Devanagari = 31, SCX_Dives_Akuru = 32, SCX_Dogra = 33, SCX_Duployan = 34, SCX_Egyptian_Hieroglyphs = 35, SCX_Elbasan = 36, SCX_Elymaic = 37, SCX_Ethiopic = 38, SCX_Georgian = 39, SCX_Glagolitic = 40, SCX_Gothic = 41, SCX_Grantha = 42, SCX_Greek = 43, SCX_Gujarati = 44, SCX_Gunjala_Gondi = 45, SCX_Gurmukhi = 46, SCX_Han = 47, SCX_Hanb = 48, SCX_Hangul = 49, SCX_Hanifi_Rohingya = 50, SCX_Hanunoo = 51, SCX_Hatran = 52, SCX_Hebrew = 53, SCX_Hiragana = 54, SCX_Imperial_Aramaic = 55, SCX_Inherited = 56, SCX_Inscriptional_Pahlavi = 57, SCX_Inscriptional_Parthian = 58, SCX_INVALID = 59, SCX_Javanese = 60, SCX_Jpan = 61, SCX_Kaithi = 62, SCX_Kannada = 63, SCX_Katakana = 64, SCX_Kayah_Li = 65, SCX_Kharoshthi = 66, SCX_Khitan_Small_Script = 67, SCX_Khmer = 68, SCX_Khojki = 69, SCX_Khudawadi = 70, SCX_Kore = 71, SCX_Lao = 72, SCX_Latin = 73, SCX_Lepcha = 74, SCX_Limbu = 75, SCX_Linear_A = 76, SCX_Linear_B = 77, SCX_Lisu = 78, SCX_Lycian = 79, SCX_Lydian = 80, SCX_Mahajani = 81, SCX_Makasar = 82, SCX_Malayalam = 83, SCX_Mandaic = 84, SCX_Manichaean = 85, SCX_Marchen = 86, SCX_Masaram_Gondi = 87, SCX_Medefaidrin = 88, SCX_Meetei_Mayek = 89, SCX_Mende_Kikakui = 90, SCX_Meroitic_Cursive = 91, SCX_Meroitic_Hieroglyphs = 92, SCX_Miao = 93, SCX_Modi = 94, SCX_Mongolian = 95, SCX_Mro = 96, SCX_Multani = 97, SCX_Myanmar = 98, SCX_Nabataean = 99, SCX_Nandinagari = 100, SCX_New_Tai_Lue = 101, SCX_Newa = 102, SCX_Nko = 103, SCX_Nushu = 104, SCX_Nyiakeng_Puachue_Hmong = 105, SCX_Ogham = 106, SCX_Ol_Chiki = 107, SCX_Old_Hungarian = 108, SCX_Old_Italic = 109, SCX_Old_North_Arabian = 110, SCX_Old_Permic = 111, SCX_Old_Persian = 112, SCX_Old_Sogdian = 113, SCX_Old_South_Arabian = 114, SCX_Old_Turkic = 115, SCX_Oriya = 116, SCX_Osage = 117, SCX_Osmanya = 118, SCX_Pahawh_Hmong = 119, SCX_Palmyrene = 120, SCX_Pau_Cin_Hau = 121, SCX_Phags_Pa = 122, SCX_Phoenician = 123, SCX_Psalter_Pahlavi = 124, SCX_Rejang = 125, SCX_Runic = 126, SCX_Samaritan = 127, SCX_Saurashtra = 128, SCX_Sharada = 129, SCX_Shavian = 130, SCX_Siddham = 131, SCX_SignWriting = 132, SCX_Sinhala = 133, SCX_Sogdian = 134, SCX_Sora_Sompeng = 135, SCX_Soyombo = 136, SCX_Sundanese = 137, SCX_Syloti_Nagri = 138, SCX_Syriac = 139, SCX_Tagalog = 140, SCX_Tagbanwa = 141, SCX_Tai_Le = 142, SCX_Tai_Tham = 143, SCX_Tai_Viet = 144, SCX_Takri = 145, SCX_Tamil = 146, SCX_Tangut = 147, SCX_Telugu = 148, SCX_Thaana = 149, SCX_Thai = 150, SCX_Tibetan = 151, SCX_Tifinagh = 152, SCX_Tirhuta = 153, SCX_Ugaritic = 154, SCX_Vai = 155, SCX_Wancho = 156, SCX_Warang_Citi = 157, SCX_Yezidi = 158, SCX_Yi = 159, SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, SCX_use_AUX_TABLE_4 = -4, SCX_use_AUX_TABLE_5 = -5, SCX_use_AUX_TABLE_6 = -6, SCX_use_AUX_TABLE_7 = -7, SCX_use_AUX_TABLE_8 = -8, SCX_use_AUX_TABLE_9 = -9, SCX_use_AUX_TABLE_10 = -10, SCX_use_AUX_TABLE_11 = -11, SCX_use_AUX_TABLE_12 = -12, SCX_use_AUX_TABLE_13 = -13, SCX_use_AUX_TABLE_14 = -14, SCX_use_AUX_TABLE_15 = -15, SCX_use_AUX_TABLE_16 = -16, SCX_use_AUX_TABLE_17 = -17, SCX_use_AUX_TABLE_18 = -18, SCX_use_AUX_TABLE_19 = -19, SCX_use_AUX_TABLE_20 = -20, SCX_use_AUX_TABLE_21 = -21, SCX_use_AUX_TABLE_22 = -22, SCX_use_AUX_TABLE_23 = -23, SCX_use_AUX_TABLE_24 = -24, SCX_use_AUX_TABLE_25 = -25, SCX_use_AUX_TABLE_26 = -26, SCX_use_AUX_TABLE_27 = -27, SCX_use_AUX_TABLE_28 = -28, SCX_use_AUX_TABLE_29 = -29, SCX_use_AUX_TABLE_30 = -30, SCX_use_AUX_TABLE_31 = -31, SCX_use_AUX_TABLE_32 = -32, SCX_use_AUX_TABLE_33 = -33, SCX_use_AUX_TABLE_34 = -34, SCX_use_AUX_TABLE_35 = -35, SCX_use_AUX_TABLE_36 = -36, SCX_use_AUX_TABLE_37 = -37, SCX_use_AUX_TABLE_38 = -38, SCX_use_AUX_TABLE_39 = -39, SCX_use_AUX_TABLE_40 = -40, SCX_use_AUX_TABLE_41 = -41, SCX_use_AUX_TABLE_42 = -42, SCX_use_AUX_TABLE_43 = -43, SCX_use_AUX_TABLE_44 = -44, SCX_use_AUX_TABLE_45 = -45, SCX_use_AUX_TABLE_46 = -46, SCX_use_AUX_TABLE_47 = -47, SCX_use_AUX_TABLE_48 = -48, SCX_use_AUX_TABLE_49 = -49, SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, SCX_use_AUX_TABLE_53 = -53, SCX_use_AUX_TABLE_54 = -54, SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* EBCDIC 1047 */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 #define HAS_SCX_AUX_TABLES static const SCX_enum SCX_AUX_TABLE_1[] = { SCX_Bopomofo, SCX_Hanb }; static const SCX_enum SCX_AUX_TABLE_2[] = { SCX_Cyrillic, SCX_Old_Permic }; static const SCX_enum SCX_AUX_TABLE_3[] = { SCX_Cyrillic, SCX_Glagolitic }; static const SCX_enum SCX_AUX_TABLE_4[] = { SCX_Cyrillic, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_5[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Mandaic, SCX_Manichaean, SCX_Psalter_Pahlavi, SCX_Sogdian, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Sharada, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Limbu, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu }; static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada, SCX_Nandinagari, SCX_Oriya, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_34[] = { SCX_Cyrillic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian }; static const SCX_enum SCX_AUX_TABLE_36[] = { SCX_Devanagari, SCX_Grantha, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_37[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_38[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore, SCX_Yi }; static const SCX_enum SCX_AUX_TABLE_39[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_40[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_41[] = { SCX_Hiragana, SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_42[] = { SCX_Han, SCX_Hanb, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_43[] = { SCX_Hiragana, SCX_Jpan }; static const SCX_enum SCX_AUX_TABLE_44[] = { SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; static const SCX_enum SCX_AUX_TABLE_52[] = { SCX_Arabic, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ SCX_AUX_TABLE_1, SCX_AUX_TABLE_2, SCX_AUX_TABLE_3, SCX_AUX_TABLE_4, SCX_AUX_TABLE_5, SCX_AUX_TABLE_6, SCX_AUX_TABLE_7, SCX_AUX_TABLE_8, SCX_AUX_TABLE_9, SCX_AUX_TABLE_10, SCX_AUX_TABLE_11, SCX_AUX_TABLE_12, SCX_AUX_TABLE_13, SCX_AUX_TABLE_14, SCX_AUX_TABLE_15, SCX_AUX_TABLE_16, SCX_AUX_TABLE_17, SCX_AUX_TABLE_18, SCX_AUX_TABLE_19, SCX_AUX_TABLE_20, SCX_AUX_TABLE_21, SCX_AUX_TABLE_22, SCX_AUX_TABLE_23, SCX_AUX_TABLE_24, SCX_AUX_TABLE_25, SCX_AUX_TABLE_26, SCX_AUX_TABLE_27, SCX_AUX_TABLE_28, SCX_AUX_TABLE_29, SCX_AUX_TABLE_30, SCX_AUX_TABLE_31, SCX_AUX_TABLE_32, SCX_AUX_TABLE_33, SCX_AUX_TABLE_34, SCX_AUX_TABLE_35, SCX_AUX_TABLE_36, SCX_AUX_TABLE_37, SCX_AUX_TABLE_38, SCX_AUX_TABLE_39, SCX_AUX_TABLE_40, SCX_AUX_TABLE_41, SCX_AUX_TABLE_42, SCX_AUX_TABLE_43, SCX_AUX_TABLE_44, SCX_AUX_TABLE_45, SCX_AUX_TABLE_46, SCX_AUX_TABLE_47, SCX_AUX_TABLE_48, SCX_AUX_TABLE_49, SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, SCX_AUX_TABLE_53, SCX_AUX_TABLE_54, SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 SCX_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* SCX_AUX_TABLE_1 */, 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, 5 /* SCX_AUX_TABLE_5 */, 3 /* SCX_AUX_TABLE_6 */, 8 /* SCX_AUX_TABLE_7 */, 2 /* SCX_AUX_TABLE_8 */, 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, 13 /* SCX_AUX_TABLE_11 */, 12 /* SCX_AUX_TABLE_12 */, 20 /* SCX_AUX_TABLE_13 */, 21 /* SCX_AUX_TABLE_14 */, 4 /* SCX_AUX_TABLE_15 */, 3 /* SCX_AUX_TABLE_16 */, 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, 3 /* SCX_AUX_TABLE_21 */, 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, 4 /* SCX_AUX_TABLE_24 */, 2 /* SCX_AUX_TABLE_25 */, 4 /* SCX_AUX_TABLE_26 */, 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, 6 /* SCX_AUX_TABLE_30 */, 2 /* SCX_AUX_TABLE_31 */, 8 /* SCX_AUX_TABLE_32 */, 3 /* SCX_AUX_TABLE_33 */, 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, 9 /* SCX_AUX_TABLE_38 */, 8 /* SCX_AUX_TABLE_39 */, 5 /* SCX_AUX_TABLE_40 */, 3 /* SCX_AUX_TABLE_41 */, 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, 5 /* SCX_AUX_TABLE_45 */, 14 /* SCX_AUX_TABLE_46 */, 13 /* SCX_AUX_TABLE_47 */, 11 /* SCX_AUX_TABLE_48 */, 2 /* SCX_AUX_TABLE_49 */, 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, 2 /* SCX_AUX_TABLE_52 */, 2 /* SCX_AUX_TABLE_53 */, 3 /* SCX_AUX_TABLE_54 */, 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that * script; 0 if the script has multiple digit sequences. Scripts without a * digit sequence use ASCII [0-9], hence are marked '0' */ static const UV script_zeros[] = { '0', /* Unknown */ 0x1e950, /* Adlam */ 0x11730, /* Ahom */ '0', /* Anatolian_Hieroglyphs */ 0, /* Arabic */ '0', /* Armenian */ '0', /* Avestan */ 0x1b50, /* Balinese */ '0', /* Bamum */ '0', /* Bassa_Vah */ '0', /* Batak */ 0x9e6, /* Bengali */ 0x11c50, /* Bhaiksuki */ '0', /* Bopomofo */ 0x11066, /* Brahmi */ '0', /* Braille */ '0', /* Buginese */ '0', /* Buhid */ '0', /* Canadian_Aboriginal */ '0', /* Carian */ '0', /* Caucasian_Albanian */ 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ '0', /* Cypriot */ '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ '0', /* Elbasan */ '0', /* Elymaic */ '0', /* Ethiopic */ '0', /* Georgian */ '0', /* Glagolitic */ '0', /* Gothic */ 0xbe6, /* Grantha */ '0', /* Greek */ 0xae6, /* Gujarati */ 0x11da0, /* Gunjala_Gondi */ 0xa66, /* Gurmukhi */ '0', /* Han */ '0', /* Hanb */ '0', /* Hangul */ 0x10d30, /* Hanifi_Rohingya */ '0', /* Hanunoo */ '0', /* Hatran */ '0', /* Hebrew */ '0', /* Hiragana */ '0', /* Imperial_Aramaic */ 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ 0xce6, /* Kannada */ '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ '0', /* Kore */ 0xed0, /* Lao */ '0', /* Latin */ 0x1c40, /* Lepcha */ 0x1946, /* Limbu */ '0', /* Linear_A */ '0', /* Linear_B */ '0', /* Lisu */ '0', /* Lycian */ '0', /* Lydian */ 0x966, /* Mahajani */ '0', /* Makasar */ 0xd66, /* Malayalam */ '0', /* Mandaic */ '0', /* Manichaean */ '0', /* Marchen */ 0x11d50, /* Masaram_Gondi */ '0', /* Medefaidrin */ 0xabf0, /* Meetei_Mayek */ '0', /* Mende_Kikakui */ '0', /* Meroitic_Cursive */ '0', /* Meroitic_Hieroglyphs */ '0', /* Miao */ 0x11650, /* Modi */ 0x1810, /* Mongolian */ 0x16a60, /* Mro */ 0xa66, /* Multani */ 0, /* Myanmar */ '0', /* Nabataean */ 0xce6, /* Nandinagari */ 0x19d0, /* New_Tai_Lue */ 0x11450, /* Newa */ 0x7c0, /* Nko */ '0', /* Nushu */ 0x1e140, /* Nyiakeng_Puachue_Hmong */ '0', /* Ogham */ 0x1c50, /* Ol_Chiki */ '0', /* Old_Hungarian */ '0', /* Old_Italic */ '0', /* Old_North_Arabian */ '0', /* Old_Permic */ '0', /* Old_Persian */ '0', /* Old_Sogdian */ '0', /* Old_South_Arabian */ '0', /* Old_Turkic */ 0xb66, /* Oriya */ '0', /* Osage */ 0x104a0, /* Osmanya */ 0x16b50, /* Pahawh_Hmong */ '0', /* Palmyrene */ '0', /* Pau_Cin_Hau */ '0', /* Phags_Pa */ '0', /* Phoenician */ '0', /* Psalter_Pahlavi */ '0', /* Rejang */ '0', /* Runic */ '0', /* Samaritan */ 0xa8d0, /* Saurashtra */ 0x111d0, /* Sharada */ '0', /* Shavian */ '0', /* Siddham */ '0', /* SignWriting */ 0xde6, /* Sinhala */ '0', /* Sogdian */ 0x110f0, /* Sora_Sompeng */ '0', /* Soyombo */ 0x1bb0, /* Sundanese */ 0x9e6, /* Syloti_Nagri */ '0', /* Syriac */ '0', /* Tagalog */ '0', /* Tagbanwa */ 0x1040, /* Tai_Le */ 0, /* Tai_Tham */ '0', /* Tai_Viet */ 0x116c0, /* Takri */ 0xbe6, /* Tamil */ '0', /* Tangut */ 0xc66, /* Telugu */ 0x660, /* Thaana */ 0xe50, /* Thai */ 0xf20, /* Tibetan */ '0', /* Tifinagh */ 0x114d0, /* Tirhuta */ '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ 0x118e0, /* Warang_Citi */ 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */ SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_1, SCX_Common, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Coptic, SCX_Greek, SCX_Cyrillic, SCX_use_AUX_TABLE_2, SCX_use_AUX_TABLE_3, SCX_use_AUX_TABLE_4, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Arabic, SCX_Thaana, SCX_Unknown, SCX_Nko, SCX_Unknown, SCX_Nko, SCX_Samaritan, SCX_Unknown, SCX_Samaritan, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Devanagari, SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, SCX_Inherited, SCX_Devanagari, SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, SCX_Devanagari, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Thai, SCX_Unknown, SCX_Common, SCX_Thai, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Common, SCX_Tibetan, SCX_Unknown, SCX_Myanmar, SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_use_AUX_TABLE_22, SCX_Georgian, SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Ogham, SCX_Unknown, SCX_Runic, SCX_Common, SCX_Runic, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Tai_Le, SCX_Unknown, SCX_Tai_Le, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Khmer, SCX_Buginese, SCX_Unknown, SCX_Buginese, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Inherited, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Sundanese, SCX_Batak, SCX_Unknown, SCX_Batak, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Ol_Chiki, SCX_Cyrillic, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Sundanese, SCX_Unknown, SCX_use_AUX_TABLE_26, SCX_Devanagari, SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_31, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, SCX_Bengali, SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, SCX_Greek, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Inherited, SCX_use_AUX_TABLE_34, SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_use_AUX_TABLE_35, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_use_AUX_TABLE_36, SCX_Unknown, SCX_Common, SCX_Greek, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Braille, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Latin, SCX_Coptic, SCX_Unknown, SCX_Coptic, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_3, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_38, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_42, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_43, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Lisu, SCX_Vai, SCX_Unknown, SCX_Cyrillic, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Bamum, SCX_Unknown, SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, SCX_Myanmar, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Myanmar, SCX_Tai_Viet, SCX_Unknown, SCX_Tai_Viet, SCX_Meetei_Mayek, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Latin, SCX_Common, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_39, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Unknown, SCX_use_AUX_TABLE_54, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Unknown, SCX_Lycian, SCX_Unknown, SCX_Carian, SCX_Unknown, SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, SCX_Old_Italic, SCX_Gothic, SCX_Unknown, SCX_Old_Permic, SCX_Unknown, SCX_Ugaritic, SCX_Unknown, SCX_Ugaritic, SCX_Old_Persian, SCX_Unknown, SCX_Old_Persian, SCX_Unknown, SCX_Deseret, SCX_Shavian, SCX_Osmanya, SCX_Unknown, SCX_Osmanya, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Elbasan, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Imperial_Aramaic, SCX_Unknown, SCX_Imperial_Aramaic, SCX_Palmyrene, SCX_Nabataean, SCX_Unknown, SCX_Nabataean, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Phoenician, SCX_Unknown, SCX_Phoenician, SCX_Lydian, SCX_Unknown, SCX_Lydian, SCX_Unknown, SCX_Meroitic_Hieroglyphs, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Old_South_Arabian, SCX_Old_North_Arabian, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Avestan, SCX_Unknown, SCX_Avestan, SCX_Inscriptional_Parthian, SCX_Unknown, SCX_Inscriptional_Parthian, SCX_Inscriptional_Pahlavi, SCX_Unknown, SCX_Inscriptional_Pahlavi, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Old_Turkic, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, SCX_Chorasmian, SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Kaithi, SCX_Unknown, SCX_Kaithi, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Mahajani, SCX_Unknown, SCX_Sharada, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Dogra, SCX_Unknown, SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Zanabazar_Square, SCX_Unknown, SCX_Soyombo, SCX_Unknown, SCX_Pau_Cin_Hau, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Makasar, SCX_Unknown, SCX_Lisu, SCX_Unknown, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Anatolian_Hieroglyphs, SCX_Unknown, SCX_Bamum, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Medefaidrin, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Tangut, SCX_Nushu, SCX_Common, SCX_Khitan_Small_Script, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_Tangut, SCX_Khitan_Small_Script, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_Nushu, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Unknown }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */ 1695, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x342, 0x343, 0x345, 0x346, 0x363, 0x370, 0x374, 0x375, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x385, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3E2, 0x3F0, 0x400, 0x483, 0x484, 0x485, 0x487, 0x488, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61D, 0x61E, 0x61F, 0x620, 0x640, 0x641, 0x64B, 0x656, 0x660, 0x66A, 0x670, 0x671, 0x6D4, 0x6D5, 0x6DD, 0x6DE, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x780, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x900, 0x951, 0x952, 0x953, 0x955, 0x964, 0x965, 0x966, 0x970, 0x980, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F0, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF4, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC80, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE40, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD5, 0xFD9, 0xFDB, 0x1000, 0x1040, 0x104A, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1804, 0x1805, 0x1806, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x19E0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C50, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD3, 0x1CD4, 0x1CD5, 0x1CD7, 0x1CD8, 0x1CD9, 0x1CDA, 0x1CDB, 0x1CDC, 0x1CDE, 0x1CE0, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CEA, 0x1CEB, 0x1CED, 0x1CEE, 0x1CF2, 0x1CF3, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1D26, 0x1D2B, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1DC2, 0x1DF8, 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2072, 0x2074, 0x207F, 0x2080, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F0, 0x20F1, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3003, 0x3004, 0x3005, 0x3008, 0x3012, 0x3013, 0x3014, 0x301C, 0x3020, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3037, 0x3038, 0x303C, 0x303E, 0x3040, 0x3041, 0x3097, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x30FD, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x31F0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA500, 0xA62C, 0xA640, 0xA66F, 0xA670, 0xA6A0, 0xA6F8, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA82D, 0xA830, 0xA833, 0xA836, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F1, 0xA8F2, 0xA8F3, 0xA8F4, 0xA900, 0xA92E, 0xA92F, 0xA930, 0xA954, 0xA95F, 0xA960, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9DE, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xAB6C, 0xAB70, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDF2, 0xFDF3, 0xFDFD, 0xFDFE, 0xFE00, 0xFE10, 0xFE1A, 0xFE20, 0xFE2E, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103A0, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x10450, 0x10480, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10856, 0x10857, 0x10860, 0x10880, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x10900, 0x1091C, 0x1091F, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109A0, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B40, 0x10B56, 0x10B58, 0x10B60, 0x10B73, 0x10B78, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x11080, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11301, 0x11302, 0x11303, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FD0, 0x11FD2, 0x11FD3, 0x11FD4, 0x11FF2, 0x11FFF, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE1, 0x16FE2, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B001, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { SCX_Unknown = 0, SCX_Adlam = 1, SCX_Ahom = 2, SCX_Anatolian_Hieroglyphs = 3, SCX_Arabic = 4, SCX_Armenian = 5, SCX_Avestan = 6, SCX_Balinese = 7, SCX_Bamum = 8, SCX_Bassa_Vah = 9, SCX_Batak = 10, SCX_Bengali = 11, SCX_Bhaiksuki = 12, SCX_Bopomofo = 13, SCX_Brahmi = 14, SCX_Braille = 15, SCX_Buginese = 16, SCX_Buhid = 17, SCX_Canadian_Aboriginal = 18, SCX_Carian = 19, SCX_Caucasian_Albanian = 20, SCX_Chakma = 21, SCX_Cham = 22, SCX_Cherokee = 23, SCX_Chorasmian = 24, SCX_Common = 25, SCX_Coptic = 26, SCX_Cuneiform = 27, SCX_Cypriot = 28, SCX_Cyrillic = 29, SCX_Deseret = 30, SCX_Devanagari = 31, SCX_Dives_Akuru = 32, SCX_Dogra = 33, SCX_Duployan = 34, SCX_Egyptian_Hieroglyphs = 35, SCX_Elbasan = 36, SCX_Elymaic = 37, SCX_Ethiopic = 38, SCX_Georgian = 39, SCX_Glagolitic = 40, SCX_Gothic = 41, SCX_Grantha = 42, SCX_Greek = 43, SCX_Gujarati = 44, SCX_Gunjala_Gondi = 45, SCX_Gurmukhi = 46, SCX_Han = 47, SCX_Hanb = 48, SCX_Hangul = 49, SCX_Hanifi_Rohingya = 50, SCX_Hanunoo = 51, SCX_Hatran = 52, SCX_Hebrew = 53, SCX_Hiragana = 54, SCX_Imperial_Aramaic = 55, SCX_Inherited = 56, SCX_Inscriptional_Pahlavi = 57, SCX_Inscriptional_Parthian = 58, SCX_INVALID = 59, SCX_Javanese = 60, SCX_Jpan = 61, SCX_Kaithi = 62, SCX_Kannada = 63, SCX_Katakana = 64, SCX_Kayah_Li = 65, SCX_Kharoshthi = 66, SCX_Khitan_Small_Script = 67, SCX_Khmer = 68, SCX_Khojki = 69, SCX_Khudawadi = 70, SCX_Kore = 71, SCX_Lao = 72, SCX_Latin = 73, SCX_Lepcha = 74, SCX_Limbu = 75, SCX_Linear_A = 76, SCX_Linear_B = 77, SCX_Lisu = 78, SCX_Lycian = 79, SCX_Lydian = 80, SCX_Mahajani = 81, SCX_Makasar = 82, SCX_Malayalam = 83, SCX_Mandaic = 84, SCX_Manichaean = 85, SCX_Marchen = 86, SCX_Masaram_Gondi = 87, SCX_Medefaidrin = 88, SCX_Meetei_Mayek = 89, SCX_Mende_Kikakui = 90, SCX_Meroitic_Cursive = 91, SCX_Meroitic_Hieroglyphs = 92, SCX_Miao = 93, SCX_Modi = 94, SCX_Mongolian = 95, SCX_Mro = 96, SCX_Multani = 97, SCX_Myanmar = 98, SCX_Nabataean = 99, SCX_Nandinagari = 100, SCX_New_Tai_Lue = 101, SCX_Newa = 102, SCX_Nko = 103, SCX_Nushu = 104, SCX_Nyiakeng_Puachue_Hmong = 105, SCX_Ogham = 106, SCX_Ol_Chiki = 107, SCX_Old_Hungarian = 108, SCX_Old_Italic = 109, SCX_Old_North_Arabian = 110, SCX_Old_Permic = 111, SCX_Old_Persian = 112, SCX_Old_Sogdian = 113, SCX_Old_South_Arabian = 114, SCX_Old_Turkic = 115, SCX_Oriya = 116, SCX_Osage = 117, SCX_Osmanya = 118, SCX_Pahawh_Hmong = 119, SCX_Palmyrene = 120, SCX_Pau_Cin_Hau = 121, SCX_Phags_Pa = 122, SCX_Phoenician = 123, SCX_Psalter_Pahlavi = 124, SCX_Rejang = 125, SCX_Runic = 126, SCX_Samaritan = 127, SCX_Saurashtra = 128, SCX_Sharada = 129, SCX_Shavian = 130, SCX_Siddham = 131, SCX_SignWriting = 132, SCX_Sinhala = 133, SCX_Sogdian = 134, SCX_Sora_Sompeng = 135, SCX_Soyombo = 136, SCX_Sundanese = 137, SCX_Syloti_Nagri = 138, SCX_Syriac = 139, SCX_Tagalog = 140, SCX_Tagbanwa = 141, SCX_Tai_Le = 142, SCX_Tai_Tham = 143, SCX_Tai_Viet = 144, SCX_Takri = 145, SCX_Tamil = 146, SCX_Tangut = 147, SCX_Telugu = 148, SCX_Thaana = 149, SCX_Thai = 150, SCX_Tibetan = 151, SCX_Tifinagh = 152, SCX_Tirhuta = 153, SCX_Ugaritic = 154, SCX_Vai = 155, SCX_Wancho = 156, SCX_Warang_Citi = 157, SCX_Yezidi = 158, SCX_Yi = 159, SCX_Zanabazar_Square = 160, SCX_use_AUX_TABLE_1 = -1, SCX_use_AUX_TABLE_2 = -2, SCX_use_AUX_TABLE_3 = -3, SCX_use_AUX_TABLE_4 = -4, SCX_use_AUX_TABLE_5 = -5, SCX_use_AUX_TABLE_6 = -6, SCX_use_AUX_TABLE_7 = -7, SCX_use_AUX_TABLE_8 = -8, SCX_use_AUX_TABLE_9 = -9, SCX_use_AUX_TABLE_10 = -10, SCX_use_AUX_TABLE_11 = -11, SCX_use_AUX_TABLE_12 = -12, SCX_use_AUX_TABLE_13 = -13, SCX_use_AUX_TABLE_14 = -14, SCX_use_AUX_TABLE_15 = -15, SCX_use_AUX_TABLE_16 = -16, SCX_use_AUX_TABLE_17 = -17, SCX_use_AUX_TABLE_18 = -18, SCX_use_AUX_TABLE_19 = -19, SCX_use_AUX_TABLE_20 = -20, SCX_use_AUX_TABLE_21 = -21, SCX_use_AUX_TABLE_22 = -22, SCX_use_AUX_TABLE_23 = -23, SCX_use_AUX_TABLE_24 = -24, SCX_use_AUX_TABLE_25 = -25, SCX_use_AUX_TABLE_26 = -26, SCX_use_AUX_TABLE_27 = -27, SCX_use_AUX_TABLE_28 = -28, SCX_use_AUX_TABLE_29 = -29, SCX_use_AUX_TABLE_30 = -30, SCX_use_AUX_TABLE_31 = -31, SCX_use_AUX_TABLE_32 = -32, SCX_use_AUX_TABLE_33 = -33, SCX_use_AUX_TABLE_34 = -34, SCX_use_AUX_TABLE_35 = -35, SCX_use_AUX_TABLE_36 = -36, SCX_use_AUX_TABLE_37 = -37, SCX_use_AUX_TABLE_38 = -38, SCX_use_AUX_TABLE_39 = -39, SCX_use_AUX_TABLE_40 = -40, SCX_use_AUX_TABLE_41 = -41, SCX_use_AUX_TABLE_42 = -42, SCX_use_AUX_TABLE_43 = -43, SCX_use_AUX_TABLE_44 = -44, SCX_use_AUX_TABLE_45 = -45, SCX_use_AUX_TABLE_46 = -46, SCX_use_AUX_TABLE_47 = -47, SCX_use_AUX_TABLE_48 = -48, SCX_use_AUX_TABLE_49 = -49, SCX_use_AUX_TABLE_50 = -50, SCX_use_AUX_TABLE_51 = -51, SCX_use_AUX_TABLE_52 = -52, SCX_use_AUX_TABLE_53 = -53, SCX_use_AUX_TABLE_54 = -54, SCX_use_AUX_TABLE_55 = -55 } SCX_enum; # endif /* EBCDIC 037 */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 #define HAS_SCX_AUX_TABLES static const SCX_enum SCX_AUX_TABLE_1[] = { SCX_Bopomofo, SCX_Hanb }; static const SCX_enum SCX_AUX_TABLE_2[] = { SCX_Cyrillic, SCX_Old_Permic }; static const SCX_enum SCX_AUX_TABLE_3[] = { SCX_Cyrillic, SCX_Glagolitic }; static const SCX_enum SCX_AUX_TABLE_4[] = { SCX_Cyrillic, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_5[] = { SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Syriac, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_6[] = { SCX_Arabic, SCX_Syriac, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_7[] = { SCX_Adlam, SCX_Arabic, SCX_Hanifi_Rohingya, SCX_Mandaic, SCX_Manichaean, SCX_Psalter_Pahlavi, SCX_Sogdian, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_8[] = { SCX_Arabic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_9[] = { SCX_Arabic, SCX_Thaana, SCX_Yezidi }; static const SCX_enum SCX_AUX_TABLE_10[] = { SCX_Arabic, SCX_Hanifi_Rohingya }; static const SCX_enum SCX_AUX_TABLE_11[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Sharada, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_12[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Gujarati, SCX_Gurmukhi, SCX_Kannada, SCX_Latin, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_13[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_14[] = { SCX_Bengali, SCX_Devanagari, SCX_Dogra, SCX_Grantha, SCX_Gujarati, SCX_Gunjala_Gondi, SCX_Gurmukhi, SCX_Kannada, SCX_Khudawadi, SCX_Limbu, SCX_Mahajani, SCX_Malayalam, SCX_Masaram_Gondi, SCX_Nandinagari, SCX_Oriya, SCX_Sinhala, SCX_Syloti_Nagri, SCX_Takri, SCX_Tamil, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_15[] = { SCX_Devanagari, SCX_Dogra, SCX_Kaithi, SCX_Mahajani }; static const SCX_enum SCX_AUX_TABLE_16[] = { SCX_Bengali, SCX_Chakma, SCX_Syloti_Nagri }; static const SCX_enum SCX_AUX_TABLE_17[] = { SCX_Gurmukhi, SCX_Multani }; static const SCX_enum SCX_AUX_TABLE_18[] = { SCX_Gujarati, SCX_Khojki }; static const SCX_enum SCX_AUX_TABLE_19[] = { SCX_Grantha, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_20[] = { SCX_Kannada, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_21[] = { SCX_Chakma, SCX_Myanmar, SCX_Tai_Le }; static const SCX_enum SCX_AUX_TABLE_22[] = { SCX_Georgian, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_23[] = { SCX_Hangul, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_24[] = { SCX_Buhid, SCX_Hanunoo, SCX_Tagalog, SCX_Tagbanwa }; static const SCX_enum SCX_AUX_TABLE_25[] = { SCX_Mongolian, SCX_Phags_Pa }; static const SCX_enum SCX_AUX_TABLE_26[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_27[] = { SCX_Devanagari, SCX_Grantha }; static const SCX_enum SCX_AUX_TABLE_28[] = { SCX_Bengali, SCX_Devanagari }; static const SCX_enum SCX_AUX_TABLE_29[] = { SCX_Devanagari, SCX_Sharada }; static const SCX_enum SCX_AUX_TABLE_30[] = { SCX_Devanagari, SCX_Kannada, SCX_Malayalam, SCX_Oriya, SCX_Tamil, SCX_Telugu }; static const SCX_enum SCX_AUX_TABLE_31[] = { SCX_Devanagari, SCX_Nandinagari }; static const SCX_enum SCX_AUX_TABLE_32[] = { SCX_Bengali, SCX_Devanagari, SCX_Grantha, SCX_Kannada, SCX_Nandinagari, SCX_Oriya, SCX_Telugu, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_33[] = { SCX_Devanagari, SCX_Grantha, SCX_Kannada }; static const SCX_enum SCX_AUX_TABLE_34[] = { SCX_Cyrillic, SCX_Syriac }; static const SCX_enum SCX_AUX_TABLE_35[] = { SCX_Latin, SCX_Mongolian }; static const SCX_enum SCX_AUX_TABLE_36[] = { SCX_Devanagari, SCX_Grantha, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_37[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_38[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore, SCX_Yi }; static const SCX_enum SCX_AUX_TABLE_39[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Hangul, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_40[] = { SCX_Bopomofo, SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_41[] = { SCX_Hiragana, SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_42[] = { SCX_Han, SCX_Hanb, SCX_Hiragana, SCX_Jpan, SCX_Katakana, SCX_Kore }; static const SCX_enum SCX_AUX_TABLE_43[] = { SCX_Hiragana, SCX_Jpan }; static const SCX_enum SCX_AUX_TABLE_44[] = { SCX_Jpan, SCX_Katakana }; static const SCX_enum SCX_AUX_TABLE_45[] = { SCX_Han, SCX_Hanb, SCX_Jpan, SCX_Kore, SCX_Latin }; static const SCX_enum SCX_AUX_TABLE_46[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Malayalam, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_47[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Kannada, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Nandinagari, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_48[] = { SCX_Devanagari, SCX_Dogra, SCX_Gujarati, SCX_Gurmukhi, SCX_Kaithi, SCX_Khojki, SCX_Khudawadi, SCX_Mahajani, SCX_Modi, SCX_Takri, SCX_Tirhuta }; static const SCX_enum SCX_AUX_TABLE_49[] = { SCX_Devanagari, SCX_Tamil }; static const SCX_enum SCX_AUX_TABLE_50[] = { SCX_Kayah_Li, SCX_Latin, SCX_Myanmar }; static const SCX_enum SCX_AUX_TABLE_51[] = { SCX_Buginese, SCX_Javanese }; static const SCX_enum SCX_AUX_TABLE_52[] = { SCX_Arabic, SCX_Thaana }; static const SCX_enum SCX_AUX_TABLE_53[] = { SCX_Cypriot, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_54[] = { SCX_Cypriot, SCX_Linear_A, SCX_Linear_B }; static const SCX_enum SCX_AUX_TABLE_55[] = { SCX_Arabic, SCX_Coptic }; static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ SCX_AUX_TABLE_1, SCX_AUX_TABLE_2, SCX_AUX_TABLE_3, SCX_AUX_TABLE_4, SCX_AUX_TABLE_5, SCX_AUX_TABLE_6, SCX_AUX_TABLE_7, SCX_AUX_TABLE_8, SCX_AUX_TABLE_9, SCX_AUX_TABLE_10, SCX_AUX_TABLE_11, SCX_AUX_TABLE_12, SCX_AUX_TABLE_13, SCX_AUX_TABLE_14, SCX_AUX_TABLE_15, SCX_AUX_TABLE_16, SCX_AUX_TABLE_17, SCX_AUX_TABLE_18, SCX_AUX_TABLE_19, SCX_AUX_TABLE_20, SCX_AUX_TABLE_21, SCX_AUX_TABLE_22, SCX_AUX_TABLE_23, SCX_AUX_TABLE_24, SCX_AUX_TABLE_25, SCX_AUX_TABLE_26, SCX_AUX_TABLE_27, SCX_AUX_TABLE_28, SCX_AUX_TABLE_29, SCX_AUX_TABLE_30, SCX_AUX_TABLE_31, SCX_AUX_TABLE_32, SCX_AUX_TABLE_33, SCX_AUX_TABLE_34, SCX_AUX_TABLE_35, SCX_AUX_TABLE_36, SCX_AUX_TABLE_37, SCX_AUX_TABLE_38, SCX_AUX_TABLE_39, SCX_AUX_TABLE_40, SCX_AUX_TABLE_41, SCX_AUX_TABLE_42, SCX_AUX_TABLE_43, SCX_AUX_TABLE_44, SCX_AUX_TABLE_45, SCX_AUX_TABLE_46, SCX_AUX_TABLE_47, SCX_AUX_TABLE_48, SCX_AUX_TABLE_49, SCX_AUX_TABLE_50, SCX_AUX_TABLE_51, SCX_AUX_TABLE_52, SCX_AUX_TABLE_53, SCX_AUX_TABLE_54, SCX_AUX_TABLE_55 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 SCX_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* SCX_AUX_TABLE_1 */, 2 /* SCX_AUX_TABLE_2 */, 2 /* SCX_AUX_TABLE_3 */, 2 /* SCX_AUX_TABLE_4 */, 5 /* SCX_AUX_TABLE_5 */, 3 /* SCX_AUX_TABLE_6 */, 8 /* SCX_AUX_TABLE_7 */, 2 /* SCX_AUX_TABLE_8 */, 3 /* SCX_AUX_TABLE_9 */, 2 /* SCX_AUX_TABLE_10 */, 13 /* SCX_AUX_TABLE_11 */, 12 /* SCX_AUX_TABLE_12 */, 20 /* SCX_AUX_TABLE_13 */, 21 /* SCX_AUX_TABLE_14 */, 4 /* SCX_AUX_TABLE_15 */, 3 /* SCX_AUX_TABLE_16 */, 2 /* SCX_AUX_TABLE_17 */, 2 /* SCX_AUX_TABLE_18 */, 2 /* SCX_AUX_TABLE_19 */, 2 /* SCX_AUX_TABLE_20 */, 3 /* SCX_AUX_TABLE_21 */, 2 /* SCX_AUX_TABLE_22 */, 2 /* SCX_AUX_TABLE_23 */, 4 /* SCX_AUX_TABLE_24 */, 2 /* SCX_AUX_TABLE_25 */, 4 /* SCX_AUX_TABLE_26 */, 2 /* SCX_AUX_TABLE_27 */, 2 /* SCX_AUX_TABLE_28 */, 2 /* SCX_AUX_TABLE_29 */, 6 /* SCX_AUX_TABLE_30 */, 2 /* SCX_AUX_TABLE_31 */, 8 /* SCX_AUX_TABLE_32 */, 3 /* SCX_AUX_TABLE_33 */, 2 /* SCX_AUX_TABLE_34 */, 2 /* SCX_AUX_TABLE_35 */, 3 /* SCX_AUX_TABLE_36 */, 4 /* SCX_AUX_TABLE_37 */, 9 /* SCX_AUX_TABLE_38 */, 8 /* SCX_AUX_TABLE_39 */, 5 /* SCX_AUX_TABLE_40 */, 3 /* SCX_AUX_TABLE_41 */, 6 /* SCX_AUX_TABLE_42 */, 2 /* SCX_AUX_TABLE_43 */, 2 /* SCX_AUX_TABLE_44 */, 5 /* SCX_AUX_TABLE_45 */, 14 /* SCX_AUX_TABLE_46 */, 13 /* SCX_AUX_TABLE_47 */, 11 /* SCX_AUX_TABLE_48 */, 2 /* SCX_AUX_TABLE_49 */, 3 /* SCX_AUX_TABLE_50 */, 2 /* SCX_AUX_TABLE_51 */, 2 /* SCX_AUX_TABLE_52 */, 2 /* SCX_AUX_TABLE_53 */, 3 /* SCX_AUX_TABLE_54 */, 2 /* SCX_AUX_TABLE_55 */ }; /* This table, indexed by the script enum, gives the zero code point for that * script; 0 if the script has multiple digit sequences. Scripts without a * digit sequence use ASCII [0-9], hence are marked '0' */ static const UV script_zeros[] = { '0', /* Unknown */ 0x1e950, /* Adlam */ 0x11730, /* Ahom */ '0', /* Anatolian_Hieroglyphs */ 0, /* Arabic */ '0', /* Armenian */ '0', /* Avestan */ 0x1b50, /* Balinese */ '0', /* Bamum */ '0', /* Bassa_Vah */ '0', /* Batak */ 0x9e6, /* Bengali */ 0x11c50, /* Bhaiksuki */ '0', /* Bopomofo */ 0x11066, /* Brahmi */ '0', /* Braille */ '0', /* Buginese */ '0', /* Buhid */ '0', /* Canadian_Aboriginal */ '0', /* Carian */ '0', /* Caucasian_Albanian */ 0, /* Chakma */ 0xaa50, /* Cham */ '0', /* Cherokee */ '0', /* Chorasmian */ 0, /* Common */ '0', /* Coptic */ '0', /* Cuneiform */ '0', /* Cypriot */ '0', /* Cyrillic */ '0', /* Deseret */ 0x966, /* Devanagari */ 0x11950, /* Dives_Akuru */ 0x966, /* Dogra */ '0', /* Duployan */ '0', /* Egyptian_Hieroglyphs */ '0', /* Elbasan */ '0', /* Elymaic */ '0', /* Ethiopic */ '0', /* Georgian */ '0', /* Glagolitic */ '0', /* Gothic */ 0xbe6, /* Grantha */ '0', /* Greek */ 0xae6, /* Gujarati */ 0x11da0, /* Gunjala_Gondi */ 0xa66, /* Gurmukhi */ '0', /* Han */ '0', /* Hanb */ '0', /* Hangul */ 0x10d30, /* Hanifi_Rohingya */ '0', /* Hanunoo */ '0', /* Hatran */ '0', /* Hebrew */ '0', /* Hiragana */ '0', /* Imperial_Aramaic */ 0, /* Inherited */ '0', /* Inscriptional_Pahlavi */ '0', /* Inscriptional_Parthian */ '0', /* INVALID */ 0xa9d0, /* Javanese */ '0', /* Jpan */ 0x966, /* Kaithi */ 0xce6, /* Kannada */ '0', /* Katakana */ 0xa900, /* Kayah_Li */ '0', /* Kharoshthi */ '0', /* Khitan_Small_Script */ 0x17e0, /* Khmer */ 0xae6, /* Khojki */ 0x112f0, /* Khudawadi */ '0', /* Kore */ 0xed0, /* Lao */ '0', /* Latin */ 0x1c40, /* Lepcha */ 0x1946, /* Limbu */ '0', /* Linear_A */ '0', /* Linear_B */ '0', /* Lisu */ '0', /* Lycian */ '0', /* Lydian */ 0x966, /* Mahajani */ '0', /* Makasar */ 0xd66, /* Malayalam */ '0', /* Mandaic */ '0', /* Manichaean */ '0', /* Marchen */ 0x11d50, /* Masaram_Gondi */ '0', /* Medefaidrin */ 0xabf0, /* Meetei_Mayek */ '0', /* Mende_Kikakui */ '0', /* Meroitic_Cursive */ '0', /* Meroitic_Hieroglyphs */ '0', /* Miao */ 0x11650, /* Modi */ 0x1810, /* Mongolian */ 0x16a60, /* Mro */ 0xa66, /* Multani */ 0, /* Myanmar */ '0', /* Nabataean */ 0xce6, /* Nandinagari */ 0x19d0, /* New_Tai_Lue */ 0x11450, /* Newa */ 0x7c0, /* Nko */ '0', /* Nushu */ 0x1e140, /* Nyiakeng_Puachue_Hmong */ '0', /* Ogham */ 0x1c50, /* Ol_Chiki */ '0', /* Old_Hungarian */ '0', /* Old_Italic */ '0', /* Old_North_Arabian */ '0', /* Old_Permic */ '0', /* Old_Persian */ '0', /* Old_Sogdian */ '0', /* Old_South_Arabian */ '0', /* Old_Turkic */ 0xb66, /* Oriya */ '0', /* Osage */ 0x104a0, /* Osmanya */ 0x16b50, /* Pahawh_Hmong */ '0', /* Palmyrene */ '0', /* Pau_Cin_Hau */ '0', /* Phags_Pa */ '0', /* Phoenician */ '0', /* Psalter_Pahlavi */ '0', /* Rejang */ '0', /* Runic */ '0', /* Samaritan */ 0xa8d0, /* Saurashtra */ 0x111d0, /* Sharada */ '0', /* Shavian */ '0', /* Siddham */ '0', /* SignWriting */ 0xde6, /* Sinhala */ '0', /* Sogdian */ 0x110f0, /* Sora_Sompeng */ '0', /* Soyombo */ 0x1bb0, /* Sundanese */ 0x9e6, /* Syloti_Nagri */ '0', /* Syriac */ '0', /* Tagalog */ '0', /* Tagbanwa */ 0x1040, /* Tai_Le */ 0, /* Tai_Tham */ '0', /* Tai_Viet */ 0x116c0, /* Takri */ 0xbe6, /* Tamil */ '0', /* Tangut */ 0xc66, /* Telugu */ 0x660, /* Thaana */ 0xe50, /* Thai */ 0xf20, /* Tibetan */ '0', /* Tifinagh */ 0x114d0, /* Tirhuta */ '0', /* Ugaritic */ 0xa620, /* Vai */ 0x1e2f0, /* Wancho */ 0x118e0, /* Warang_Citi */ 0x660 /* Yezidi */ }; static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */ SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_1, SCX_Common, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Greek, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Common, SCX_Greek, SCX_Common, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Coptic, SCX_Greek, SCX_Cyrillic, SCX_use_AUX_TABLE_2, SCX_use_AUX_TABLE_3, SCX_use_AUX_TABLE_4, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_use_AUX_TABLE_6, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_5, SCX_Arabic, SCX_use_AUX_TABLE_7, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_9, SCX_Arabic, SCX_use_AUX_TABLE_8, SCX_Arabic, SCX_use_AUX_TABLE_10, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Syriac, SCX_Arabic, SCX_Thaana, SCX_Unknown, SCX_Nko, SCX_Unknown, SCX_Nko, SCX_Samaritan, SCX_Unknown, SCX_Samaritan, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Mandaic, SCX_Unknown, SCX_Syriac, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Arabic, SCX_Devanagari, SCX_use_AUX_TABLE_11, SCX_use_AUX_TABLE_12, SCX_Inherited, SCX_Devanagari, SCX_use_AUX_TABLE_13, SCX_use_AUX_TABLE_14, SCX_use_AUX_TABLE_15, SCX_Devanagari, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_Bengali, SCX_Unknown, SCX_use_AUX_TABLE_16, SCX_Bengali, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_Gurmukhi, SCX_Unknown, SCX_use_AUX_TABLE_17, SCX_Gurmukhi, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_use_AUX_TABLE_18, SCX_Gujarati, SCX_Unknown, SCX_Gujarati, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Oriya, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Unknown, SCX_Telugu, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_use_AUX_TABLE_20, SCX_Unknown, SCX_Kannada, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Malayalam, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Thai, SCX_Unknown, SCX_Common, SCX_Thai, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Lao, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Unknown, SCX_Tibetan, SCX_Common, SCX_Tibetan, SCX_Unknown, SCX_Myanmar, SCX_use_AUX_TABLE_21, SCX_Myanmar, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_use_AUX_TABLE_22, SCX_Georgian, SCX_use_AUX_TABLE_23, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Cherokee, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Ogham, SCX_Unknown, SCX_Runic, SCX_Common, SCX_Runic, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Tagalog, SCX_Unknown, SCX_Hanunoo, SCX_use_AUX_TABLE_24, SCX_Unknown, SCX_Buhid, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Tagbanwa, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Khmer, SCX_Unknown, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_use_AUX_TABLE_25, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Canadian_Aboriginal, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Unknown, SCX_Limbu, SCX_Tai_Le, SCX_Unknown, SCX_Tai_Le, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Unknown, SCX_New_Tai_Lue, SCX_Khmer, SCX_Buginese, SCX_Unknown, SCX_Buginese, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Tai_Tham, SCX_Unknown, SCX_Inherited, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Balinese, SCX_Unknown, SCX_Sundanese, SCX_Batak, SCX_Unknown, SCX_Batak, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Unknown, SCX_Lepcha, SCX_Ol_Chiki, SCX_Cyrillic, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Sundanese, SCX_Unknown, SCX_use_AUX_TABLE_26, SCX_Devanagari, SCX_use_AUX_TABLE_26, SCX_use_AUX_TABLE_27, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_30, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_Devanagari, SCX_use_AUX_TABLE_29, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_31, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_32, SCX_use_AUX_TABLE_27, SCX_use_AUX_TABLE_33, SCX_use_AUX_TABLE_28, SCX_Bengali, SCX_use_AUX_TABLE_27, SCX_Nandinagari, SCX_Unknown, SCX_Latin, SCX_Greek, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Cyrillic, SCX_Latin, SCX_Greek, SCX_Inherited, SCX_use_AUX_TABLE_34, SCX_Inherited, SCX_Unknown, SCX_Inherited, SCX_Latin, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_use_AUX_TABLE_35, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_use_AUX_TABLE_36, SCX_Unknown, SCX_Common, SCX_Greek, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Braille, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Latin, SCX_Coptic, SCX_Unknown, SCX_Coptic, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Georgian, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Unknown, SCX_Tifinagh, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_3, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_38, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_39, SCX_Common, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_40, SCX_use_AUX_TABLE_23, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_41, SCX_Common, SCX_use_AUX_TABLE_39, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_42, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_43, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_use_AUX_TABLE_1, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_1, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_23, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Common, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Yi, SCX_Unknown, SCX_Lisu, SCX_Vai, SCX_Unknown, SCX_Cyrillic, SCX_use_AUX_TABLE_3, SCX_Cyrillic, SCX_Bamum, SCX_Unknown, SCX_use_AUX_TABLE_45, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Latin, SCX_Syloti_Nagri, SCX_Unknown, SCX_use_AUX_TABLE_46, SCX_use_AUX_TABLE_47, SCX_use_AUX_TABLE_48, SCX_Unknown, SCX_Phags_Pa, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Saurashtra, SCX_Unknown, SCX_Devanagari, SCX_use_AUX_TABLE_28, SCX_Devanagari, SCX_use_AUX_TABLE_49, SCX_Devanagari, SCX_Kayah_Li, SCX_use_AUX_TABLE_50, SCX_Kayah_Li, SCX_Rejang, SCX_Unknown, SCX_Rejang, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Javanese, SCX_Unknown, SCX_use_AUX_TABLE_51, SCX_Javanese, SCX_Unknown, SCX_Javanese, SCX_Myanmar, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Unknown, SCX_Cham, SCX_Myanmar, SCX_Tai_Viet, SCX_Unknown, SCX_Tai_Viet, SCX_Meetei_Mayek, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Ethiopic, SCX_Unknown, SCX_Latin, SCX_Common, SCX_Latin, SCX_Greek, SCX_Latin, SCX_Common, SCX_Unknown, SCX_Cherokee, SCX_Meetei_Mayek, SCX_Unknown, SCX_Meetei_Mayek, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Latin, SCX_Unknown, SCX_Armenian, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Unknown, SCX_Hebrew, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Arabic, SCX_use_AUX_TABLE_52, SCX_Unknown, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Cyrillic, SCX_Common, SCX_use_AUX_TABLE_39, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Latin, SCX_Common, SCX_Latin, SCX_Common, SCX_use_AUX_TABLE_38, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_41, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_use_AUX_TABLE_23, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_Linear_B, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Unknown, SCX_use_AUX_TABLE_54, SCX_Unknown, SCX_use_AUX_TABLE_53, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Unknown, SCX_Lycian, SCX_Unknown, SCX_Carian, SCX_Unknown, SCX_use_AUX_TABLE_55, SCX_Unknown, SCX_Old_Italic, SCX_Unknown, SCX_Old_Italic, SCX_Gothic, SCX_Unknown, SCX_Old_Permic, SCX_Unknown, SCX_Ugaritic, SCX_Unknown, SCX_Ugaritic, SCX_Old_Persian, SCX_Unknown, SCX_Old_Persian, SCX_Unknown, SCX_Deseret, SCX_Shavian, SCX_Osmanya, SCX_Unknown, SCX_Osmanya, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Osage, SCX_Unknown, SCX_Elbasan, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Caucasian_Albanian, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Linear_A, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Unknown, SCX_Cypriot, SCX_Imperial_Aramaic, SCX_Unknown, SCX_Imperial_Aramaic, SCX_Palmyrene, SCX_Nabataean, SCX_Unknown, SCX_Nabataean, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Unknown, SCX_Hatran, SCX_Phoenician, SCX_Unknown, SCX_Phoenician, SCX_Lydian, SCX_Unknown, SCX_Lydian, SCX_Unknown, SCX_Meroitic_Hieroglyphs, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Unknown, SCX_Meroitic_Cursive, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Kharoshthi, SCX_Unknown, SCX_Old_South_Arabian, SCX_Old_North_Arabian, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Manichaean, SCX_Unknown, SCX_Avestan, SCX_Unknown, SCX_Avestan, SCX_Inscriptional_Parthian, SCX_Unknown, SCX_Inscriptional_Parthian, SCX_Inscriptional_Pahlavi, SCX_Unknown, SCX_Inscriptional_Pahlavi, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Psalter_Pahlavi, SCX_Unknown, SCX_Old_Turkic, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Unknown, SCX_Old_Hungarian, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Hanifi_Rohingya, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Yezidi, SCX_Unknown, SCX_Old_Sogdian, SCX_Unknown, SCX_Sogdian, SCX_Unknown, SCX_Chorasmian, SCX_Unknown, SCX_Elymaic, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Unknown, SCX_Brahmi, SCX_Kaithi, SCX_Unknown, SCX_Kaithi, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Sora_Sompeng, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Chakma, SCX_Unknown, SCX_Mahajani, SCX_Unknown, SCX_Sharada, SCX_Unknown, SCX_Sinhala, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Khojki, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Multani, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Khudawadi, SCX_Unknown, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_use_AUX_TABLE_19, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_use_AUX_TABLE_19, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Grantha, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Newa, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Tirhuta, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Siddham, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Modi, SCX_Unknown, SCX_Mongolian, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Takri, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Ahom, SCX_Unknown, SCX_Dogra, SCX_Unknown, SCX_Warang_Citi, SCX_Unknown, SCX_Warang_Citi, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Dives_Akuru, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Nandinagari, SCX_Unknown, SCX_Zanabazar_Square, SCX_Unknown, SCX_Soyombo, SCX_Unknown, SCX_Pau_Cin_Hau, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Bhaiksuki, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Marchen, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Masaram_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Gunjala_Gondi, SCX_Unknown, SCX_Makasar, SCX_Unknown, SCX_Lisu, SCX_Unknown, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_use_AUX_TABLE_19, SCX_Tamil, SCX_Unknown, SCX_Tamil, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Cuneiform, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Egyptian_Hieroglyphs, SCX_Unknown, SCX_Anatolian_Hieroglyphs, SCX_Unknown, SCX_Bamum, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Mro, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Bassa_Vah, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Pahawh_Hmong, SCX_Unknown, SCX_Medefaidrin, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Miao, SCX_Unknown, SCX_Tangut, SCX_Nushu, SCX_Common, SCX_Khitan_Small_Script, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_Tangut, SCX_Khitan_Small_Script, SCX_Unknown, SCX_Tangut, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_43, SCX_Unknown, SCX_use_AUX_TABLE_44, SCX_Unknown, SCX_Nushu, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Duployan, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Inherited, SCX_Common, SCX_Unknown, SCX_Greek, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_SignWriting, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Glagolitic, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Nyiakeng_Puachue_Hmong, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Wancho, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Mende_Kikakui, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Adlam, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Arabic, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_use_AUX_TABLE_43, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_use_AUX_TABLE_37, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Common, SCX_Unknown, SCX_Inherited, SCX_Unknown }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */ 1884, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0xB, 0xD, 0xE, 0x20, 0x21, 0x22, 0x23, 0x27, 0x28, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x3A, 0x3B, 0x3C, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0x85, 0x86, 0xA0, 0xA1, 0xA9, 0xAA, 0xAB, 0xAD, 0xAE, 0xAF, 0xB5, 0xB6, 0xB7, 0xB8, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x5F4, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66C, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x203C, 0x203D, 0x203F, 0x2041, 0x2044, 0x2045, 0x2049, 0x204A, 0x2054, 0x2055, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24B6, 0x24C2, 0x24C3, 0x24EA, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x303E, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3297, 0x3298, 0x3299, 0x329A, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE14, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F16C, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18A, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 65 /* ASCII/Latin1 */ typedef enum { WB_Other = 0, WB_CR = 1, WB_Double_Quote = 2, WB_EDGE = 3, WB_ExtPict_LE = 4, WB_ExtPict_XX = 5, WB_ExtendNumLet = 6, WB_Extend = 7, WB_Format = 8, WB_Hebrew_Letter = 9, WB_Perl_Tailored_HSpace = 10, WB_Katakana = 11, WB_ALetter = 12, WB_LF = 13, WB_MidNumLet = 14, WB_MidLetter = 15, WB_MidNum = 16, WB_Newline = 17, WB_Numeric = 18, WB_Regional_Indicator = 19, WB_Single_Quote = 20, WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, WB_Glue_After_Zwj = 22, WB_UNKNOWN = 22 } WB_enum; static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */ WB_Other, WB_Perl_Tailored_HSpace, WB_LF, WB_Newline, WB_CR, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Double_Quote, WB_Other, WB_Single_Quote, WB_Other, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_Numeric, WB_MidLetter, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_Newline, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_ExtPict_XX, WB_ALetter, WB_Other, WB_Format, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_MidLetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_MidLetter, WB_Other, WB_Format, WB_Other, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_MidNum, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Format, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Perl_Tailored_HSpace, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Format, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Extend, WB_ZWJ, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNumLet, WB_Other, WB_MidLetter, WB_Newline, WB_Format, WB_ExtendNumLet, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_Perl_Tailored_HSpace, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Hebrew_Letter, WB_Extend, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_MidNum, WB_Other, WB_MidLetter, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_ExtendNumLet, WB_Other, WB_ExtendNumLet, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_MidLetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_Numeric, WB_MidLetter, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_ExtPict_LE, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Extend, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Numeric, WB_Other, WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */ 1907, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x5E, 0x5F, 0x62, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB3, 0xB4, 0xB5, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFA, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x5F4, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66C, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x203C, 0x203D, 0x203F, 0x2041, 0x2044, 0x2045, 0x2049, 0x204A, 0x2054, 0x2055, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24B6, 0x24C2, 0x24C3, 0x24EA, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x303E, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3297, 0x3298, 0x3299, 0x329A, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE14, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F16C, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18A, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 typedef enum { WB_Other = 0, WB_CR = 1, WB_Double_Quote = 2, WB_EDGE = 3, WB_ExtPict_LE = 4, WB_ExtPict_XX = 5, WB_ExtendNumLet = 6, WB_Extend = 7, WB_Format = 8, WB_Hebrew_Letter = 9, WB_Perl_Tailored_HSpace = 10, WB_Katakana = 11, WB_ALetter = 12, WB_LF = 13, WB_MidNumLet = 14, WB_MidLetter = 15, WB_MidNum = 16, WB_Newline = 17, WB_Numeric = 18, WB_Regional_Indicator = 19, WB_Single_Quote = 20, WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, WB_Glue_After_Zwj = 22, WB_UNKNOWN = 22 } WB_enum; static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */ WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Newline, WB_CR, WB_Other, WB_LF, WB_Other, WB_Newline, WB_Other, WB_Perl_Tailored_HSpace, WB_ALetter, WB_Other, WB_MidNumLet, WB_Other, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_MidLetter, WB_Other, WB_Single_Quote, WB_Other, WB_Double_Quote, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_ExtPict_XX, WB_Other, WB_MidLetter, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Format, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_MidLetter, WB_Other, WB_Format, WB_Other, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_MidNum, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Format, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Perl_Tailored_HSpace, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Format, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Extend, WB_ZWJ, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNumLet, WB_Other, WB_MidLetter, WB_Newline, WB_Format, WB_ExtendNumLet, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_Perl_Tailored_HSpace, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Hebrew_Letter, WB_Extend, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_MidNum, WB_Other, WB_MidLetter, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_ExtendNumLet, WB_Other, WB_ExtendNumLet, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_MidLetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_Numeric, WB_MidLetter, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_ExtPict_LE, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Extend, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Numeric, WB_Other, WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */ 1903, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x5E, 0x5F, 0x62, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB0, 0xB3, 0xB4, 0xB5, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFA, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x5F4, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x64B, 0x660, 0x66A, 0x66B, 0x66C, 0x66D, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x859, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x966, 0x970, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E4, 0x9E6, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC64, 0xC66, 0xC70, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD62, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1715, 0x1720, 0x1732, 0x1735, 0x1740, 0x1752, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BF4, 0x1C00, 0x1C24, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x200B, 0x200C, 0x200D, 0x200E, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2030, 0x203C, 0x203D, 0x203F, 0x2041, 0x2044, 0x2045, 0x2049, 0x204A, 0x2054, 0x2055, 0x205F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2122, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24B6, 0x24C2, 0x24C3, 0x24EA, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x303E, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3297, 0x3298, 0x3299, 0x329A, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA900, 0xA90A, 0xA926, 0xA92E, 0xA930, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9CF, 0xA9D0, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA29, 0xAA37, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAEB, 0xAAF0, 0xAAF2, 0xAAF5, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE11, 0xFE13, 0xFE14, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE55, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1A, 0xFF1B, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11003, 0x11038, 0x11047, 0x11066, 0x11070, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11103, 0x11127, 0x11135, 0x11136, 0x11140, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11176, 0x11177, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11435, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DC, 0x115DE, 0x11600, 0x11630, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1182C, 0x1183B, 0x118A0, 0x118E0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F16C, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18A, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 typedef enum { WB_Other = 0, WB_CR = 1, WB_Double_Quote = 2, WB_EDGE = 3, WB_ExtPict_LE = 4, WB_ExtPict_XX = 5, WB_ExtendNumLet = 6, WB_Extend = 7, WB_Format = 8, WB_Hebrew_Letter = 9, WB_Perl_Tailored_HSpace = 10, WB_Katakana = 11, WB_ALetter = 12, WB_LF = 13, WB_MidNumLet = 14, WB_MidLetter = 15, WB_MidNum = 16, WB_Newline = 17, WB_Numeric = 18, WB_Regional_Indicator = 19, WB_Single_Quote = 20, WB_ZWJ = 21, WB_E_Base = 22, WB_E_Base_GAZ = 22, WB_E_Modifier = 22, WB_Glue_After_Zwj = 22, WB_UNKNOWN = 22 } WB_enum; static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */ WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Newline, WB_CR, WB_Other, WB_Newline, WB_Other, WB_LF, WB_Other, WB_Perl_Tailored_HSpace, WB_ALetter, WB_Other, WB_MidNumLet, WB_Other, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_MidLetter, WB_Other, WB_Single_Quote, WB_Other, WB_Double_Quote, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_ExtPict_XX, WB_Other, WB_MidLetter, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Format, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_MidLetter, WB_ALetter, WB_MidNum, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_MidLetter, WB_Other, WB_Format, WB_Other, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_MidNum, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Format, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Perl_Tailored_HSpace, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Format, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_Extend, WB_ZWJ, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNumLet, WB_Other, WB_MidLetter, WB_Newline, WB_Format, WB_ExtendNumLet, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_MidNum, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtendNumLet, WB_Other, WB_Perl_Tailored_HSpace, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Perl_Tailored_HSpace, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ExtPict_XX, WB_Katakana, WB_Other, WB_ALetter, WB_ExtPict_XX, WB_Other, WB_Extend, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Hebrew_Letter, WB_Extend, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_Other, WB_Hebrew_Letter, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_MidNum, WB_Other, WB_MidLetter, WB_MidNum, WB_Other, WB_Extend, WB_Other, WB_ExtendNumLet, WB_Other, WB_ExtendNumLet, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_MidLetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_MidNumLet, WB_Other, WB_MidNum, WB_Other, WB_MidNumLet, WB_Other, WB_Numeric, WB_MidLetter, WB_MidNum, WB_Other, WB_ALetter, WB_Other, WB_ExtendNumLet, WB_Other, WB_ALetter, WB_Other, WB_Katakana, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Numeric, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Format, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Katakana, WB_Other, WB_Katakana, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Format, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Extend, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_Extend, WB_Other, WB_ALetter, WB_Extend, WB_ALetter, WB_Other, WB_Numeric, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_ALetter, WB_Other, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_ExtPict_LE, WB_ALetter, WB_ExtPict_LE, WB_ALetter, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Regional_Indicator, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Extend, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_ExtPict_XX, WB_Other, WB_Numeric, WB_Other, WB_ExtPict_XX, WB_Other, WB_Format, WB_Other, WB_Extend, WB_Other, WB_Extend, WB_Other }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_REGEXEC_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV Simple_Case_Folding_invlist[] = { /* for ASCII/Latin1 */ 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ static const I32 Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */ 0, 0x61, 0, 0x3BC, 0, 0xE0, 0, 0xF8, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xFF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0x73, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0x1E61, 0, 0xDF, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x3B9, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x6B, 0xE5, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 1047 */ 1309, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const I32 Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */ 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x3BC, 0, 0x8C, 0, 0x8E, 0, 0x8D, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0xA2, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0x1E61, 0, 0x59, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x3B9, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 037 */ 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188, 0x189, 0x18B, 0x18C, 0x18E, 0x18F, 0x190, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19C, 0x19D, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1AF, 0x1B0, 0x1B1, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23B, 0x23C, 0x23D, 0x23E, 0x23F, 0x241, 0x242, 0x243, 0x244, 0x245, 0x246, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F4, 0x3F5, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FA, 0x3FB, 0x3FD, 0x400, 0x410, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C1, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9B, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBA, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD8, 0x1FDA, 0x1FDC, 0x1FE8, 0x1FEA, 0x1FEC, 0x1FED, 0x1FF8, 0x1FFA, 0x1FFC, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212B, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0x2C6F, 0x2C70, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77E, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AB, 0xA7AC, 0xA7AD, 0xA7AE, 0xA7AF, 0xA7B0, 0xA7B1, 0xA7B2, 0xA7B3, 0xA7B4, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C5, 0xA7C6, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const I32 Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */ 0, 0x42, 0, 0x51, 0, 0x70, 0, 0x9C, 0, 0x3BC, 0, 0x8C, 0, 0x81, 0, 0x91, 0, 0xA2, 0, 0xCB, 0, 0xDB, 0, 0x101, 0, 0x103, 0, 0x105, 0, 0x107, 0, 0x109, 0, 0x10B, 0, 0x10D, 0, 0x10F, 0, 0x111, 0, 0x113, 0, 0x115, 0, 0x117, 0, 0x119, 0, 0x11B, 0, 0x11D, 0, 0x11F, 0, 0x121, 0, 0x123, 0, 0x125, 0, 0x127, 0, 0x129, 0, 0x12B, 0, 0x12D, 0, 0x12F, 0, 0x133, 0, 0x135, 0, 0x137, 0, 0x13A, 0, 0x13C, 0, 0x13E, 0, 0x140, 0, 0x142, 0, 0x144, 0, 0x146, 0, 0x148, 0, 0x14B, 0, 0x14D, 0, 0x14F, 0, 0x151, 0, 0x153, 0, 0x155, 0, 0x157, 0, 0x159, 0, 0x15B, 0, 0x15D, 0, 0x15F, 0, 0x161, 0, 0x163, 0, 0x165, 0, 0x167, 0, 0x169, 0, 0x16B, 0, 0x16D, 0, 0x16F, 0, 0x171, 0, 0x173, 0, 0x175, 0, 0x177, 0, 0xDF, 0x17A, 0, 0x17C, 0, 0x17E, 0, 0xA2, 0, 0x253, 0x183, 0, 0x185, 0, 0x254, 0x188, 0, 0x256, 0x18C, 0, 0x1DD, 0x259, 0x25B, 0x192, 0, 0x260, 0x263, 0, 0x269, 0x268, 0x199, 0, 0x26F, 0x272, 0, 0x275, 0x1A1, 0, 0x1A3, 0, 0x1A5, 0, 0x280, 0x1A8, 0, 0x283, 0, 0x1AD, 0, 0x288, 0x1B0, 0, 0x28A, 0x1B4, 0, 0x1B6, 0, 0x292, 0x1B9, 0, 0x1BD, 0, 0x1C6, 0x1C6, 0, 0x1C9, 0x1C9, 0, 0x1CC, 0x1CC, 0, 0x1CE, 0, 0x1D0, 0, 0x1D2, 0, 0x1D4, 0, 0x1D6, 0, 0x1D8, 0, 0x1DA, 0, 0x1DC, 0, 0x1DF, 0, 0x1E1, 0, 0x1E3, 0, 0x1E5, 0, 0x1E7, 0, 0x1E9, 0, 0x1EB, 0, 0x1ED, 0, 0x1EF, 0, 0x1F3, 0x1F3, 0, 0x1F5, 0, 0x195, 0x1BF, 0x1F9, 0, 0x1FB, 0, 0x1FD, 0, 0x1FF, 0, 0x201, 0, 0x203, 0, 0x205, 0, 0x207, 0, 0x209, 0, 0x20B, 0, 0x20D, 0, 0x20F, 0, 0x211, 0, 0x213, 0, 0x215, 0, 0x217, 0, 0x219, 0, 0x21B, 0, 0x21D, 0, 0x21F, 0, 0x19E, 0, 0x223, 0, 0x225, 0, 0x227, 0, 0x229, 0, 0x22B, 0, 0x22D, 0, 0x22F, 0, 0x231, 0, 0x233, 0, 0x2C65, 0x23C, 0, 0x19A, 0x2C66, 0, 0x242, 0, 0x180, 0x289, 0x28C, 0x247, 0, 0x249, 0, 0x24B, 0, 0x24D, 0, 0x24F, 0, 0x3B9, 0, 0x371, 0, 0x373, 0, 0x377, 0, 0x3F3, 0, 0x3AC, 0, 0x3AD, 0, 0x3CC, 0, 0x3CD, 0, 0x3B1, 0, 0x3C3, 0, 0x3C3, 0, 0x3D7, 0x3B2, 0x3B8, 0, 0x3C6, 0x3C0, 0, 0x3D9, 0, 0x3DB, 0, 0x3DD, 0, 0x3DF, 0, 0x3E1, 0, 0x3E3, 0, 0x3E5, 0, 0x3E7, 0, 0x3E9, 0, 0x3EB, 0, 0x3ED, 0, 0x3EF, 0, 0x3BA, 0x3C1, 0, 0x3B8, 0x3B5, 0, 0x3F8, 0, 0x3F2, 0x3FB, 0, 0x37B, 0x450, 0x430, 0, 0x461, 0, 0x463, 0, 0x465, 0, 0x467, 0, 0x469, 0, 0x46B, 0, 0x46D, 0, 0x46F, 0, 0x471, 0, 0x473, 0, 0x475, 0, 0x477, 0, 0x479, 0, 0x47B, 0, 0x47D, 0, 0x47F, 0, 0x481, 0, 0x48B, 0, 0x48D, 0, 0x48F, 0, 0x491, 0, 0x493, 0, 0x495, 0, 0x497, 0, 0x499, 0, 0x49B, 0, 0x49D, 0, 0x49F, 0, 0x4A1, 0, 0x4A3, 0, 0x4A5, 0, 0x4A7, 0, 0x4A9, 0, 0x4AB, 0, 0x4AD, 0, 0x4AF, 0, 0x4B1, 0, 0x4B3, 0, 0x4B5, 0, 0x4B7, 0, 0x4B9, 0, 0x4BB, 0, 0x4BD, 0, 0x4BF, 0, 0x4CF, 0x4C2, 0, 0x4C4, 0, 0x4C6, 0, 0x4C8, 0, 0x4CA, 0, 0x4CC, 0, 0x4CE, 0, 0x4D1, 0, 0x4D3, 0, 0x4D5, 0, 0x4D7, 0, 0x4D9, 0, 0x4DB, 0, 0x4DD, 0, 0x4DF, 0, 0x4E1, 0, 0x4E3, 0, 0x4E5, 0, 0x4E7, 0, 0x4E9, 0, 0x4EB, 0, 0x4ED, 0, 0x4EF, 0, 0x4F1, 0, 0x4F3, 0, 0x4F5, 0, 0x4F7, 0, 0x4F9, 0, 0x4FB, 0, 0x4FD, 0, 0x4FF, 0, 0x501, 0, 0x503, 0, 0x505, 0, 0x507, 0, 0x509, 0, 0x50B, 0, 0x50D, 0, 0x50F, 0, 0x511, 0, 0x513, 0, 0x515, 0, 0x517, 0, 0x519, 0, 0x51B, 0, 0x51D, 0, 0x51F, 0, 0x521, 0, 0x523, 0, 0x525, 0, 0x527, 0, 0x529, 0, 0x52B, 0, 0x52D, 0, 0x52F, 0, 0x561, 0, 0x2D00, 0, 0x2D27, 0, 0x2D2D, 0, 0x13F0, 0, 0x432, 0x434, 0x43E, 0x441, 0x442, 0x44A, 0x463, 0xA64B, 0, 0x10D0, 0, 0x10FD, 0, 0x1E01, 0, 0x1E03, 0, 0x1E05, 0, 0x1E07, 0, 0x1E09, 0, 0x1E0B, 0, 0x1E0D, 0, 0x1E0F, 0, 0x1E11, 0, 0x1E13, 0, 0x1E15, 0, 0x1E17, 0, 0x1E19, 0, 0x1E1B, 0, 0x1E1D, 0, 0x1E1F, 0, 0x1E21, 0, 0x1E23, 0, 0x1E25, 0, 0x1E27, 0, 0x1E29, 0, 0x1E2B, 0, 0x1E2D, 0, 0x1E2F, 0, 0x1E31, 0, 0x1E33, 0, 0x1E35, 0, 0x1E37, 0, 0x1E39, 0, 0x1E3B, 0, 0x1E3D, 0, 0x1E3F, 0, 0x1E41, 0, 0x1E43, 0, 0x1E45, 0, 0x1E47, 0, 0x1E49, 0, 0x1E4B, 0, 0x1E4D, 0, 0x1E4F, 0, 0x1E51, 0, 0x1E53, 0, 0x1E55, 0, 0x1E57, 0, 0x1E59, 0, 0x1E5B, 0, 0x1E5D, 0, 0x1E5F, 0, 0x1E61, 0, 0x1E63, 0, 0x1E65, 0, 0x1E67, 0, 0x1E69, 0, 0x1E6B, 0, 0x1E6D, 0, 0x1E6F, 0, 0x1E71, 0, 0x1E73, 0, 0x1E75, 0, 0x1E77, 0, 0x1E79, 0, 0x1E7B, 0, 0x1E7D, 0, 0x1E7F, 0, 0x1E81, 0, 0x1E83, 0, 0x1E85, 0, 0x1E87, 0, 0x1E89, 0, 0x1E8B, 0, 0x1E8D, 0, 0x1E8F, 0, 0x1E91, 0, 0x1E93, 0, 0x1E95, 0, 0x1E61, 0, 0x59, 0, 0x1EA1, 0, 0x1EA3, 0, 0x1EA5, 0, 0x1EA7, 0, 0x1EA9, 0, 0x1EAB, 0, 0x1EAD, 0, 0x1EAF, 0, 0x1EB1, 0, 0x1EB3, 0, 0x1EB5, 0, 0x1EB7, 0, 0x1EB9, 0, 0x1EBB, 0, 0x1EBD, 0, 0x1EBF, 0, 0x1EC1, 0, 0x1EC3, 0, 0x1EC5, 0, 0x1EC7, 0, 0x1EC9, 0, 0x1ECB, 0, 0x1ECD, 0, 0x1ECF, 0, 0x1ED1, 0, 0x1ED3, 0, 0x1ED5, 0, 0x1ED7, 0, 0x1ED9, 0, 0x1EDB, 0, 0x1EDD, 0, 0x1EDF, 0, 0x1EE1, 0, 0x1EE3, 0, 0x1EE5, 0, 0x1EE7, 0, 0x1EE9, 0, 0x1EEB, 0, 0x1EED, 0, 0x1EEF, 0, 0x1EF1, 0, 0x1EF3, 0, 0x1EF5, 0, 0x1EF7, 0, 0x1EF9, 0, 0x1EFB, 0, 0x1EFD, 0, 0x1EFF, 0, 0x1F00, 0, 0x1F10, 0, 0x1F20, 0, 0x1F30, 0, 0x1F40, 0, 0x1F51, 0, 0x1F53, 0, 0x1F55, 0, 0x1F57, 0, 0x1F60, 0, 0x1F80, 0, 0x1F90, 0, 0x1FA0, 0, 0x1FB0, 0x1F70, 0x1FB3, 0, 0x3B9, 0, 0x1F72, 0x1FC3, 0, 0x1FD0, 0x1F76, 0, 0x1FE0, 0x1F7A, 0x1FE5, 0, 0x1F78, 0x1F7C, 0x1FF3, 0, 0x3C9, 0, 0x92, 0x47, 0, 0x214E, 0, 0x2170, 0, 0x2184, 0, 0x24D0, 0, 0x2C30, 0, 0x2C61, 0, 0x26B, 0x1D7D, 0x27D, 0, 0x2C68, 0, 0x2C6A, 0, 0x2C6C, 0, 0x251, 0x271, 0x250, 0x252, 0, 0x2C73, 0, 0x2C76, 0, 0x23F, 0x2C81, 0, 0x2C83, 0, 0x2C85, 0, 0x2C87, 0, 0x2C89, 0, 0x2C8B, 0, 0x2C8D, 0, 0x2C8F, 0, 0x2C91, 0, 0x2C93, 0, 0x2C95, 0, 0x2C97, 0, 0x2C99, 0, 0x2C9B, 0, 0x2C9D, 0, 0x2C9F, 0, 0x2CA1, 0, 0x2CA3, 0, 0x2CA5, 0, 0x2CA7, 0, 0x2CA9, 0, 0x2CAB, 0, 0x2CAD, 0, 0x2CAF, 0, 0x2CB1, 0, 0x2CB3, 0, 0x2CB5, 0, 0x2CB7, 0, 0x2CB9, 0, 0x2CBB, 0, 0x2CBD, 0, 0x2CBF, 0, 0x2CC1, 0, 0x2CC3, 0, 0x2CC5, 0, 0x2CC7, 0, 0x2CC9, 0, 0x2CCB, 0, 0x2CCD, 0, 0x2CCF, 0, 0x2CD1, 0, 0x2CD3, 0, 0x2CD5, 0, 0x2CD7, 0, 0x2CD9, 0, 0x2CDB, 0, 0x2CDD, 0, 0x2CDF, 0, 0x2CE1, 0, 0x2CE3, 0, 0x2CEC, 0, 0x2CEE, 0, 0x2CF3, 0, 0xA641, 0, 0xA643, 0, 0xA645, 0, 0xA647, 0, 0xA649, 0, 0xA64B, 0, 0xA64D, 0, 0xA64F, 0, 0xA651, 0, 0xA653, 0, 0xA655, 0, 0xA657, 0, 0xA659, 0, 0xA65B, 0, 0xA65D, 0, 0xA65F, 0, 0xA661, 0, 0xA663, 0, 0xA665, 0, 0xA667, 0, 0xA669, 0, 0xA66B, 0, 0xA66D, 0, 0xA681, 0, 0xA683, 0, 0xA685, 0, 0xA687, 0, 0xA689, 0, 0xA68B, 0, 0xA68D, 0, 0xA68F, 0, 0xA691, 0, 0xA693, 0, 0xA695, 0, 0xA697, 0, 0xA699, 0, 0xA69B, 0, 0xA723, 0, 0xA725, 0, 0xA727, 0, 0xA729, 0, 0xA72B, 0, 0xA72D, 0, 0xA72F, 0, 0xA733, 0, 0xA735, 0, 0xA737, 0, 0xA739, 0, 0xA73B, 0, 0xA73D, 0, 0xA73F, 0, 0xA741, 0, 0xA743, 0, 0xA745, 0, 0xA747, 0, 0xA749, 0, 0xA74B, 0, 0xA74D, 0, 0xA74F, 0, 0xA751, 0, 0xA753, 0, 0xA755, 0, 0xA757, 0, 0xA759, 0, 0xA75B, 0, 0xA75D, 0, 0xA75F, 0, 0xA761, 0, 0xA763, 0, 0xA765, 0, 0xA767, 0, 0xA769, 0, 0xA76B, 0, 0xA76D, 0, 0xA76F, 0, 0xA77A, 0, 0xA77C, 0, 0x1D79, 0xA77F, 0, 0xA781, 0, 0xA783, 0, 0xA785, 0, 0xA787, 0, 0xA78C, 0, 0x265, 0, 0xA791, 0, 0xA793, 0, 0xA797, 0, 0xA799, 0, 0xA79B, 0, 0xA79D, 0, 0xA79F, 0, 0xA7A1, 0, 0xA7A3, 0, 0xA7A5, 0, 0xA7A7, 0, 0xA7A9, 0, 0x266, 0x25C, 0x261, 0x26C, 0x26A, 0, 0x29E, 0x287, 0x29D, 0xAB53, 0xA7B5, 0, 0xA7B7, 0, 0xA7B9, 0, 0xA7BB, 0, 0xA7BD, 0, 0xA7BF, 0, 0xA7C3, 0, 0xA794, 0x282, 0x1D8E, 0xA7C8, 0, 0xA7CA, 0, 0xA7F6, 0, 0x13A0, 0, 0xFF41, 0, 0x10428, 0, 0x104D8, 0, 0x10CC0, 0, 0x118C0, 0, 0x16E60, 0, 0x1E922, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV Titlecase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 1340, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xB5, 0xB6, 0xDF, 0xE0, 0xF7, 0xF8, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { TC_0 = 0, TC_use_AUX_TABLE_1 = -1, TC_use_AUX_TABLE_2 = -2, TC_use_AUX_TABLE_3 = -3, TC_use_AUX_TABLE_4 = -4, TC_use_AUX_TABLE_5 = -5, TC_use_AUX_TABLE_6 = -6, TC_use_AUX_TABLE_7 = -7, TC_use_AUX_TABLE_8 = -8, TC_use_AUX_TABLE_9 = -9, TC_use_AUX_TABLE_10 = -10, TC_use_AUX_TABLE_11 = -11, TC_use_AUX_TABLE_12 = -12, TC_use_AUX_TABLE_13 = -13, TC_use_AUX_TABLE_14 = -14, TC_use_AUX_TABLE_15 = -15, TC_use_AUX_TABLE_16 = -16, TC_use_AUX_TABLE_17 = -17, TC_use_AUX_TABLE_18 = -18, TC_use_AUX_TABLE_19 = -19, TC_use_AUX_TABLE_20 = -20, TC_use_AUX_TABLE_21 = -21, TC_use_AUX_TABLE_22 = -22, TC_use_AUX_TABLE_23 = -23, TC_use_AUX_TABLE_24 = -24, TC_use_AUX_TABLE_25 = -25, TC_use_AUX_TABLE_26 = -26, TC_use_AUX_TABLE_27 = -27, TC_use_AUX_TABLE_28 = -28, TC_use_AUX_TABLE_29 = -29, TC_use_AUX_TABLE_30 = -30, TC_use_AUX_TABLE_31 = -31, TC_use_AUX_TABLE_32 = -32, TC_use_AUX_TABLE_33 = -33, TC_use_AUX_TABLE_34 = -34, TC_use_AUX_TABLE_35 = -35, TC_use_AUX_TABLE_36 = -36, TC_use_AUX_TABLE_37 = -37, TC_use_AUX_TABLE_38 = -38, TC_use_AUX_TABLE_39 = -39, TC_use_AUX_TABLE_40 = -40, TC_use_AUX_TABLE_41 = -41, TC_use_AUX_TABLE_42 = -42, TC_use_AUX_TABLE_43 = -43, TC_use_AUX_TABLE_44 = -44, TC_use_AUX_TABLE_45 = -45 } TC_enum; #define HAS_TC_AUX_TABLES static const U32 TC_AUX_TABLE_1[] = { 0x53, 0x73 }; static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0x4E }; static const U32 TC_AUX_TABLE_3[] = { 0x4A, 0x30C }; static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; static const U32 TC_AUX_TABLE_7[] = { 0x48, 0x331 }; static const U32 TC_AUX_TABLE_8[] = { 0x54, 0x308 }; static const U32 TC_AUX_TABLE_9[] = { 0x57, 0x30A }; static const U32 TC_AUX_TABLE_10[] = { 0x59, 0x30A }; static const U32 TC_AUX_TABLE_11[] = { 0x41, 0x2BE }; static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_35[] = { 0x46, 0x66 }; static const U32 TC_AUX_TABLE_36[] = { 0x46, 0x69 }; static const U32 TC_AUX_TABLE_37[] = { 0x46, 0x6C }; static const U32 TC_AUX_TABLE_38[] = { 0x46, 0x66, 0x69 }; static const U32 TC_AUX_TABLE_39[] = { 0x46, 0x66, 0x6C }; static const U32 TC_AUX_TABLE_40[] = { 0x53, 0x74 }; static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, TC_AUX_TABLE_3, TC_AUX_TABLE_4, TC_AUX_TABLE_5, TC_AUX_TABLE_6, TC_AUX_TABLE_7, TC_AUX_TABLE_8, TC_AUX_TABLE_9, TC_AUX_TABLE_10, TC_AUX_TABLE_11, TC_AUX_TABLE_12, TC_AUX_TABLE_13, TC_AUX_TABLE_14, TC_AUX_TABLE_15, TC_AUX_TABLE_16, TC_AUX_TABLE_17, TC_AUX_TABLE_18, TC_AUX_TABLE_19, TC_AUX_TABLE_20, TC_AUX_TABLE_21, TC_AUX_TABLE_22, TC_AUX_TABLE_23, TC_AUX_TABLE_24, TC_AUX_TABLE_25, TC_AUX_TABLE_26, TC_AUX_TABLE_27, TC_AUX_TABLE_28, TC_AUX_TABLE_29, TC_AUX_TABLE_30, TC_AUX_TABLE_31, TC_AUX_TABLE_32, TC_AUX_TABLE_33, TC_AUX_TABLE_34, TC_AUX_TABLE_35, TC_AUX_TABLE_36, TC_AUX_TABLE_37, TC_AUX_TABLE_38, TC_AUX_TABLE_39, TC_AUX_TABLE_40, TC_AUX_TABLE_41, TC_AUX_TABLE_42, TC_AUX_TABLE_43, TC_AUX_TABLE_44, TC_AUX_TABLE_45 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 TC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* TC_AUX_TABLE_1 */, 2 /* TC_AUX_TABLE_2 */, 2 /* TC_AUX_TABLE_3 */, 3 /* TC_AUX_TABLE_4 */, 3 /* TC_AUX_TABLE_5 */, 2 /* TC_AUX_TABLE_6 */, 2 /* TC_AUX_TABLE_7 */, 2 /* TC_AUX_TABLE_8 */, 2 /* TC_AUX_TABLE_9 */, 2 /* TC_AUX_TABLE_10 */, 2 /* TC_AUX_TABLE_11 */, 2 /* TC_AUX_TABLE_12 */, 3 /* TC_AUX_TABLE_13 */, 3 /* TC_AUX_TABLE_14 */, 3 /* TC_AUX_TABLE_15 */, 2 /* TC_AUX_TABLE_16 */, 2 /* TC_AUX_TABLE_17 */, 2 /* TC_AUX_TABLE_18 */, 3 /* TC_AUX_TABLE_19 */, 2 /* TC_AUX_TABLE_20 */, 2 /* TC_AUX_TABLE_21 */, 2 /* TC_AUX_TABLE_22 */, 3 /* TC_AUX_TABLE_23 */, 3 /* TC_AUX_TABLE_24 */, 2 /* TC_AUX_TABLE_25 */, 3 /* TC_AUX_TABLE_26 */, 3 /* TC_AUX_TABLE_27 */, 2 /* TC_AUX_TABLE_28 */, 2 /* TC_AUX_TABLE_29 */, 3 /* TC_AUX_TABLE_30 */, 2 /* TC_AUX_TABLE_31 */, 2 /* TC_AUX_TABLE_32 */, 2 /* TC_AUX_TABLE_33 */, 3 /* TC_AUX_TABLE_34 */, 2 /* TC_AUX_TABLE_35 */, 2 /* TC_AUX_TABLE_36 */, 2 /* TC_AUX_TABLE_37 */, 3 /* TC_AUX_TABLE_38 */, 3 /* TC_AUX_TABLE_39 */, 2 /* TC_AUX_TABLE_40 */, 2 /* TC_AUX_TABLE_41 */, 2 /* TC_AUX_TABLE_42 */, 2 /* TC_AUX_TABLE_43 */, 2 /* TC_AUX_TABLE_44 */, 2 /* TC_AUX_TABLE_45 */ }; static const I32 Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, 0, 0x39C, 0, TC_use_AUX_TABLE_1, 0xC0, 0, 0xD8, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0x49, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, TC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0x53, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C5, 0, 0x1C5, 0x1C8, 0, 0x1C8, 0x1CB, 0, 0x1CB, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, TC_use_AUX_TABLE_3, 0x1F2, 0, 0x1F2, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, TC_use_AUX_TABLE_4, 0, 0x386, 0x388, TC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, TC_use_AUX_TABLE_6, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, TC_use_AUX_TABLE_7, TC_use_AUX_TABLE_8, TC_use_AUX_TABLE_9, TC_use_AUX_TABLE_10, TC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, TC_use_AUX_TABLE_12, 0x1F59, TC_use_AUX_TABLE_13, 0x1F5B, TC_use_AUX_TABLE_14, 0x1F5D, TC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0, 0x1F98, 0, 0x1FA8, 0, 0x1FB8, TC_use_AUX_TABLE_16, 0x1FBC, TC_use_AUX_TABLE_17, 0, TC_use_AUX_TABLE_18, TC_use_AUX_TABLE_19, 0, 0x399, 0, TC_use_AUX_TABLE_20, 0x1FCC, TC_use_AUX_TABLE_21, 0, TC_use_AUX_TABLE_22, TC_use_AUX_TABLE_23, 0, 0x1FD8, TC_use_AUX_TABLE_24, TC_use_AUX_TABLE_4, 0, TC_use_AUX_TABLE_25, TC_use_AUX_TABLE_26, 0, 0x1FE8, TC_use_AUX_TABLE_27, TC_use_AUX_TABLE_5, TC_use_AUX_TABLE_28, 0x1FEC, TC_use_AUX_TABLE_29, TC_use_AUX_TABLE_30, 0, TC_use_AUX_TABLE_31, 0x1FFC, TC_use_AUX_TABLE_32, 0, TC_use_AUX_TABLE_33, TC_use_AUX_TABLE_34, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, TC_use_AUX_TABLE_35, TC_use_AUX_TABLE_36, TC_use_AUX_TABLE_37, TC_use_AUX_TABLE_38, TC_use_AUX_TABLE_39, TC_use_AUX_TABLE_40, 0, TC_use_AUX_TABLE_41, TC_use_AUX_TABLE_42, TC_use_AUX_TABLE_43, TC_use_AUX_TABLE_44, TC_use_AUX_TABLE_45, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 1356, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { TC_0 = 0, TC_use_AUX_TABLE_1 = -1, TC_use_AUX_TABLE_2 = -2, TC_use_AUX_TABLE_3 = -3, TC_use_AUX_TABLE_4 = -4, TC_use_AUX_TABLE_5 = -5, TC_use_AUX_TABLE_6 = -6, TC_use_AUX_TABLE_7 = -7, TC_use_AUX_TABLE_8 = -8, TC_use_AUX_TABLE_9 = -9, TC_use_AUX_TABLE_10 = -10, TC_use_AUX_TABLE_11 = -11, TC_use_AUX_TABLE_12 = -12, TC_use_AUX_TABLE_13 = -13, TC_use_AUX_TABLE_14 = -14, TC_use_AUX_TABLE_15 = -15, TC_use_AUX_TABLE_16 = -16, TC_use_AUX_TABLE_17 = -17, TC_use_AUX_TABLE_18 = -18, TC_use_AUX_TABLE_19 = -19, TC_use_AUX_TABLE_20 = -20, TC_use_AUX_TABLE_21 = -21, TC_use_AUX_TABLE_22 = -22, TC_use_AUX_TABLE_23 = -23, TC_use_AUX_TABLE_24 = -24, TC_use_AUX_TABLE_25 = -25, TC_use_AUX_TABLE_26 = -26, TC_use_AUX_TABLE_27 = -27, TC_use_AUX_TABLE_28 = -28, TC_use_AUX_TABLE_29 = -29, TC_use_AUX_TABLE_30 = -30, TC_use_AUX_TABLE_31 = -31, TC_use_AUX_TABLE_32 = -32, TC_use_AUX_TABLE_33 = -33, TC_use_AUX_TABLE_34 = -34, TC_use_AUX_TABLE_35 = -35, TC_use_AUX_TABLE_36 = -36, TC_use_AUX_TABLE_37 = -37, TC_use_AUX_TABLE_38 = -38, TC_use_AUX_TABLE_39 = -39, TC_use_AUX_TABLE_40 = -40, TC_use_AUX_TABLE_41 = -41, TC_use_AUX_TABLE_42 = -42, TC_use_AUX_TABLE_43 = -43, TC_use_AUX_TABLE_44 = -44, TC_use_AUX_TABLE_45 = -45 } TC_enum; #define HAS_TC_AUX_TABLES static const U32 TC_AUX_TABLE_1[] = { 0xE2, 0xA2 }; static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; static const U32 TC_AUX_TABLE_3[] = { 0xD1, 0x30C }; static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; static const U32 TC_AUX_TABLE_7[] = { 0xC8, 0x331 }; static const U32 TC_AUX_TABLE_8[] = { 0xE3, 0x308 }; static const U32 TC_AUX_TABLE_9[] = { 0xE6, 0x30A }; static const U32 TC_AUX_TABLE_10[] = { 0xE8, 0x30A }; static const U32 TC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_35[] = { 0xC6, 0x86 }; static const U32 TC_AUX_TABLE_36[] = { 0xC6, 0x89 }; static const U32 TC_AUX_TABLE_37[] = { 0xC6, 0x93 }; static const U32 TC_AUX_TABLE_38[] = { 0xC6, 0x86, 0x89 }; static const U32 TC_AUX_TABLE_39[] = { 0xC6, 0x86, 0x93 }; static const U32 TC_AUX_TABLE_40[] = { 0xE2, 0xA3 }; static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, TC_AUX_TABLE_3, TC_AUX_TABLE_4, TC_AUX_TABLE_5, TC_AUX_TABLE_6, TC_AUX_TABLE_7, TC_AUX_TABLE_8, TC_AUX_TABLE_9, TC_AUX_TABLE_10, TC_AUX_TABLE_11, TC_AUX_TABLE_12, TC_AUX_TABLE_13, TC_AUX_TABLE_14, TC_AUX_TABLE_15, TC_AUX_TABLE_16, TC_AUX_TABLE_17, TC_AUX_TABLE_18, TC_AUX_TABLE_19, TC_AUX_TABLE_20, TC_AUX_TABLE_21, TC_AUX_TABLE_22, TC_AUX_TABLE_23, TC_AUX_TABLE_24, TC_AUX_TABLE_25, TC_AUX_TABLE_26, TC_AUX_TABLE_27, TC_AUX_TABLE_28, TC_AUX_TABLE_29, TC_AUX_TABLE_30, TC_AUX_TABLE_31, TC_AUX_TABLE_32, TC_AUX_TABLE_33, TC_AUX_TABLE_34, TC_AUX_TABLE_35, TC_AUX_TABLE_36, TC_AUX_TABLE_37, TC_AUX_TABLE_38, TC_AUX_TABLE_39, TC_AUX_TABLE_40, TC_AUX_TABLE_41, TC_AUX_TABLE_42, TC_AUX_TABLE_43, TC_AUX_TABLE_44, TC_AUX_TABLE_45 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 TC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* TC_AUX_TABLE_1 */, 2 /* TC_AUX_TABLE_2 */, 2 /* TC_AUX_TABLE_3 */, 3 /* TC_AUX_TABLE_4 */, 3 /* TC_AUX_TABLE_5 */, 2 /* TC_AUX_TABLE_6 */, 2 /* TC_AUX_TABLE_7 */, 2 /* TC_AUX_TABLE_8 */, 2 /* TC_AUX_TABLE_9 */, 2 /* TC_AUX_TABLE_10 */, 2 /* TC_AUX_TABLE_11 */, 2 /* TC_AUX_TABLE_12 */, 3 /* TC_AUX_TABLE_13 */, 3 /* TC_AUX_TABLE_14 */, 3 /* TC_AUX_TABLE_15 */, 2 /* TC_AUX_TABLE_16 */, 2 /* TC_AUX_TABLE_17 */, 2 /* TC_AUX_TABLE_18 */, 3 /* TC_AUX_TABLE_19 */, 2 /* TC_AUX_TABLE_20 */, 2 /* TC_AUX_TABLE_21 */, 2 /* TC_AUX_TABLE_22 */, 3 /* TC_AUX_TABLE_23 */, 3 /* TC_AUX_TABLE_24 */, 2 /* TC_AUX_TABLE_25 */, 3 /* TC_AUX_TABLE_26 */, 3 /* TC_AUX_TABLE_27 */, 2 /* TC_AUX_TABLE_28 */, 2 /* TC_AUX_TABLE_29 */, 3 /* TC_AUX_TABLE_30 */, 2 /* TC_AUX_TABLE_31 */, 2 /* TC_AUX_TABLE_32 */, 2 /* TC_AUX_TABLE_33 */, 3 /* TC_AUX_TABLE_34 */, 2 /* TC_AUX_TABLE_35 */, 2 /* TC_AUX_TABLE_36 */, 2 /* TC_AUX_TABLE_37 */, 3 /* TC_AUX_TABLE_38 */, 3 /* TC_AUX_TABLE_39 */, 2 /* TC_AUX_TABLE_40 */, 2 /* TC_AUX_TABLE_41 */, 2 /* TC_AUX_TABLE_42 */, 2 /* TC_AUX_TABLE_43 */, 2 /* TC_AUX_TABLE_44 */, 2 /* TC_AUX_TABLE_45 */ }; static const I32 Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x62, 0, 0x71, TC_use_AUX_TABLE_1, 0, 0x80, 0, 0xC1, 0, 0xAC, 0xBA, 0xAE, 0, 0xD1, 0, 0x9E, 0, 0x39C, 0, 0xE2, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0xC9, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, TC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0xE2, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C5, 0, 0x1C5, 0x1C8, 0, 0x1C8, 0x1CB, 0, 0x1CB, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, TC_use_AUX_TABLE_3, 0x1F2, 0, 0x1F2, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, TC_use_AUX_TABLE_4, 0, 0x386, 0x388, TC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, TC_use_AUX_TABLE_6, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, TC_use_AUX_TABLE_7, TC_use_AUX_TABLE_8, TC_use_AUX_TABLE_9, TC_use_AUX_TABLE_10, TC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, TC_use_AUX_TABLE_12, 0x1F59, TC_use_AUX_TABLE_13, 0x1F5B, TC_use_AUX_TABLE_14, 0x1F5D, TC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0, 0x1F98, 0, 0x1FA8, 0, 0x1FB8, TC_use_AUX_TABLE_16, 0x1FBC, TC_use_AUX_TABLE_17, 0, TC_use_AUX_TABLE_18, TC_use_AUX_TABLE_19, 0, 0x399, 0, TC_use_AUX_TABLE_20, 0x1FCC, TC_use_AUX_TABLE_21, 0, TC_use_AUX_TABLE_22, TC_use_AUX_TABLE_23, 0, 0x1FD8, TC_use_AUX_TABLE_24, TC_use_AUX_TABLE_4, 0, TC_use_AUX_TABLE_25, TC_use_AUX_TABLE_26, 0, 0x1FE8, TC_use_AUX_TABLE_27, TC_use_AUX_TABLE_5, TC_use_AUX_TABLE_28, 0x1FEC, TC_use_AUX_TABLE_29, TC_use_AUX_TABLE_30, 0, TC_use_AUX_TABLE_31, 0x1FFC, TC_use_AUX_TABLE_32, 0, TC_use_AUX_TABLE_33, TC_use_AUX_TABLE_34, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, TC_use_AUX_TABLE_35, TC_use_AUX_TABLE_36, TC_use_AUX_TABLE_37, TC_use_AUX_TABLE_38, TC_use_AUX_TABLE_39, TC_use_AUX_TABLE_40, 0, TC_use_AUX_TABLE_41, TC_use_AUX_TABLE_42, TC_use_AUX_TABLE_43, TC_use_AUX_TABLE_44, TC_use_AUX_TABLE_45, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 037 */ 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { TC_0 = 0, TC_use_AUX_TABLE_1 = -1, TC_use_AUX_TABLE_2 = -2, TC_use_AUX_TABLE_3 = -3, TC_use_AUX_TABLE_4 = -4, TC_use_AUX_TABLE_5 = -5, TC_use_AUX_TABLE_6 = -6, TC_use_AUX_TABLE_7 = -7, TC_use_AUX_TABLE_8 = -8, TC_use_AUX_TABLE_9 = -9, TC_use_AUX_TABLE_10 = -10, TC_use_AUX_TABLE_11 = -11, TC_use_AUX_TABLE_12 = -12, TC_use_AUX_TABLE_13 = -13, TC_use_AUX_TABLE_14 = -14, TC_use_AUX_TABLE_15 = -15, TC_use_AUX_TABLE_16 = -16, TC_use_AUX_TABLE_17 = -17, TC_use_AUX_TABLE_18 = -18, TC_use_AUX_TABLE_19 = -19, TC_use_AUX_TABLE_20 = -20, TC_use_AUX_TABLE_21 = -21, TC_use_AUX_TABLE_22 = -22, TC_use_AUX_TABLE_23 = -23, TC_use_AUX_TABLE_24 = -24, TC_use_AUX_TABLE_25 = -25, TC_use_AUX_TABLE_26 = -26, TC_use_AUX_TABLE_27 = -27, TC_use_AUX_TABLE_28 = -28, TC_use_AUX_TABLE_29 = -29, TC_use_AUX_TABLE_30 = -30, TC_use_AUX_TABLE_31 = -31, TC_use_AUX_TABLE_32 = -32, TC_use_AUX_TABLE_33 = -33, TC_use_AUX_TABLE_34 = -34, TC_use_AUX_TABLE_35 = -35, TC_use_AUX_TABLE_36 = -36, TC_use_AUX_TABLE_37 = -37, TC_use_AUX_TABLE_38 = -38, TC_use_AUX_TABLE_39 = -39, TC_use_AUX_TABLE_40 = -40, TC_use_AUX_TABLE_41 = -41, TC_use_AUX_TABLE_42 = -42, TC_use_AUX_TABLE_43 = -43, TC_use_AUX_TABLE_44 = -44, TC_use_AUX_TABLE_45 = -45 } TC_enum; #define HAS_TC_AUX_TABLES static const U32 TC_AUX_TABLE_1[] = { 0xE2, 0xA2 }; static const U32 TC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; static const U32 TC_AUX_TABLE_3[] = { 0xD1, 0x30C }; static const U32 TC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 TC_AUX_TABLE_6[] = { 0x535, 0x582 }; static const U32 TC_AUX_TABLE_7[] = { 0xC8, 0x331 }; static const U32 TC_AUX_TABLE_8[] = { 0xE3, 0x308 }; static const U32 TC_AUX_TABLE_9[] = { 0xE6, 0x30A }; static const U32 TC_AUX_TABLE_10[] = { 0xE8, 0x30A }; static const U32 TC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; static const U32 TC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 TC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 TC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 TC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 TC_AUX_TABLE_16[] = { 0x1FBA, 0x345 }; static const U32 TC_AUX_TABLE_17[] = { 0x386, 0x345 }; static const U32 TC_AUX_TABLE_18[] = { 0x391, 0x342 }; static const U32 TC_AUX_TABLE_19[] = { 0x391, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_20[] = { 0x1FCA, 0x345 }; static const U32 TC_AUX_TABLE_21[] = { 0x389, 0x345 }; static const U32 TC_AUX_TABLE_22[] = { 0x397, 0x342 }; static const U32 TC_AUX_TABLE_23[] = { 0x397, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_24[] = { 0x399, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_25[] = { 0x399, 0x342 }; static const U32 TC_AUX_TABLE_26[] = { 0x399, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_27[] = { 0x3A5, 0x308, 0x300 }; static const U32 TC_AUX_TABLE_28[] = { 0x3A1, 0x313 }; static const U32 TC_AUX_TABLE_29[] = { 0x3A5, 0x342 }; static const U32 TC_AUX_TABLE_30[] = { 0x3A5, 0x308, 0x342 }; static const U32 TC_AUX_TABLE_31[] = { 0x1FFA, 0x345 }; static const U32 TC_AUX_TABLE_32[] = { 0x38F, 0x345 }; static const U32 TC_AUX_TABLE_33[] = { 0x3A9, 0x342 }; static const U32 TC_AUX_TABLE_34[] = { 0x3A9, 0x342, 0x345 }; static const U32 TC_AUX_TABLE_35[] = { 0xC6, 0x86 }; static const U32 TC_AUX_TABLE_36[] = { 0xC6, 0x89 }; static const U32 TC_AUX_TABLE_37[] = { 0xC6, 0x93 }; static const U32 TC_AUX_TABLE_38[] = { 0xC6, 0x86, 0x89 }; static const U32 TC_AUX_TABLE_39[] = { 0xC6, 0x86, 0x93 }; static const U32 TC_AUX_TABLE_40[] = { 0xE2, 0xA3 }; static const U32 TC_AUX_TABLE_41[] = { 0x544, 0x576 }; static const U32 TC_AUX_TABLE_42[] = { 0x544, 0x565 }; static const U32 TC_AUX_TABLE_43[] = { 0x544, 0x56B }; static const U32 TC_AUX_TABLE_44[] = { 0x54E, 0x576 }; static const U32 TC_AUX_TABLE_45[] = { 0x544, 0x56D }; static const U32 * const TC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ TC_AUX_TABLE_1, TC_AUX_TABLE_2, TC_AUX_TABLE_3, TC_AUX_TABLE_4, TC_AUX_TABLE_5, TC_AUX_TABLE_6, TC_AUX_TABLE_7, TC_AUX_TABLE_8, TC_AUX_TABLE_9, TC_AUX_TABLE_10, TC_AUX_TABLE_11, TC_AUX_TABLE_12, TC_AUX_TABLE_13, TC_AUX_TABLE_14, TC_AUX_TABLE_15, TC_AUX_TABLE_16, TC_AUX_TABLE_17, TC_AUX_TABLE_18, TC_AUX_TABLE_19, TC_AUX_TABLE_20, TC_AUX_TABLE_21, TC_AUX_TABLE_22, TC_AUX_TABLE_23, TC_AUX_TABLE_24, TC_AUX_TABLE_25, TC_AUX_TABLE_26, TC_AUX_TABLE_27, TC_AUX_TABLE_28, TC_AUX_TABLE_29, TC_AUX_TABLE_30, TC_AUX_TABLE_31, TC_AUX_TABLE_32, TC_AUX_TABLE_33, TC_AUX_TABLE_34, TC_AUX_TABLE_35, TC_AUX_TABLE_36, TC_AUX_TABLE_37, TC_AUX_TABLE_38, TC_AUX_TABLE_39, TC_AUX_TABLE_40, TC_AUX_TABLE_41, TC_AUX_TABLE_42, TC_AUX_TABLE_43, TC_AUX_TABLE_44, TC_AUX_TABLE_45 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 TC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* TC_AUX_TABLE_1 */, 2 /* TC_AUX_TABLE_2 */, 2 /* TC_AUX_TABLE_3 */, 3 /* TC_AUX_TABLE_4 */, 3 /* TC_AUX_TABLE_5 */, 2 /* TC_AUX_TABLE_6 */, 2 /* TC_AUX_TABLE_7 */, 2 /* TC_AUX_TABLE_8 */, 2 /* TC_AUX_TABLE_9 */, 2 /* TC_AUX_TABLE_10 */, 2 /* TC_AUX_TABLE_11 */, 2 /* TC_AUX_TABLE_12 */, 3 /* TC_AUX_TABLE_13 */, 3 /* TC_AUX_TABLE_14 */, 3 /* TC_AUX_TABLE_15 */, 2 /* TC_AUX_TABLE_16 */, 2 /* TC_AUX_TABLE_17 */, 2 /* TC_AUX_TABLE_18 */, 3 /* TC_AUX_TABLE_19 */, 2 /* TC_AUX_TABLE_20 */, 2 /* TC_AUX_TABLE_21 */, 2 /* TC_AUX_TABLE_22 */, 3 /* TC_AUX_TABLE_23 */, 3 /* TC_AUX_TABLE_24 */, 2 /* TC_AUX_TABLE_25 */, 3 /* TC_AUX_TABLE_26 */, 3 /* TC_AUX_TABLE_27 */, 2 /* TC_AUX_TABLE_28 */, 2 /* TC_AUX_TABLE_29 */, 3 /* TC_AUX_TABLE_30 */, 2 /* TC_AUX_TABLE_31 */, 2 /* TC_AUX_TABLE_32 */, 2 /* TC_AUX_TABLE_33 */, 3 /* TC_AUX_TABLE_34 */, 2 /* TC_AUX_TABLE_35 */, 2 /* TC_AUX_TABLE_36 */, 2 /* TC_AUX_TABLE_37 */, 3 /* TC_AUX_TABLE_38 */, 3 /* TC_AUX_TABLE_39 */, 2 /* TC_AUX_TABLE_40 */, 2 /* TC_AUX_TABLE_41 */, 2 /* TC_AUX_TABLE_42 */, 2 /* TC_AUX_TABLE_43 */, 2 /* TC_AUX_TABLE_44 */, 2 /* TC_AUX_TABLE_45 */ }; static const I32 Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x62, 0, 0x71, TC_use_AUX_TABLE_1, 0, 0x80, 0, 0xC1, 0, 0xAC, 0, 0xD1, 0, 0x9E, 0, 0x39C, 0, 0xE2, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0xC9, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, TC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0xE2, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C5, 0, 0x1C5, 0x1C8, 0, 0x1C8, 0x1CB, 0, 0x1CB, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, TC_use_AUX_TABLE_3, 0x1F2, 0, 0x1F2, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, TC_use_AUX_TABLE_4, 0, 0x386, 0x388, TC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, TC_use_AUX_TABLE_6, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, TC_use_AUX_TABLE_7, TC_use_AUX_TABLE_8, TC_use_AUX_TABLE_9, TC_use_AUX_TABLE_10, TC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, TC_use_AUX_TABLE_12, 0x1F59, TC_use_AUX_TABLE_13, 0x1F5B, TC_use_AUX_TABLE_14, 0x1F5D, TC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, 0x1F88, 0, 0x1F98, 0, 0x1FA8, 0, 0x1FB8, TC_use_AUX_TABLE_16, 0x1FBC, TC_use_AUX_TABLE_17, 0, TC_use_AUX_TABLE_18, TC_use_AUX_TABLE_19, 0, 0x399, 0, TC_use_AUX_TABLE_20, 0x1FCC, TC_use_AUX_TABLE_21, 0, TC_use_AUX_TABLE_22, TC_use_AUX_TABLE_23, 0, 0x1FD8, TC_use_AUX_TABLE_24, TC_use_AUX_TABLE_4, 0, TC_use_AUX_TABLE_25, TC_use_AUX_TABLE_26, 0, 0x1FE8, TC_use_AUX_TABLE_27, TC_use_AUX_TABLE_5, TC_use_AUX_TABLE_28, 0x1FEC, TC_use_AUX_TABLE_29, TC_use_AUX_TABLE_30, 0, TC_use_AUX_TABLE_31, 0x1FFC, TC_use_AUX_TABLE_32, 0, TC_use_AUX_TABLE_33, TC_use_AUX_TABLE_34, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, TC_use_AUX_TABLE_35, TC_use_AUX_TABLE_36, TC_use_AUX_TABLE_37, TC_use_AUX_TABLE_38, TC_use_AUX_TABLE_39, TC_use_AUX_TABLE_40, 0, TC_use_AUX_TABLE_41, TC_use_AUX_TABLE_42, TC_use_AUX_TABLE_43, TC_use_AUX_TABLE_44, TC_use_AUX_TABLE_45, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV Uppercase_Mapping_invlist[] = { /* for ASCII/Latin1 */ 1391, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xB5, 0xB6, 0xDF, 0xE0, 0xF7, 0xF8, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 65 /* ASCII/Latin1 */ /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { UC_0 = 0, UC_use_AUX_TABLE_1 = -1, UC_use_AUX_TABLE_2 = -2, UC_use_AUX_TABLE_3 = -3, UC_use_AUX_TABLE_4 = -4, UC_use_AUX_TABLE_5 = -5, UC_use_AUX_TABLE_6 = -6, UC_use_AUX_TABLE_7 = -7, UC_use_AUX_TABLE_8 = -8, UC_use_AUX_TABLE_9 = -9, UC_use_AUX_TABLE_10 = -10, UC_use_AUX_TABLE_11 = -11, UC_use_AUX_TABLE_12 = -12, UC_use_AUX_TABLE_13 = -13, UC_use_AUX_TABLE_14 = -14, UC_use_AUX_TABLE_15 = -15, UC_use_AUX_TABLE_16 = -16, UC_use_AUX_TABLE_17 = -17, UC_use_AUX_TABLE_18 = -18, UC_use_AUX_TABLE_19 = -19, UC_use_AUX_TABLE_20 = -20, UC_use_AUX_TABLE_21 = -21, UC_use_AUX_TABLE_22 = -22, UC_use_AUX_TABLE_23 = -23, UC_use_AUX_TABLE_24 = -24, UC_use_AUX_TABLE_25 = -25, UC_use_AUX_TABLE_26 = -26, UC_use_AUX_TABLE_27 = -27, UC_use_AUX_TABLE_28 = -28, UC_use_AUX_TABLE_29 = -29, UC_use_AUX_TABLE_30 = -30, UC_use_AUX_TABLE_31 = -31, UC_use_AUX_TABLE_32 = -32, UC_use_AUX_TABLE_33 = -33, UC_use_AUX_TABLE_34 = -34, UC_use_AUX_TABLE_35 = -35, UC_use_AUX_TABLE_36 = -36, UC_use_AUX_TABLE_37 = -37, UC_use_AUX_TABLE_38 = -38, UC_use_AUX_TABLE_39 = -39, UC_use_AUX_TABLE_40 = -40, UC_use_AUX_TABLE_41 = -41, UC_use_AUX_TABLE_42 = -42, UC_use_AUX_TABLE_43 = -43, UC_use_AUX_TABLE_44 = -44, UC_use_AUX_TABLE_45 = -45, UC_use_AUX_TABLE_46 = -46, UC_use_AUX_TABLE_47 = -47, UC_use_AUX_TABLE_48 = -48, UC_use_AUX_TABLE_49 = -49, UC_use_AUX_TABLE_50 = -50, UC_use_AUX_TABLE_51 = -51, UC_use_AUX_TABLE_52 = -52, UC_use_AUX_TABLE_53 = -53, UC_use_AUX_TABLE_54 = -54, UC_use_AUX_TABLE_55 = -55, UC_use_AUX_TABLE_56 = -56, UC_use_AUX_TABLE_57 = -57, UC_use_AUX_TABLE_58 = -58, UC_use_AUX_TABLE_59 = -59, UC_use_AUX_TABLE_60 = -60, UC_use_AUX_TABLE_61 = -61, UC_use_AUX_TABLE_62 = -62, UC_use_AUX_TABLE_63 = -63, UC_use_AUX_TABLE_64 = -64, UC_use_AUX_TABLE_65 = -65, UC_use_AUX_TABLE_66 = -66, UC_use_AUX_TABLE_67 = -67, UC_use_AUX_TABLE_68 = -68, UC_use_AUX_TABLE_69 = -69, UC_use_AUX_TABLE_70 = -70, UC_use_AUX_TABLE_71 = -71, UC_use_AUX_TABLE_72 = -72 } UC_enum; #define HAS_UC_AUX_TABLES static const U32 UC_AUX_TABLE_1[] = { 0x53, 0x53 }; static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0x4E }; static const U32 UC_AUX_TABLE_3[] = { 0x4A, 0x30C }; static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; static const U32 UC_AUX_TABLE_7[] = { 0x48, 0x331 }; static const U32 UC_AUX_TABLE_8[] = { 0x54, 0x308 }; static const U32 UC_AUX_TABLE_9[] = { 0x57, 0x30A }; static const U32 UC_AUX_TABLE_10[] = { 0x59, 0x30A }; static const U32 UC_AUX_TABLE_11[] = { 0x41, 0x2BE }; static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_62[] = { 0x46, 0x46 }; static const U32 UC_AUX_TABLE_63[] = { 0x46, 0x49 }; static const U32 UC_AUX_TABLE_64[] = { 0x46, 0x4C }; static const U32 UC_AUX_TABLE_65[] = { 0x46, 0x46, 0x49 }; static const U32 UC_AUX_TABLE_66[] = { 0x46, 0x46, 0x4C }; static const U32 UC_AUX_TABLE_67[] = { 0x53, 0x54 }; static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, UC_AUX_TABLE_3, UC_AUX_TABLE_4, UC_AUX_TABLE_5, UC_AUX_TABLE_6, UC_AUX_TABLE_7, UC_AUX_TABLE_8, UC_AUX_TABLE_9, UC_AUX_TABLE_10, UC_AUX_TABLE_11, UC_AUX_TABLE_12, UC_AUX_TABLE_13, UC_AUX_TABLE_14, UC_AUX_TABLE_15, UC_AUX_TABLE_16, UC_AUX_TABLE_17, UC_AUX_TABLE_18, UC_AUX_TABLE_19, UC_AUX_TABLE_20, UC_AUX_TABLE_21, UC_AUX_TABLE_22, UC_AUX_TABLE_23, UC_AUX_TABLE_24, UC_AUX_TABLE_25, UC_AUX_TABLE_26, UC_AUX_TABLE_27, UC_AUX_TABLE_28, UC_AUX_TABLE_29, UC_AUX_TABLE_30, UC_AUX_TABLE_31, UC_AUX_TABLE_32, UC_AUX_TABLE_33, UC_AUX_TABLE_34, UC_AUX_TABLE_35, UC_AUX_TABLE_36, UC_AUX_TABLE_37, UC_AUX_TABLE_38, UC_AUX_TABLE_39, UC_AUX_TABLE_40, UC_AUX_TABLE_41, UC_AUX_TABLE_42, UC_AUX_TABLE_43, UC_AUX_TABLE_44, UC_AUX_TABLE_45, UC_AUX_TABLE_46, UC_AUX_TABLE_47, UC_AUX_TABLE_48, UC_AUX_TABLE_49, UC_AUX_TABLE_50, UC_AUX_TABLE_51, UC_AUX_TABLE_52, UC_AUX_TABLE_53, UC_AUX_TABLE_54, UC_AUX_TABLE_55, UC_AUX_TABLE_56, UC_AUX_TABLE_57, UC_AUX_TABLE_58, UC_AUX_TABLE_59, UC_AUX_TABLE_60, UC_AUX_TABLE_61, UC_AUX_TABLE_62, UC_AUX_TABLE_63, UC_AUX_TABLE_64, UC_AUX_TABLE_65, UC_AUX_TABLE_66, UC_AUX_TABLE_67, UC_AUX_TABLE_68, UC_AUX_TABLE_69, UC_AUX_TABLE_70, UC_AUX_TABLE_71, UC_AUX_TABLE_72 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 UC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* UC_AUX_TABLE_1 */, 2 /* UC_AUX_TABLE_2 */, 2 /* UC_AUX_TABLE_3 */, 3 /* UC_AUX_TABLE_4 */, 3 /* UC_AUX_TABLE_5 */, 2 /* UC_AUX_TABLE_6 */, 2 /* UC_AUX_TABLE_7 */, 2 /* UC_AUX_TABLE_8 */, 2 /* UC_AUX_TABLE_9 */, 2 /* UC_AUX_TABLE_10 */, 2 /* UC_AUX_TABLE_11 */, 2 /* UC_AUX_TABLE_12 */, 3 /* UC_AUX_TABLE_13 */, 3 /* UC_AUX_TABLE_14 */, 3 /* UC_AUX_TABLE_15 */, 2 /* UC_AUX_TABLE_16 */, 2 /* UC_AUX_TABLE_17 */, 2 /* UC_AUX_TABLE_18 */, 2 /* UC_AUX_TABLE_19 */, 2 /* UC_AUX_TABLE_20 */, 2 /* UC_AUX_TABLE_21 */, 2 /* UC_AUX_TABLE_22 */, 2 /* UC_AUX_TABLE_23 */, 2 /* UC_AUX_TABLE_24 */, 2 /* UC_AUX_TABLE_25 */, 2 /* UC_AUX_TABLE_26 */, 2 /* UC_AUX_TABLE_27 */, 2 /* UC_AUX_TABLE_28 */, 2 /* UC_AUX_TABLE_29 */, 2 /* UC_AUX_TABLE_30 */, 2 /* UC_AUX_TABLE_31 */, 2 /* UC_AUX_TABLE_32 */, 2 /* UC_AUX_TABLE_33 */, 2 /* UC_AUX_TABLE_34 */, 2 /* UC_AUX_TABLE_35 */, 2 /* UC_AUX_TABLE_36 */, 2 /* UC_AUX_TABLE_37 */, 2 /* UC_AUX_TABLE_38 */, 2 /* UC_AUX_TABLE_39 */, 2 /* UC_AUX_TABLE_40 */, 2 /* UC_AUX_TABLE_41 */, 2 /* UC_AUX_TABLE_42 */, 2 /* UC_AUX_TABLE_43 */, 3 /* UC_AUX_TABLE_44 */, 2 /* UC_AUX_TABLE_45 */, 2 /* UC_AUX_TABLE_46 */, 2 /* UC_AUX_TABLE_47 */, 2 /* UC_AUX_TABLE_48 */, 3 /* UC_AUX_TABLE_49 */, 3 /* UC_AUX_TABLE_50 */, 2 /* UC_AUX_TABLE_51 */, 3 /* UC_AUX_TABLE_52 */, 3 /* UC_AUX_TABLE_53 */, 2 /* UC_AUX_TABLE_54 */, 2 /* UC_AUX_TABLE_55 */, 3 /* UC_AUX_TABLE_56 */, 2 /* UC_AUX_TABLE_57 */, 2 /* UC_AUX_TABLE_58 */, 2 /* UC_AUX_TABLE_59 */, 2 /* UC_AUX_TABLE_60 */, 3 /* UC_AUX_TABLE_61 */, 2 /* UC_AUX_TABLE_62 */, 2 /* UC_AUX_TABLE_63 */, 2 /* UC_AUX_TABLE_64 */, 3 /* UC_AUX_TABLE_65 */, 3 /* UC_AUX_TABLE_66 */, 2 /* UC_AUX_TABLE_67 */, 2 /* UC_AUX_TABLE_68 */, 2 /* UC_AUX_TABLE_69 */, 2 /* UC_AUX_TABLE_70 */, 2 /* UC_AUX_TABLE_71 */, 2 /* UC_AUX_TABLE_72 */ }; static const I32 Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */ 0, 0x41, 0, 0x39C, 0, UC_use_AUX_TABLE_1, 0xC0, 0, 0xD8, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0x49, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, UC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0x53, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C4, 0x1C4, 0, 0x1C7, 0x1C7, 0, 0x1CA, 0x1CA, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, UC_use_AUX_TABLE_3, 0, 0x1F1, 0x1F1, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, UC_use_AUX_TABLE_4, 0, 0x386, 0x388, UC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, UC_use_AUX_TABLE_6, 0, 0x1C90, 0, 0x1CBD, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, UC_use_AUX_TABLE_7, UC_use_AUX_TABLE_8, UC_use_AUX_TABLE_9, UC_use_AUX_TABLE_10, UC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, UC_use_AUX_TABLE_12, 0x1F59, UC_use_AUX_TABLE_13, 0x1F5B, UC_use_AUX_TABLE_14, 0x1F5D, UC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, 0x1FB8, UC_use_AUX_TABLE_40, UC_use_AUX_TABLE_41, UC_use_AUX_TABLE_42, 0, UC_use_AUX_TABLE_43, UC_use_AUX_TABLE_44, 0, UC_use_AUX_TABLE_41, 0, 0x399, 0, UC_use_AUX_TABLE_45, UC_use_AUX_TABLE_46, UC_use_AUX_TABLE_47, 0, UC_use_AUX_TABLE_48, UC_use_AUX_TABLE_49, 0, UC_use_AUX_TABLE_46, 0, 0x1FD8, UC_use_AUX_TABLE_50, UC_use_AUX_TABLE_4, 0, UC_use_AUX_TABLE_51, UC_use_AUX_TABLE_52, 0, 0x1FE8, UC_use_AUX_TABLE_53, UC_use_AUX_TABLE_5, UC_use_AUX_TABLE_54, 0x1FEC, UC_use_AUX_TABLE_55, UC_use_AUX_TABLE_56, 0, UC_use_AUX_TABLE_57, UC_use_AUX_TABLE_58, UC_use_AUX_TABLE_59, 0, UC_use_AUX_TABLE_60, UC_use_AUX_TABLE_61, 0, UC_use_AUX_TABLE_58, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, UC_use_AUX_TABLE_62, UC_use_AUX_TABLE_63, UC_use_AUX_TABLE_64, UC_use_AUX_TABLE_65, UC_use_AUX_TABLE_66, UC_use_AUX_TABLE_67, 0, UC_use_AUX_TABLE_68, UC_use_AUX_TABLE_69, UC_use_AUX_TABLE_70, UC_use_AUX_TABLE_71, UC_use_AUX_TABLE_72, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* ASCII/Latin1 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 1047 */ 1407, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { UC_0 = 0, UC_use_AUX_TABLE_1 = -1, UC_use_AUX_TABLE_2 = -2, UC_use_AUX_TABLE_3 = -3, UC_use_AUX_TABLE_4 = -4, UC_use_AUX_TABLE_5 = -5, UC_use_AUX_TABLE_6 = -6, UC_use_AUX_TABLE_7 = -7, UC_use_AUX_TABLE_8 = -8, UC_use_AUX_TABLE_9 = -9, UC_use_AUX_TABLE_10 = -10, UC_use_AUX_TABLE_11 = -11, UC_use_AUX_TABLE_12 = -12, UC_use_AUX_TABLE_13 = -13, UC_use_AUX_TABLE_14 = -14, UC_use_AUX_TABLE_15 = -15, UC_use_AUX_TABLE_16 = -16, UC_use_AUX_TABLE_17 = -17, UC_use_AUX_TABLE_18 = -18, UC_use_AUX_TABLE_19 = -19, UC_use_AUX_TABLE_20 = -20, UC_use_AUX_TABLE_21 = -21, UC_use_AUX_TABLE_22 = -22, UC_use_AUX_TABLE_23 = -23, UC_use_AUX_TABLE_24 = -24, UC_use_AUX_TABLE_25 = -25, UC_use_AUX_TABLE_26 = -26, UC_use_AUX_TABLE_27 = -27, UC_use_AUX_TABLE_28 = -28, UC_use_AUX_TABLE_29 = -29, UC_use_AUX_TABLE_30 = -30, UC_use_AUX_TABLE_31 = -31, UC_use_AUX_TABLE_32 = -32, UC_use_AUX_TABLE_33 = -33, UC_use_AUX_TABLE_34 = -34, UC_use_AUX_TABLE_35 = -35, UC_use_AUX_TABLE_36 = -36, UC_use_AUX_TABLE_37 = -37, UC_use_AUX_TABLE_38 = -38, UC_use_AUX_TABLE_39 = -39, UC_use_AUX_TABLE_40 = -40, UC_use_AUX_TABLE_41 = -41, UC_use_AUX_TABLE_42 = -42, UC_use_AUX_TABLE_43 = -43, UC_use_AUX_TABLE_44 = -44, UC_use_AUX_TABLE_45 = -45, UC_use_AUX_TABLE_46 = -46, UC_use_AUX_TABLE_47 = -47, UC_use_AUX_TABLE_48 = -48, UC_use_AUX_TABLE_49 = -49, UC_use_AUX_TABLE_50 = -50, UC_use_AUX_TABLE_51 = -51, UC_use_AUX_TABLE_52 = -52, UC_use_AUX_TABLE_53 = -53, UC_use_AUX_TABLE_54 = -54, UC_use_AUX_TABLE_55 = -55, UC_use_AUX_TABLE_56 = -56, UC_use_AUX_TABLE_57 = -57, UC_use_AUX_TABLE_58 = -58, UC_use_AUX_TABLE_59 = -59, UC_use_AUX_TABLE_60 = -60, UC_use_AUX_TABLE_61 = -61, UC_use_AUX_TABLE_62 = -62, UC_use_AUX_TABLE_63 = -63, UC_use_AUX_TABLE_64 = -64, UC_use_AUX_TABLE_65 = -65, UC_use_AUX_TABLE_66 = -66, UC_use_AUX_TABLE_67 = -67, UC_use_AUX_TABLE_68 = -68, UC_use_AUX_TABLE_69 = -69, UC_use_AUX_TABLE_70 = -70, UC_use_AUX_TABLE_71 = -71, UC_use_AUX_TABLE_72 = -72 } UC_enum; #define HAS_UC_AUX_TABLES static const U32 UC_AUX_TABLE_1[] = { 0xE2, 0xE2 }; static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; static const U32 UC_AUX_TABLE_3[] = { 0xD1, 0x30C }; static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; static const U32 UC_AUX_TABLE_7[] = { 0xC8, 0x331 }; static const U32 UC_AUX_TABLE_8[] = { 0xE3, 0x308 }; static const U32 UC_AUX_TABLE_9[] = { 0xE6, 0x30A }; static const U32 UC_AUX_TABLE_10[] = { 0xE8, 0x30A }; static const U32 UC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_62[] = { 0xC6, 0xC6 }; static const U32 UC_AUX_TABLE_63[] = { 0xC6, 0xC9 }; static const U32 UC_AUX_TABLE_64[] = { 0xC6, 0xD3 }; static const U32 UC_AUX_TABLE_65[] = { 0xC6, 0xC6, 0xC9 }; static const U32 UC_AUX_TABLE_66[] = { 0xC6, 0xC6, 0xD3 }; static const U32 UC_AUX_TABLE_67[] = { 0xE2, 0xE3 }; static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, UC_AUX_TABLE_3, UC_AUX_TABLE_4, UC_AUX_TABLE_5, UC_AUX_TABLE_6, UC_AUX_TABLE_7, UC_AUX_TABLE_8, UC_AUX_TABLE_9, UC_AUX_TABLE_10, UC_AUX_TABLE_11, UC_AUX_TABLE_12, UC_AUX_TABLE_13, UC_AUX_TABLE_14, UC_AUX_TABLE_15, UC_AUX_TABLE_16, UC_AUX_TABLE_17, UC_AUX_TABLE_18, UC_AUX_TABLE_19, UC_AUX_TABLE_20, UC_AUX_TABLE_21, UC_AUX_TABLE_22, UC_AUX_TABLE_23, UC_AUX_TABLE_24, UC_AUX_TABLE_25, UC_AUX_TABLE_26, UC_AUX_TABLE_27, UC_AUX_TABLE_28, UC_AUX_TABLE_29, UC_AUX_TABLE_30, UC_AUX_TABLE_31, UC_AUX_TABLE_32, UC_AUX_TABLE_33, UC_AUX_TABLE_34, UC_AUX_TABLE_35, UC_AUX_TABLE_36, UC_AUX_TABLE_37, UC_AUX_TABLE_38, UC_AUX_TABLE_39, UC_AUX_TABLE_40, UC_AUX_TABLE_41, UC_AUX_TABLE_42, UC_AUX_TABLE_43, UC_AUX_TABLE_44, UC_AUX_TABLE_45, UC_AUX_TABLE_46, UC_AUX_TABLE_47, UC_AUX_TABLE_48, UC_AUX_TABLE_49, UC_AUX_TABLE_50, UC_AUX_TABLE_51, UC_AUX_TABLE_52, UC_AUX_TABLE_53, UC_AUX_TABLE_54, UC_AUX_TABLE_55, UC_AUX_TABLE_56, UC_AUX_TABLE_57, UC_AUX_TABLE_58, UC_AUX_TABLE_59, UC_AUX_TABLE_60, UC_AUX_TABLE_61, UC_AUX_TABLE_62, UC_AUX_TABLE_63, UC_AUX_TABLE_64, UC_AUX_TABLE_65, UC_AUX_TABLE_66, UC_AUX_TABLE_67, UC_AUX_TABLE_68, UC_AUX_TABLE_69, UC_AUX_TABLE_70, UC_AUX_TABLE_71, UC_AUX_TABLE_72 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 UC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* UC_AUX_TABLE_1 */, 2 /* UC_AUX_TABLE_2 */, 2 /* UC_AUX_TABLE_3 */, 3 /* UC_AUX_TABLE_4 */, 3 /* UC_AUX_TABLE_5 */, 2 /* UC_AUX_TABLE_6 */, 2 /* UC_AUX_TABLE_7 */, 2 /* UC_AUX_TABLE_8 */, 2 /* UC_AUX_TABLE_9 */, 2 /* UC_AUX_TABLE_10 */, 2 /* UC_AUX_TABLE_11 */, 2 /* UC_AUX_TABLE_12 */, 3 /* UC_AUX_TABLE_13 */, 3 /* UC_AUX_TABLE_14 */, 3 /* UC_AUX_TABLE_15 */, 2 /* UC_AUX_TABLE_16 */, 2 /* UC_AUX_TABLE_17 */, 2 /* UC_AUX_TABLE_18 */, 2 /* UC_AUX_TABLE_19 */, 2 /* UC_AUX_TABLE_20 */, 2 /* UC_AUX_TABLE_21 */, 2 /* UC_AUX_TABLE_22 */, 2 /* UC_AUX_TABLE_23 */, 2 /* UC_AUX_TABLE_24 */, 2 /* UC_AUX_TABLE_25 */, 2 /* UC_AUX_TABLE_26 */, 2 /* UC_AUX_TABLE_27 */, 2 /* UC_AUX_TABLE_28 */, 2 /* UC_AUX_TABLE_29 */, 2 /* UC_AUX_TABLE_30 */, 2 /* UC_AUX_TABLE_31 */, 2 /* UC_AUX_TABLE_32 */, 2 /* UC_AUX_TABLE_33 */, 2 /* UC_AUX_TABLE_34 */, 2 /* UC_AUX_TABLE_35 */, 2 /* UC_AUX_TABLE_36 */, 2 /* UC_AUX_TABLE_37 */, 2 /* UC_AUX_TABLE_38 */, 2 /* UC_AUX_TABLE_39 */, 2 /* UC_AUX_TABLE_40 */, 2 /* UC_AUX_TABLE_41 */, 2 /* UC_AUX_TABLE_42 */, 2 /* UC_AUX_TABLE_43 */, 3 /* UC_AUX_TABLE_44 */, 2 /* UC_AUX_TABLE_45 */, 2 /* UC_AUX_TABLE_46 */, 2 /* UC_AUX_TABLE_47 */, 2 /* UC_AUX_TABLE_48 */, 3 /* UC_AUX_TABLE_49 */, 3 /* UC_AUX_TABLE_50 */, 2 /* UC_AUX_TABLE_51 */, 3 /* UC_AUX_TABLE_52 */, 3 /* UC_AUX_TABLE_53 */, 2 /* UC_AUX_TABLE_54 */, 2 /* UC_AUX_TABLE_55 */, 3 /* UC_AUX_TABLE_56 */, 2 /* UC_AUX_TABLE_57 */, 2 /* UC_AUX_TABLE_58 */, 2 /* UC_AUX_TABLE_59 */, 2 /* UC_AUX_TABLE_60 */, 3 /* UC_AUX_TABLE_61 */, 2 /* UC_AUX_TABLE_62 */, 2 /* UC_AUX_TABLE_63 */, 2 /* UC_AUX_TABLE_64 */, 3 /* UC_AUX_TABLE_65 */, 3 /* UC_AUX_TABLE_66 */, 2 /* UC_AUX_TABLE_67 */, 2 /* UC_AUX_TABLE_68 */, 2 /* UC_AUX_TABLE_69 */, 2 /* UC_AUX_TABLE_70 */, 2 /* UC_AUX_TABLE_71 */, 2 /* UC_AUX_TABLE_72 */ }; static const I32 Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */ 0, 0x62, 0, 0x71, UC_use_AUX_TABLE_1, 0, 0x80, 0, 0xC1, 0, 0xAC, 0xBA, 0xAE, 0, 0xD1, 0, 0x9E, 0, 0x39C, 0, 0xE2, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0xC9, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, UC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0xE2, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C4, 0x1C4, 0, 0x1C7, 0x1C7, 0, 0x1CA, 0x1CA, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, UC_use_AUX_TABLE_3, 0, 0x1F1, 0x1F1, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, UC_use_AUX_TABLE_4, 0, 0x386, 0x388, UC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, UC_use_AUX_TABLE_6, 0, 0x1C90, 0, 0x1CBD, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, UC_use_AUX_TABLE_7, UC_use_AUX_TABLE_8, UC_use_AUX_TABLE_9, UC_use_AUX_TABLE_10, UC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, UC_use_AUX_TABLE_12, 0x1F59, UC_use_AUX_TABLE_13, 0x1F5B, UC_use_AUX_TABLE_14, 0x1F5D, UC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, 0x1FB8, UC_use_AUX_TABLE_40, UC_use_AUX_TABLE_41, UC_use_AUX_TABLE_42, 0, UC_use_AUX_TABLE_43, UC_use_AUX_TABLE_44, 0, UC_use_AUX_TABLE_41, 0, 0x399, 0, UC_use_AUX_TABLE_45, UC_use_AUX_TABLE_46, UC_use_AUX_TABLE_47, 0, UC_use_AUX_TABLE_48, UC_use_AUX_TABLE_49, 0, UC_use_AUX_TABLE_46, 0, 0x1FD8, UC_use_AUX_TABLE_50, UC_use_AUX_TABLE_4, 0, UC_use_AUX_TABLE_51, UC_use_AUX_TABLE_52, 0, 0x1FE8, UC_use_AUX_TABLE_53, UC_use_AUX_TABLE_5, UC_use_AUX_TABLE_54, 0x1FEC, UC_use_AUX_TABLE_55, UC_use_AUX_TABLE_56, 0, UC_use_AUX_TABLE_57, UC_use_AUX_TABLE_58, UC_use_AUX_TABLE_59, 0, UC_use_AUX_TABLE_60, UC_use_AUX_TABLE_61, 0, UC_use_AUX_TABLE_58, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, UC_use_AUX_TABLE_62, UC_use_AUX_TABLE_63, UC_use_AUX_TABLE_64, UC_use_AUX_TABLE_65, UC_use_AUX_TABLE_66, UC_use_AUX_TABLE_67, 0, UC_use_AUX_TABLE_68, UC_use_AUX_TABLE_69, UC_use_AUX_TABLE_70, UC_use_AUX_TABLE_71, UC_use_AUX_TABLE_72, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 1047 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 037 */ 1405, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xDF, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19A, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C6, 0x1C7, 0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x250, 0x251, 0x252, 0x253, 0x254, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25C, 0x25D, 0x260, 0x261, 0x262, 0x263, 0x264, 0x265, 0x266, 0x267, 0x268, 0x269, 0x26A, 0x26B, 0x26C, 0x26D, 0x26F, 0x270, 0x271, 0x272, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x283, 0x284, 0x287, 0x288, 0x289, 0x28A, 0x28C, 0x28D, 0x292, 0x293, 0x29D, 0x29E, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3AD, 0x3B0, 0x3B1, 0x3C2, 0x3C3, 0x3CC, 0x3CD, 0x3CF, 0x3D0, 0x3D1, 0x3D2, 0x3D5, 0x3D6, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F1, 0x3F2, 0x3F3, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x450, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4CF, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x587, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C81, 0x1C82, 0x1C83, 0x1C85, 0x1C86, 0x1C87, 0x1C88, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E96, 0x1E97, 0x1E98, 0x1E99, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F00, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F72, 0x1F76, 0x1F78, 0x1F7A, 0x1F7C, 0x1F7E, 0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87, 0x1F88, 0x1F89, 0x1F8A, 0x1F8B, 0x1F8C, 0x1F8D, 0x1F8E, 0x1F8F, 0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97, 0x1F98, 0x1F99, 0x1F9A, 0x1F9B, 0x1F9C, 0x1F9D, 0x1F9E, 0x1F9F, 0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7, 0x1FA8, 0x1FA9, 0x1FAA, 0x1FAB, 0x1FAC, 0x1FAD, 0x1FAE, 0x1FAF, 0x1FB0, 0x1FB2, 0x1FB3, 0x1FB4, 0x1FB5, 0x1FB6, 0x1FB7, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC3, 0x1FC4, 0x1FC5, 0x1FC6, 0x1FC7, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD2, 0x1FD3, 0x1FD4, 0x1FD6, 0x1FD7, 0x1FD8, 0x1FE0, 0x1FE2, 0x1FE3, 0x1FE4, 0x1FE5, 0x1FE6, 0x1FE7, 0x1FE8, 0x1FF2, 0x1FF3, 0x1FF4, 0x1FF5, 0x1FF6, 0x1FF7, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA794, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB01, 0xFB02, 0xFB03, 0xFB04, 0xFB05, 0xFB07, 0xFB13, 0xFB14, 0xFB15, 0xFB16, 0xFB17, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_UTF8_C) # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 /* Negative enum values indicate the need to use an auxiliary table * consisting of the list of enums this one expands to. The absolute * values of the negative enums are indices into a table of the auxiliary * tables' addresses */ typedef enum { UC_0 = 0, UC_use_AUX_TABLE_1 = -1, UC_use_AUX_TABLE_2 = -2, UC_use_AUX_TABLE_3 = -3, UC_use_AUX_TABLE_4 = -4, UC_use_AUX_TABLE_5 = -5, UC_use_AUX_TABLE_6 = -6, UC_use_AUX_TABLE_7 = -7, UC_use_AUX_TABLE_8 = -8, UC_use_AUX_TABLE_9 = -9, UC_use_AUX_TABLE_10 = -10, UC_use_AUX_TABLE_11 = -11, UC_use_AUX_TABLE_12 = -12, UC_use_AUX_TABLE_13 = -13, UC_use_AUX_TABLE_14 = -14, UC_use_AUX_TABLE_15 = -15, UC_use_AUX_TABLE_16 = -16, UC_use_AUX_TABLE_17 = -17, UC_use_AUX_TABLE_18 = -18, UC_use_AUX_TABLE_19 = -19, UC_use_AUX_TABLE_20 = -20, UC_use_AUX_TABLE_21 = -21, UC_use_AUX_TABLE_22 = -22, UC_use_AUX_TABLE_23 = -23, UC_use_AUX_TABLE_24 = -24, UC_use_AUX_TABLE_25 = -25, UC_use_AUX_TABLE_26 = -26, UC_use_AUX_TABLE_27 = -27, UC_use_AUX_TABLE_28 = -28, UC_use_AUX_TABLE_29 = -29, UC_use_AUX_TABLE_30 = -30, UC_use_AUX_TABLE_31 = -31, UC_use_AUX_TABLE_32 = -32, UC_use_AUX_TABLE_33 = -33, UC_use_AUX_TABLE_34 = -34, UC_use_AUX_TABLE_35 = -35, UC_use_AUX_TABLE_36 = -36, UC_use_AUX_TABLE_37 = -37, UC_use_AUX_TABLE_38 = -38, UC_use_AUX_TABLE_39 = -39, UC_use_AUX_TABLE_40 = -40, UC_use_AUX_TABLE_41 = -41, UC_use_AUX_TABLE_42 = -42, UC_use_AUX_TABLE_43 = -43, UC_use_AUX_TABLE_44 = -44, UC_use_AUX_TABLE_45 = -45, UC_use_AUX_TABLE_46 = -46, UC_use_AUX_TABLE_47 = -47, UC_use_AUX_TABLE_48 = -48, UC_use_AUX_TABLE_49 = -49, UC_use_AUX_TABLE_50 = -50, UC_use_AUX_TABLE_51 = -51, UC_use_AUX_TABLE_52 = -52, UC_use_AUX_TABLE_53 = -53, UC_use_AUX_TABLE_54 = -54, UC_use_AUX_TABLE_55 = -55, UC_use_AUX_TABLE_56 = -56, UC_use_AUX_TABLE_57 = -57, UC_use_AUX_TABLE_58 = -58, UC_use_AUX_TABLE_59 = -59, UC_use_AUX_TABLE_60 = -60, UC_use_AUX_TABLE_61 = -61, UC_use_AUX_TABLE_62 = -62, UC_use_AUX_TABLE_63 = -63, UC_use_AUX_TABLE_64 = -64, UC_use_AUX_TABLE_65 = -65, UC_use_AUX_TABLE_66 = -66, UC_use_AUX_TABLE_67 = -67, UC_use_AUX_TABLE_68 = -68, UC_use_AUX_TABLE_69 = -69, UC_use_AUX_TABLE_70 = -70, UC_use_AUX_TABLE_71 = -71, UC_use_AUX_TABLE_72 = -72 } UC_enum; #define HAS_UC_AUX_TABLES static const U32 UC_AUX_TABLE_1[] = { 0xE2, 0xE2 }; static const U32 UC_AUX_TABLE_2[] = { 0x2BC, 0xD5 }; static const U32 UC_AUX_TABLE_3[] = { 0xD1, 0x30C }; static const U32 UC_AUX_TABLE_4[] = { 0x399, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_5[] = { 0x3A5, 0x308, 0x301 }; static const U32 UC_AUX_TABLE_6[] = { 0x535, 0x552 }; static const U32 UC_AUX_TABLE_7[] = { 0xC8, 0x331 }; static const U32 UC_AUX_TABLE_8[] = { 0xE3, 0x308 }; static const U32 UC_AUX_TABLE_9[] = { 0xE6, 0x30A }; static const U32 UC_AUX_TABLE_10[] = { 0xE8, 0x30A }; static const U32 UC_AUX_TABLE_11[] = { 0xC1, 0x2BE }; static const U32 UC_AUX_TABLE_12[] = { 0x3A5, 0x313 }; static const U32 UC_AUX_TABLE_13[] = { 0x3A5, 0x313, 0x300 }; static const U32 UC_AUX_TABLE_14[] = { 0x3A5, 0x313, 0x301 }; static const U32 UC_AUX_TABLE_15[] = { 0x3A5, 0x313, 0x342 }; static const U32 UC_AUX_TABLE_16[] = { 0x1F08, 0x399 }; static const U32 UC_AUX_TABLE_17[] = { 0x1F09, 0x399 }; static const U32 UC_AUX_TABLE_18[] = { 0x1F0A, 0x399 }; static const U32 UC_AUX_TABLE_19[] = { 0x1F0B, 0x399 }; static const U32 UC_AUX_TABLE_20[] = { 0x1F0C, 0x399 }; static const U32 UC_AUX_TABLE_21[] = { 0x1F0D, 0x399 }; static const U32 UC_AUX_TABLE_22[] = { 0x1F0E, 0x399 }; static const U32 UC_AUX_TABLE_23[] = { 0x1F0F, 0x399 }; static const U32 UC_AUX_TABLE_24[] = { 0x1F28, 0x399 }; static const U32 UC_AUX_TABLE_25[] = { 0x1F29, 0x399 }; static const U32 UC_AUX_TABLE_26[] = { 0x1F2A, 0x399 }; static const U32 UC_AUX_TABLE_27[] = { 0x1F2B, 0x399 }; static const U32 UC_AUX_TABLE_28[] = { 0x1F2C, 0x399 }; static const U32 UC_AUX_TABLE_29[] = { 0x1F2D, 0x399 }; static const U32 UC_AUX_TABLE_30[] = { 0x1F2E, 0x399 }; static const U32 UC_AUX_TABLE_31[] = { 0x1F2F, 0x399 }; static const U32 UC_AUX_TABLE_32[] = { 0x1F68, 0x399 }; static const U32 UC_AUX_TABLE_33[] = { 0x1F69, 0x399 }; static const U32 UC_AUX_TABLE_34[] = { 0x1F6A, 0x399 }; static const U32 UC_AUX_TABLE_35[] = { 0x1F6B, 0x399 }; static const U32 UC_AUX_TABLE_36[] = { 0x1F6C, 0x399 }; static const U32 UC_AUX_TABLE_37[] = { 0x1F6D, 0x399 }; static const U32 UC_AUX_TABLE_38[] = { 0x1F6E, 0x399 }; static const U32 UC_AUX_TABLE_39[] = { 0x1F6F, 0x399 }; static const U32 UC_AUX_TABLE_40[] = { 0x1FBA, 0x399 }; static const U32 UC_AUX_TABLE_41[] = { 0x391, 0x399 }; static const U32 UC_AUX_TABLE_42[] = { 0x386, 0x399 }; static const U32 UC_AUX_TABLE_43[] = { 0x391, 0x342 }; static const U32 UC_AUX_TABLE_44[] = { 0x391, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_45[] = { 0x1FCA, 0x399 }; static const U32 UC_AUX_TABLE_46[] = { 0x397, 0x399 }; static const U32 UC_AUX_TABLE_47[] = { 0x389, 0x399 }; static const U32 UC_AUX_TABLE_48[] = { 0x397, 0x342 }; static const U32 UC_AUX_TABLE_49[] = { 0x397, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_50[] = { 0x399, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_51[] = { 0x399, 0x342 }; static const U32 UC_AUX_TABLE_52[] = { 0x399, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_53[] = { 0x3A5, 0x308, 0x300 }; static const U32 UC_AUX_TABLE_54[] = { 0x3A1, 0x313 }; static const U32 UC_AUX_TABLE_55[] = { 0x3A5, 0x342 }; static const U32 UC_AUX_TABLE_56[] = { 0x3A5, 0x308, 0x342 }; static const U32 UC_AUX_TABLE_57[] = { 0x1FFA, 0x399 }; static const U32 UC_AUX_TABLE_58[] = { 0x3A9, 0x399 }; static const U32 UC_AUX_TABLE_59[] = { 0x38F, 0x399 }; static const U32 UC_AUX_TABLE_60[] = { 0x3A9, 0x342 }; static const U32 UC_AUX_TABLE_61[] = { 0x3A9, 0x342, 0x399 }; static const U32 UC_AUX_TABLE_62[] = { 0xC6, 0xC6 }; static const U32 UC_AUX_TABLE_63[] = { 0xC6, 0xC9 }; static const U32 UC_AUX_TABLE_64[] = { 0xC6, 0xD3 }; static const U32 UC_AUX_TABLE_65[] = { 0xC6, 0xC6, 0xC9 }; static const U32 UC_AUX_TABLE_66[] = { 0xC6, 0xC6, 0xD3 }; static const U32 UC_AUX_TABLE_67[] = { 0xE2, 0xE3 }; static const U32 UC_AUX_TABLE_68[] = { 0x544, 0x546 }; static const U32 UC_AUX_TABLE_69[] = { 0x544, 0x535 }; static const U32 UC_AUX_TABLE_70[] = { 0x544, 0x53B }; static const U32 UC_AUX_TABLE_71[] = { 0x54E, 0x546 }; static const U32 UC_AUX_TABLE_72[] = { 0x544, 0x53D }; static const U32 * const UC_AUX_TABLE_ptrs[] = { NULL, /* Placeholder */ UC_AUX_TABLE_1, UC_AUX_TABLE_2, UC_AUX_TABLE_3, UC_AUX_TABLE_4, UC_AUX_TABLE_5, UC_AUX_TABLE_6, UC_AUX_TABLE_7, UC_AUX_TABLE_8, UC_AUX_TABLE_9, UC_AUX_TABLE_10, UC_AUX_TABLE_11, UC_AUX_TABLE_12, UC_AUX_TABLE_13, UC_AUX_TABLE_14, UC_AUX_TABLE_15, UC_AUX_TABLE_16, UC_AUX_TABLE_17, UC_AUX_TABLE_18, UC_AUX_TABLE_19, UC_AUX_TABLE_20, UC_AUX_TABLE_21, UC_AUX_TABLE_22, UC_AUX_TABLE_23, UC_AUX_TABLE_24, UC_AUX_TABLE_25, UC_AUX_TABLE_26, UC_AUX_TABLE_27, UC_AUX_TABLE_28, UC_AUX_TABLE_29, UC_AUX_TABLE_30, UC_AUX_TABLE_31, UC_AUX_TABLE_32, UC_AUX_TABLE_33, UC_AUX_TABLE_34, UC_AUX_TABLE_35, UC_AUX_TABLE_36, UC_AUX_TABLE_37, UC_AUX_TABLE_38, UC_AUX_TABLE_39, UC_AUX_TABLE_40, UC_AUX_TABLE_41, UC_AUX_TABLE_42, UC_AUX_TABLE_43, UC_AUX_TABLE_44, UC_AUX_TABLE_45, UC_AUX_TABLE_46, UC_AUX_TABLE_47, UC_AUX_TABLE_48, UC_AUX_TABLE_49, UC_AUX_TABLE_50, UC_AUX_TABLE_51, UC_AUX_TABLE_52, UC_AUX_TABLE_53, UC_AUX_TABLE_54, UC_AUX_TABLE_55, UC_AUX_TABLE_56, UC_AUX_TABLE_57, UC_AUX_TABLE_58, UC_AUX_TABLE_59, UC_AUX_TABLE_60, UC_AUX_TABLE_61, UC_AUX_TABLE_62, UC_AUX_TABLE_63, UC_AUX_TABLE_64, UC_AUX_TABLE_65, UC_AUX_TABLE_66, UC_AUX_TABLE_67, UC_AUX_TABLE_68, UC_AUX_TABLE_69, UC_AUX_TABLE_70, UC_AUX_TABLE_71, UC_AUX_TABLE_72 }; /* Parallel table to the above, giving the number of elements in each table * pointed to */ static const U8 UC_AUX_TABLE_lengths[] = { 0, /* Placeholder */ 2 /* UC_AUX_TABLE_1 */, 2 /* UC_AUX_TABLE_2 */, 2 /* UC_AUX_TABLE_3 */, 3 /* UC_AUX_TABLE_4 */, 3 /* UC_AUX_TABLE_5 */, 2 /* UC_AUX_TABLE_6 */, 2 /* UC_AUX_TABLE_7 */, 2 /* UC_AUX_TABLE_8 */, 2 /* UC_AUX_TABLE_9 */, 2 /* UC_AUX_TABLE_10 */, 2 /* UC_AUX_TABLE_11 */, 2 /* UC_AUX_TABLE_12 */, 3 /* UC_AUX_TABLE_13 */, 3 /* UC_AUX_TABLE_14 */, 3 /* UC_AUX_TABLE_15 */, 2 /* UC_AUX_TABLE_16 */, 2 /* UC_AUX_TABLE_17 */, 2 /* UC_AUX_TABLE_18 */, 2 /* UC_AUX_TABLE_19 */, 2 /* UC_AUX_TABLE_20 */, 2 /* UC_AUX_TABLE_21 */, 2 /* UC_AUX_TABLE_22 */, 2 /* UC_AUX_TABLE_23 */, 2 /* UC_AUX_TABLE_24 */, 2 /* UC_AUX_TABLE_25 */, 2 /* UC_AUX_TABLE_26 */, 2 /* UC_AUX_TABLE_27 */, 2 /* UC_AUX_TABLE_28 */, 2 /* UC_AUX_TABLE_29 */, 2 /* UC_AUX_TABLE_30 */, 2 /* UC_AUX_TABLE_31 */, 2 /* UC_AUX_TABLE_32 */, 2 /* UC_AUX_TABLE_33 */, 2 /* UC_AUX_TABLE_34 */, 2 /* UC_AUX_TABLE_35 */, 2 /* UC_AUX_TABLE_36 */, 2 /* UC_AUX_TABLE_37 */, 2 /* UC_AUX_TABLE_38 */, 2 /* UC_AUX_TABLE_39 */, 2 /* UC_AUX_TABLE_40 */, 2 /* UC_AUX_TABLE_41 */, 2 /* UC_AUX_TABLE_42 */, 2 /* UC_AUX_TABLE_43 */, 3 /* UC_AUX_TABLE_44 */, 2 /* UC_AUX_TABLE_45 */, 2 /* UC_AUX_TABLE_46 */, 2 /* UC_AUX_TABLE_47 */, 2 /* UC_AUX_TABLE_48 */, 3 /* UC_AUX_TABLE_49 */, 3 /* UC_AUX_TABLE_50 */, 2 /* UC_AUX_TABLE_51 */, 3 /* UC_AUX_TABLE_52 */, 3 /* UC_AUX_TABLE_53 */, 2 /* UC_AUX_TABLE_54 */, 2 /* UC_AUX_TABLE_55 */, 3 /* UC_AUX_TABLE_56 */, 2 /* UC_AUX_TABLE_57 */, 2 /* UC_AUX_TABLE_58 */, 2 /* UC_AUX_TABLE_59 */, 2 /* UC_AUX_TABLE_60 */, 3 /* UC_AUX_TABLE_61 */, 2 /* UC_AUX_TABLE_62 */, 2 /* UC_AUX_TABLE_63 */, 2 /* UC_AUX_TABLE_64 */, 3 /* UC_AUX_TABLE_65 */, 3 /* UC_AUX_TABLE_66 */, 2 /* UC_AUX_TABLE_67 */, 2 /* UC_AUX_TABLE_68 */, 2 /* UC_AUX_TABLE_69 */, 2 /* UC_AUX_TABLE_70 */, 2 /* UC_AUX_TABLE_71 */, 2 /* UC_AUX_TABLE_72 */ }; static const I32 Uppercase_Mapping_invmap[] = { /* for EBCDIC 037 */ 0, 0x62, 0, 0x71, UC_use_AUX_TABLE_1, 0, 0x80, 0, 0xC1, 0, 0xAC, 0, 0xD1, 0, 0x9E, 0, 0x39C, 0, 0xE2, 0, 0xEB, 0, 0xFB, 0x178, 0, 0x100, 0, 0x102, 0, 0x104, 0, 0x106, 0, 0x108, 0, 0x10A, 0, 0x10C, 0, 0x10E, 0, 0x110, 0, 0x112, 0, 0x114, 0, 0x116, 0, 0x118, 0, 0x11A, 0, 0x11C, 0, 0x11E, 0, 0x120, 0, 0x122, 0, 0x124, 0, 0x126, 0, 0x128, 0, 0x12A, 0, 0x12C, 0, 0x12E, 0, 0xC9, 0, 0x132, 0, 0x134, 0, 0x136, 0, 0x139, 0, 0x13B, 0, 0x13D, 0, 0x13F, 0, 0x141, 0, 0x143, 0, 0x145, 0, 0x147, UC_use_AUX_TABLE_2, 0, 0x14A, 0, 0x14C, 0, 0x14E, 0, 0x150, 0, 0x152, 0, 0x154, 0, 0x156, 0, 0x158, 0, 0x15A, 0, 0x15C, 0, 0x15E, 0, 0x160, 0, 0x162, 0, 0x164, 0, 0x166, 0, 0x168, 0, 0x16A, 0, 0x16C, 0, 0x16E, 0, 0x170, 0, 0x172, 0, 0x174, 0, 0x176, 0, 0x179, 0, 0x17B, 0, 0x17D, 0xE2, 0x243, 0, 0x182, 0, 0x184, 0, 0x187, 0, 0x18B, 0, 0x191, 0, 0x1F6, 0, 0x198, 0x23D, 0, 0x220, 0, 0x1A0, 0, 0x1A2, 0, 0x1A4, 0, 0x1A7, 0, 0x1AC, 0, 0x1AF, 0, 0x1B3, 0, 0x1B5, 0, 0x1B8, 0, 0x1BC, 0, 0x1F7, 0, 0x1C4, 0x1C4, 0, 0x1C7, 0x1C7, 0, 0x1CA, 0x1CA, 0, 0x1CD, 0, 0x1CF, 0, 0x1D1, 0, 0x1D3, 0, 0x1D5, 0, 0x1D7, 0, 0x1D9, 0, 0x1DB, 0x18E, 0, 0x1DE, 0, 0x1E0, 0, 0x1E2, 0, 0x1E4, 0, 0x1E6, 0, 0x1E8, 0, 0x1EA, 0, 0x1EC, 0, 0x1EE, UC_use_AUX_TABLE_3, 0, 0x1F1, 0x1F1, 0, 0x1F4, 0, 0x1F8, 0, 0x1FA, 0, 0x1FC, 0, 0x1FE, 0, 0x200, 0, 0x202, 0, 0x204, 0, 0x206, 0, 0x208, 0, 0x20A, 0, 0x20C, 0, 0x20E, 0, 0x210, 0, 0x212, 0, 0x214, 0, 0x216, 0, 0x218, 0, 0x21A, 0, 0x21C, 0, 0x21E, 0, 0x222, 0, 0x224, 0, 0x226, 0, 0x228, 0, 0x22A, 0, 0x22C, 0, 0x22E, 0, 0x230, 0, 0x232, 0, 0x23B, 0, 0x2C7E, 0, 0x241, 0, 0x246, 0, 0x248, 0, 0x24A, 0, 0x24C, 0, 0x24E, 0x2C6F, 0x2C6D, 0x2C70, 0x181, 0x186, 0, 0x189, 0, 0x18F, 0, 0x190, 0xA7AB, 0, 0x193, 0xA7AC, 0, 0x194, 0, 0xA78D, 0xA7AA, 0, 0x197, 0x196, 0xA7AE, 0x2C62, 0xA7AD, 0, 0x19C, 0, 0x2C6E, 0x19D, 0, 0x19F, 0, 0x2C64, 0, 0x1A6, 0, 0xA7C5, 0x1A9, 0, 0xA7B1, 0x1AE, 0x244, 0x1B1, 0x245, 0, 0x1B7, 0, 0xA7B2, 0xA7B0, 0, 0x399, 0, 0x370, 0, 0x372, 0, 0x376, 0, 0x3FD, 0, UC_use_AUX_TABLE_4, 0, 0x386, 0x388, UC_use_AUX_TABLE_5, 0x391, 0x3A3, 0x3A3, 0x38C, 0x38E, 0, 0x392, 0x398, 0, 0x3A6, 0x3A0, 0x3CF, 0, 0x3D8, 0, 0x3DA, 0, 0x3DC, 0, 0x3DE, 0, 0x3E0, 0, 0x3E2, 0, 0x3E4, 0, 0x3E6, 0, 0x3E8, 0, 0x3EA, 0, 0x3EC, 0, 0x3EE, 0x39A, 0x3A1, 0x3F9, 0x37F, 0, 0x395, 0, 0x3F7, 0, 0x3FA, 0, 0x410, 0x400, 0, 0x460, 0, 0x462, 0, 0x464, 0, 0x466, 0, 0x468, 0, 0x46A, 0, 0x46C, 0, 0x46E, 0, 0x470, 0, 0x472, 0, 0x474, 0, 0x476, 0, 0x478, 0, 0x47A, 0, 0x47C, 0, 0x47E, 0, 0x480, 0, 0x48A, 0, 0x48C, 0, 0x48E, 0, 0x490, 0, 0x492, 0, 0x494, 0, 0x496, 0, 0x498, 0, 0x49A, 0, 0x49C, 0, 0x49E, 0, 0x4A0, 0, 0x4A2, 0, 0x4A4, 0, 0x4A6, 0, 0x4A8, 0, 0x4AA, 0, 0x4AC, 0, 0x4AE, 0, 0x4B0, 0, 0x4B2, 0, 0x4B4, 0, 0x4B6, 0, 0x4B8, 0, 0x4BA, 0, 0x4BC, 0, 0x4BE, 0, 0x4C1, 0, 0x4C3, 0, 0x4C5, 0, 0x4C7, 0, 0x4C9, 0, 0x4CB, 0, 0x4CD, 0x4C0, 0, 0x4D0, 0, 0x4D2, 0, 0x4D4, 0, 0x4D6, 0, 0x4D8, 0, 0x4DA, 0, 0x4DC, 0, 0x4DE, 0, 0x4E0, 0, 0x4E2, 0, 0x4E4, 0, 0x4E6, 0, 0x4E8, 0, 0x4EA, 0, 0x4EC, 0, 0x4EE, 0, 0x4F0, 0, 0x4F2, 0, 0x4F4, 0, 0x4F6, 0, 0x4F8, 0, 0x4FA, 0, 0x4FC, 0, 0x4FE, 0, 0x500, 0, 0x502, 0, 0x504, 0, 0x506, 0, 0x508, 0, 0x50A, 0, 0x50C, 0, 0x50E, 0, 0x510, 0, 0x512, 0, 0x514, 0, 0x516, 0, 0x518, 0, 0x51A, 0, 0x51C, 0, 0x51E, 0, 0x520, 0, 0x522, 0, 0x524, 0, 0x526, 0, 0x528, 0, 0x52A, 0, 0x52C, 0, 0x52E, 0, 0x531, UC_use_AUX_TABLE_6, 0, 0x1C90, 0, 0x1CBD, 0, 0x13F0, 0, 0x412, 0x414, 0x41E, 0x421, 0x422, 0x42A, 0x462, 0xA64A, 0, 0xA77D, 0, 0x2C63, 0, 0xA7C6, 0, 0x1E00, 0, 0x1E02, 0, 0x1E04, 0, 0x1E06, 0, 0x1E08, 0, 0x1E0A, 0, 0x1E0C, 0, 0x1E0E, 0, 0x1E10, 0, 0x1E12, 0, 0x1E14, 0, 0x1E16, 0, 0x1E18, 0, 0x1E1A, 0, 0x1E1C, 0, 0x1E1E, 0, 0x1E20, 0, 0x1E22, 0, 0x1E24, 0, 0x1E26, 0, 0x1E28, 0, 0x1E2A, 0, 0x1E2C, 0, 0x1E2E, 0, 0x1E30, 0, 0x1E32, 0, 0x1E34, 0, 0x1E36, 0, 0x1E38, 0, 0x1E3A, 0, 0x1E3C, 0, 0x1E3E, 0, 0x1E40, 0, 0x1E42, 0, 0x1E44, 0, 0x1E46, 0, 0x1E48, 0, 0x1E4A, 0, 0x1E4C, 0, 0x1E4E, 0, 0x1E50, 0, 0x1E52, 0, 0x1E54, 0, 0x1E56, 0, 0x1E58, 0, 0x1E5A, 0, 0x1E5C, 0, 0x1E5E, 0, 0x1E60, 0, 0x1E62, 0, 0x1E64, 0, 0x1E66, 0, 0x1E68, 0, 0x1E6A, 0, 0x1E6C, 0, 0x1E6E, 0, 0x1E70, 0, 0x1E72, 0, 0x1E74, 0, 0x1E76, 0, 0x1E78, 0, 0x1E7A, 0, 0x1E7C, 0, 0x1E7E, 0, 0x1E80, 0, 0x1E82, 0, 0x1E84, 0, 0x1E86, 0, 0x1E88, 0, 0x1E8A, 0, 0x1E8C, 0, 0x1E8E, 0, 0x1E90, 0, 0x1E92, 0, 0x1E94, UC_use_AUX_TABLE_7, UC_use_AUX_TABLE_8, UC_use_AUX_TABLE_9, UC_use_AUX_TABLE_10, UC_use_AUX_TABLE_11, 0x1E60, 0, 0x1EA0, 0, 0x1EA2, 0, 0x1EA4, 0, 0x1EA6, 0, 0x1EA8, 0, 0x1EAA, 0, 0x1EAC, 0, 0x1EAE, 0, 0x1EB0, 0, 0x1EB2, 0, 0x1EB4, 0, 0x1EB6, 0, 0x1EB8, 0, 0x1EBA, 0, 0x1EBC, 0, 0x1EBE, 0, 0x1EC0, 0, 0x1EC2, 0, 0x1EC4, 0, 0x1EC6, 0, 0x1EC8, 0, 0x1ECA, 0, 0x1ECC, 0, 0x1ECE, 0, 0x1ED0, 0, 0x1ED2, 0, 0x1ED4, 0, 0x1ED6, 0, 0x1ED8, 0, 0x1EDA, 0, 0x1EDC, 0, 0x1EDE, 0, 0x1EE0, 0, 0x1EE2, 0, 0x1EE4, 0, 0x1EE6, 0, 0x1EE8, 0, 0x1EEA, 0, 0x1EEC, 0, 0x1EEE, 0, 0x1EF0, 0, 0x1EF2, 0, 0x1EF4, 0, 0x1EF6, 0, 0x1EF8, 0, 0x1EFA, 0, 0x1EFC, 0, 0x1EFE, 0x1F08, 0, 0x1F18, 0, 0x1F28, 0, 0x1F38, 0, 0x1F48, 0, UC_use_AUX_TABLE_12, 0x1F59, UC_use_AUX_TABLE_13, 0x1F5B, UC_use_AUX_TABLE_14, 0x1F5D, UC_use_AUX_TABLE_15, 0x1F5F, 0, 0x1F68, 0, 0x1FBA, 0x1FC8, 0x1FDA, 0x1FF8, 0x1FEA, 0x1FFA, 0, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_16, UC_use_AUX_TABLE_17, UC_use_AUX_TABLE_18, UC_use_AUX_TABLE_19, UC_use_AUX_TABLE_20, UC_use_AUX_TABLE_21, UC_use_AUX_TABLE_22, UC_use_AUX_TABLE_23, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_24, UC_use_AUX_TABLE_25, UC_use_AUX_TABLE_26, UC_use_AUX_TABLE_27, UC_use_AUX_TABLE_28, UC_use_AUX_TABLE_29, UC_use_AUX_TABLE_30, UC_use_AUX_TABLE_31, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, UC_use_AUX_TABLE_32, UC_use_AUX_TABLE_33, UC_use_AUX_TABLE_34, UC_use_AUX_TABLE_35, UC_use_AUX_TABLE_36, UC_use_AUX_TABLE_37, UC_use_AUX_TABLE_38, UC_use_AUX_TABLE_39, 0x1FB8, UC_use_AUX_TABLE_40, UC_use_AUX_TABLE_41, UC_use_AUX_TABLE_42, 0, UC_use_AUX_TABLE_43, UC_use_AUX_TABLE_44, 0, UC_use_AUX_TABLE_41, 0, 0x399, 0, UC_use_AUX_TABLE_45, UC_use_AUX_TABLE_46, UC_use_AUX_TABLE_47, 0, UC_use_AUX_TABLE_48, UC_use_AUX_TABLE_49, 0, UC_use_AUX_TABLE_46, 0, 0x1FD8, UC_use_AUX_TABLE_50, UC_use_AUX_TABLE_4, 0, UC_use_AUX_TABLE_51, UC_use_AUX_TABLE_52, 0, 0x1FE8, UC_use_AUX_TABLE_53, UC_use_AUX_TABLE_5, UC_use_AUX_TABLE_54, 0x1FEC, UC_use_AUX_TABLE_55, UC_use_AUX_TABLE_56, 0, UC_use_AUX_TABLE_57, UC_use_AUX_TABLE_58, UC_use_AUX_TABLE_59, 0, UC_use_AUX_TABLE_60, UC_use_AUX_TABLE_61, 0, UC_use_AUX_TABLE_58, 0, 0x2132, 0, 0x2160, 0, 0x2183, 0, 0x24B6, 0, 0x2C00, 0, 0x2C60, 0, 0x23A, 0x23E, 0, 0x2C67, 0, 0x2C69, 0, 0x2C6B, 0, 0x2C72, 0, 0x2C75, 0, 0x2C80, 0, 0x2C82, 0, 0x2C84, 0, 0x2C86, 0, 0x2C88, 0, 0x2C8A, 0, 0x2C8C, 0, 0x2C8E, 0, 0x2C90, 0, 0x2C92, 0, 0x2C94, 0, 0x2C96, 0, 0x2C98, 0, 0x2C9A, 0, 0x2C9C, 0, 0x2C9E, 0, 0x2CA0, 0, 0x2CA2, 0, 0x2CA4, 0, 0x2CA6, 0, 0x2CA8, 0, 0x2CAA, 0, 0x2CAC, 0, 0x2CAE, 0, 0x2CB0, 0, 0x2CB2, 0, 0x2CB4, 0, 0x2CB6, 0, 0x2CB8, 0, 0x2CBA, 0, 0x2CBC, 0, 0x2CBE, 0, 0x2CC0, 0, 0x2CC2, 0, 0x2CC4, 0, 0x2CC6, 0, 0x2CC8, 0, 0x2CCA, 0, 0x2CCC, 0, 0x2CCE, 0, 0x2CD0, 0, 0x2CD2, 0, 0x2CD4, 0, 0x2CD6, 0, 0x2CD8, 0, 0x2CDA, 0, 0x2CDC, 0, 0x2CDE, 0, 0x2CE0, 0, 0x2CE2, 0, 0x2CEB, 0, 0x2CED, 0, 0x2CF2, 0, 0x10A0, 0, 0x10C7, 0, 0x10CD, 0, 0xA640, 0, 0xA642, 0, 0xA644, 0, 0xA646, 0, 0xA648, 0, 0xA64A, 0, 0xA64C, 0, 0xA64E, 0, 0xA650, 0, 0xA652, 0, 0xA654, 0, 0xA656, 0, 0xA658, 0, 0xA65A, 0, 0xA65C, 0, 0xA65E, 0, 0xA660, 0, 0xA662, 0, 0xA664, 0, 0xA666, 0, 0xA668, 0, 0xA66A, 0, 0xA66C, 0, 0xA680, 0, 0xA682, 0, 0xA684, 0, 0xA686, 0, 0xA688, 0, 0xA68A, 0, 0xA68C, 0, 0xA68E, 0, 0xA690, 0, 0xA692, 0, 0xA694, 0, 0xA696, 0, 0xA698, 0, 0xA69A, 0, 0xA722, 0, 0xA724, 0, 0xA726, 0, 0xA728, 0, 0xA72A, 0, 0xA72C, 0, 0xA72E, 0, 0xA732, 0, 0xA734, 0, 0xA736, 0, 0xA738, 0, 0xA73A, 0, 0xA73C, 0, 0xA73E, 0, 0xA740, 0, 0xA742, 0, 0xA744, 0, 0xA746, 0, 0xA748, 0, 0xA74A, 0, 0xA74C, 0, 0xA74E, 0, 0xA750, 0, 0xA752, 0, 0xA754, 0, 0xA756, 0, 0xA758, 0, 0xA75A, 0, 0xA75C, 0, 0xA75E, 0, 0xA760, 0, 0xA762, 0, 0xA764, 0, 0xA766, 0, 0xA768, 0, 0xA76A, 0, 0xA76C, 0, 0xA76E, 0, 0xA779, 0, 0xA77B, 0, 0xA77E, 0, 0xA780, 0, 0xA782, 0, 0xA784, 0, 0xA786, 0, 0xA78B, 0, 0xA790, 0, 0xA792, 0xA7C4, 0, 0xA796, 0, 0xA798, 0, 0xA79A, 0, 0xA79C, 0, 0xA79E, 0, 0xA7A0, 0, 0xA7A2, 0, 0xA7A4, 0, 0xA7A6, 0, 0xA7A8, 0, 0xA7B4, 0, 0xA7B6, 0, 0xA7B8, 0, 0xA7BA, 0, 0xA7BC, 0, 0xA7BE, 0, 0xA7C2, 0, 0xA7C7, 0, 0xA7C9, 0, 0xA7F5, 0, 0xA7B3, 0, 0x13A0, 0, UC_use_AUX_TABLE_62, UC_use_AUX_TABLE_63, UC_use_AUX_TABLE_64, UC_use_AUX_TABLE_65, UC_use_AUX_TABLE_66, UC_use_AUX_TABLE_67, 0, UC_use_AUX_TABLE_68, UC_use_AUX_TABLE_69, UC_use_AUX_TABLE_70, UC_use_AUX_TABLE_71, UC_use_AUX_TABLE_72, 0, 0xFF21, 0, 0x10400, 0, 0x104B0, 0, 0x10C80, 0, 0x118A0, 0, 0x16E40, 0, 0x1E900, 0 }; # endif /* EBCDIC 037 */ #endif /* defined(PERL_IN_UTF8_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) # if 'A' == 65 /* ASCII/Latin1 */ static const UV UpperLatin1_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x80, 0x100 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UpperLatin1_invlist[] = { /* for EBCDIC 1047 */ 55, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x15, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x26, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x100 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x25, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x100 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_ASCII_invlist[] = { /* for ASCII/Latin1 */ 2, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x80 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_ASCII_invlist[] = { /* for EBCDIC 1047 */ 54, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x15, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x26, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_ASCII_invlist[] = { /* for EBCDIC 037 */ 56, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x25, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ static const UV UNI_ASSIGNED_invlist[] = { /* for all charsets */ 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CASED_invlist[] = { /* for ASCII/Latin1 */ 283, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69E, 0xA722, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CASED_invlist[] = { /* for EBCDIC 1047 */ 309, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69E, 0xA722, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CASED_invlist[] = { /* for EBCDIC 037 */ 305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69E, 0xA722, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CASEDLETTER_invlist[] = { /* for ASCII/Latin1 */ 265, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B0, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C7C, 0x2C7E, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 1047 */ 297, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B0, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C7C, 0x2C7E, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CASEDLETTER_invlist[] = { /* for EBCDIC 037 */ 293, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B0, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x560, 0x589, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2139, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C7C, 0x2C7E, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA78F, 0xA790, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E900, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LOWERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xB5, 0xB6, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B0, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2184, 0x2185, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B0, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2184, 0x2185, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LOWERCASELETTER_invlist[] = { /* for EBCDIC 037 */ 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B0, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2184, 0x2185, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7FA, 0xA7FB, 0xAB30, 0xAB5B, 0xAB60, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x61, 0x7B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXBLANK_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0x20, 0x21 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXBLANK_invlist[] = { /* for EBCDIC 1047 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x40, 0x41 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXBLANK_invlist[] = { /* for EBCDIC 037 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x40, 0x41 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */ 4, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0x80 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */ 26, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x15, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x26, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x40 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXCNTRL_invlist[] = { /* for EBCDIC 037 */ 26, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x25, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x40 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x7F }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXLOWER_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXLOWER_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXLOWER_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x30, 0x3A, 0x41, 0x5B, 0x61, 0x7B, 0x7F }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0xA1, 0xA2, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0xA1, 0xA2, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXSPACE_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x21 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXSPACE_invlist[] = { /* for EBCDIC 1047 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x40, 0x41 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXSPACE_invlist[] = { /* for EBCDIC 037 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x25, 0x26, 0x40, 0x41 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXUPPER_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXUPPER_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXUPPER_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXWORD_invlist[] = { /* for EBCDIC 037 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_POSIXXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x47, 0x61, 0x67 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_POSIXXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x87, 0xC1, 0xC7, 0xF0, 0xFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_POSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x87, 0xC1, 0xC7, 0xF0, 0xFA }; # endif /* EBCDIC 037 */ static const UV UNI_TITLE_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C5, 0x1C6, 0x1C8, 0x1C9, 0x1CB, 0x1CC, 0x1F2, 0x1F3, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FBC, 0x1FBD, 0x1FCC, 0x1FCD, 0x1FFC, 0x1FFD }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_UPPERCASELETTER_invlist[] = { /* for ASCII/Latin1 */ 1277, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2183, 0x2184, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 1047 */ 1295, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2183, 0x2184, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_UPPERCASELETTER_invlist[] = { /* for EBCDIC 037 */ 1291, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2183, 0x2184, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_VERTSPACE_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xE, 0x85, 0x86, 0x2028, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_VERTSPACE_invlist[] = { /* for EBCDIC 1047 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x2028, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_VERTSPACE_invlist[] = { /* for EBCDIC 037 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x2028, 0x202A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */ 1465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BAA, 0x1BAC, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11066, 0x11070, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11133, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11730, 0x1173A, 0x11800, 0x11839, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */ 1489, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BAA, 0x1BAC, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11066, 0x11070, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11133, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11730, 0x1173A, 0x11800, 0x11839, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */ 1485, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BAA, 0x1BAC, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11066, 0x11070, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11133, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x11450, 0x1145A, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11730, 0x1173A, 0x11800, 0x11839, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */ 1391, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x660, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA70, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x1040, 0x1050, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B80, 0x1BAA, 0x1BAC, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA900, 0xA90A, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x11100, 0x11133, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11800, 0x11839, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */ 1417, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x660, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA70, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x1040, 0x1050, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B80, 0x1BAA, 0x1BAC, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA900, 0xA90A, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x11100, 0x11133, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11800, 0x11839, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */ 1413, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x345, 0x346, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5B0, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x658, 0x659, 0x660, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6E1, 0x6E9, 0x6ED, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x740, 0x74D, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x818, 0x81A, 0x82D, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D4, 0x8E0, 0x8E3, 0x8EA, 0x8F0, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x964, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA70, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAF9, 0xAFD, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE47, 0xE4D, 0xE4E, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xECD, 0xECE, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF82, 0xF88, 0xF98, 0xF99, 0xFBD, 0x1000, 0x1037, 0x1038, 0x1039, 0x103B, 0x1040, 0x1050, 0x1090, 0x109A, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1714, 0x1720, 0x1734, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17C9, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x1939, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A61, 0x1A75, 0x1AA7, 0x1AA8, 0x1ABF, 0x1AC1, 0x1B00, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B4C, 0x1B80, 0x1BAA, 0x1BAC, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BE7, 0x1BF2, 0x1C00, 0x1C37, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1DE7, 0x1DF5, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA674, 0xA67C, 0xA67F, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA806, 0xA807, 0xA828, 0xA840, 0xA874, 0xA880, 0xA8C4, 0xA8C5, 0xA8C6, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA900, 0xA90A, 0xA92B, 0xA930, 0xA953, 0xA960, 0xA97D, 0xA980, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA60, 0xAA77, 0xAA7A, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11046, 0x11082, 0x110B9, 0x110D0, 0x110E9, 0x11100, 0x11133, 0x11144, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11180, 0x111C0, 0x111C1, 0x111C5, 0x111CE, 0x111D0, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11235, 0x11237, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112E9, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11400, 0x11442, 0x11443, 0x11446, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114C2, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115B6, 0x115B8, 0x115BF, 0x115D8, 0x115DE, 0x11600, 0x1163F, 0x11640, 0x11641, 0x11644, 0x11645, 0x11680, 0x116B6, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x1171D, 0x1172B, 0x11800, 0x11839, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193D, 0x1193F, 0x11943, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E0, 0x119E1, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A33, 0x11A35, 0x11A3F, 0x11A50, 0x11A98, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C3F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D48, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11D98, 0x11D99, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9E, 0x1BC9F, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E947, 0x1E948, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXBLANK_invlist[] = { /* for ASCII/Latin1 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0x20, 0x21, 0xA0, 0xA1, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXBLANK_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXBLANK_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */ 4, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */ 4, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xFF, 0x100 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 037 */ 4, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xFF, 0x100 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */ 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x7F, 0xA1, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x1681, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */ 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x1681, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */ 1365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x1681, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXLOWER_invlist[] = { /* for ASCII/Latin1 */ 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 1047 */ 1313, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXLOWER_invlist[] = { /* for EBCDIC 037 */ 1313, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */ 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2028, 0x202A, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */ 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2028, 0x202A, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */ 1359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2028, 0x202A, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xE000, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */ 361, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x30, 0x3A, 0x41, 0x5B, 0x61, 0x7B, 0x7F, 0xA1, 0xA2, 0xA7, 0xA8, 0xAB, 0xAC, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0xC0, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */ 369, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xB3, 0xB4, 0xB5, 0xB7, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */ 371, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0xA1, 0xA2, 0xAA, 0xAC, 0xB0, 0xB1, 0xB3, 0xB4, 0xB5, 0xB7, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXSPACE_invlist[] = { /* for ASCII/Latin1 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x21, 0x85, 0x86, 0xA0, 0xA1, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXSPACE_invlist[] = { /* for EBCDIC 1047 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXSPACE_invlist[] = { /* for EBCDIC 037 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXUPPER_invlist[] = { /* for ASCII/Latin1 */ 1287, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 1047 */ 1305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXUPPER_invlist[] = { /* for EBCDIC 037 */ 1301, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1FB8, 0x1FBC, 0x1FC8, 0x1FCC, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFC, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */ 1467, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x200C, 0x200E, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */ 1491, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x200C, 0x200E, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */ 1487, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x200C, 0x200E, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XPOSIXXDIGIT_invlist[] = { /* for ASCII/Latin1 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x47, 0x61, 0x67, 0xFF10, 0xFF1A, 0xFF21, 0xFF27, 0xFF41, 0xFF47 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XPOSIXXDIGIT_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x87, 0xC1, 0xC7, 0xF0, 0xFA, 0xFF10, 0xFF1A, 0xFF21, 0xFF27, 0xFF41, 0xFF47 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XPOSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x87, 0xC1, 0xC7, 0xF0, 0xFA, 0xFF10, 0xFF1A, 0xFF21, 0xFF27, 0xFF41, 0xFF47 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for ASCII/Latin1 */ 269, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x131, 0x132, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 1047 */ 301, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x131, 0x132, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 037 */ 297, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x131, 0x132, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */ 1257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */ 1283, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */ 1279, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 */ 1481, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x21, 0x28, 0x2A, 0x2D, 0x2E, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */ 1507, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x42, 0x4A, 0x4D, 0x4E, 0x51, 0x5A, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */ 1503, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x42, 0x4A, 0x4D, 0x4E, 0x51, 0x5A, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for ASCII/Latin1 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDF, 0xE0, 0x130, 0x131, 0x149, 0x14A, 0x1F0, 0x1F1, 0x390, 0x391, 0x3B0, 0x3B1, 0x587, 0x588, 0x1E96, 0x1E9B, 0x1E9E, 0x1E9F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE2, 0x1FE5, 0x1FE6, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0xFB00, 0xFB07, 0xFB13, 0xFB18 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for EBCDIC 1047 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x130, 0x131, 0x149, 0x14A, 0x1F0, 0x1F1, 0x390, 0x391, 0x3B0, 0x3B1, 0x587, 0x588, 0x1E96, 0x1E9B, 0x1E9E, 0x1E9F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE2, 0x1FE5, 0x1FE6, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0xFB00, 0xFB07, 0xFB13, 0xFB18 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for EBCDIC 037 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x130, 0x131, 0x149, 0x14A, 0x1F0, 0x1F1, 0x390, 0x391, 0x3B0, 0x3B1, 0x587, 0x588, 0x1E96, 0x1E9B, 0x1E9E, 0x1E9F, 0x1F50, 0x1F51, 0x1F52, 0x1F53, 0x1F54, 0x1F55, 0x1F56, 0x1F57, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD2, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE2, 0x1FE5, 0x1FE6, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0xFB00, 0xFB07, 0xFB13, 0xFB18 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */ 1475, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */ 1499, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */ 1495, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */ 1263, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */ 1289, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */ 1285, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist[] = { /* for ASCII/Latin1 */ 79, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x62, 0x66, 0x67, 0x68, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x73, 0x75, 0x77, 0x78, 0x79, 0x7A, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x3AC, 0x3AD, 0x3AE, 0x3AF, 0x3B1, 0x3B2, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3C1, 0x3C2, 0x3C5, 0x3C6, 0x3C9, 0x3CA, 0x3CE, 0x3CF, 0x565, 0x566, 0x56B, 0x56C, 0x56D, 0x56E, 0x574, 0x575, 0x576, 0x577, 0x57E, 0x57F, 0x582, 0x583, 0x1F00, 0x1F08, 0x1F20, 0x1F28, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F74, 0x1F75, 0x1F7C, 0x1F7D }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist[] = { /* for EBCDIC 1047 */ 81, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x82, 0x86, 0x87, 0x88, 0x8A, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0xA2, 0xA4, 0xA6, 0xA7, 0xA8, 0xA9, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x3AC, 0x3AD, 0x3AE, 0x3AF, 0x3B1, 0x3B2, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3C1, 0x3C2, 0x3C5, 0x3C6, 0x3C9, 0x3CA, 0x3CE, 0x3CF, 0x565, 0x566, 0x56B, 0x56C, 0x56D, 0x56E, 0x574, 0x575, 0x576, 0x577, 0x57E, 0x57F, 0x582, 0x583, 0x1F00, 0x1F08, 0x1F20, 0x1F28, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F74, 0x1F75, 0x1F7C, 0x1F7D }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist[] = { /* for EBCDIC 037 */ 81, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x81, 0x82, 0x86, 0x87, 0x88, 0x8A, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0xA2, 0xA4, 0xA6, 0xA7, 0xA8, 0xA9, 0x2BC, 0x2BD, 0x2BE, 0x2BF, 0x300, 0x302, 0x307, 0x309, 0x30A, 0x30B, 0x30C, 0x30D, 0x313, 0x314, 0x331, 0x332, 0x342, 0x343, 0x3AC, 0x3AD, 0x3AE, 0x3AF, 0x3B1, 0x3B2, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3C1, 0x3C2, 0x3C5, 0x3C6, 0x3C9, 0x3CA, 0x3CE, 0x3CF, 0x565, 0x566, 0x56B, 0x56C, 0x56D, 0x56E, 0x574, 0x575, 0x576, 0x577, 0x57E, 0x57F, 0x582, 0x583, 0x1F00, 0x1F08, 0x1F20, 0x1F28, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F74, 0x1F75, 0x1F7C, 0x1F7D }; # endif /* EBCDIC 037 */ static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist[] = { /* for all charsets */ 26, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100, 0x130, 0x132, 0x149, 0x14A, 0x178, 0x179, 0x17F, 0x180, 0x1F0, 0x1F1, 0x2BC, 0x2BD, 0x39C, 0x39D, 0x3BC, 0x3BD, 0x1E96, 0x1E9B, 0x1E9E, 0x1E9F, 0x212A, 0x212C, 0xFB00, 0xFB07 }; static const UV UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist[] = { /* for all charsets */ 26, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100, 0x130, 0x132, 0x149, 0x14A, 0x178, 0x179, 0x17F, 0x180, 0x1F0, 0x1F1, 0x307, 0x308, 0x39C, 0x39D, 0x3BC, 0x3BD, 0x1E96, 0x1E9B, 0x1E9E, 0x1E9F, 0x212A, 0x212C, 0xFB00, 0xFB07 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_QUOTEMETA_invlist[] = { /* for ASCII/Latin1 */ 78, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB7, 0xBB, 0xBC, 0xBF, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x1680, 0x1681, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x2000, 0x203F, 0x2041, 0x2054, 0x2055, 0x2070, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3000, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0x3164, 0x3165, 0xFD3E, 0xFD40, 0xFE00, 0xFE10, 0xFE45, 0xFE47, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_QUOTEMETA_invlist[] = { /* for EBCDIC 1047 */ 92, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xB7, 0xBD, 0xBE, 0xBF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xE0, 0xE2, 0xFF, 0x100, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x1680, 0x1681, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x2000, 0x203F, 0x2041, 0x2054, 0x2055, 0x2070, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3000, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0x3164, 0x3165, 0xFD3E, 0xFD40, 0xFE00, 0xFE10, 0xFE45, 0xFE47, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_QUOTEMETA_invlist[] = { /* for EBCDIC 037 */ 90, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xB7, 0xBA, 0xBC, 0xBF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xE0, 0xE2, 0xFF, 0x100, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x1680, 0x1681, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x2000, 0x203F, 0x2041, 0x2054, 0x2055, 0x2070, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3000, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0x3164, 0x3165, 0xFD3E, 0xFD40, 0xFE00, 0xFE10, 0xFE45, 0xFE47, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* EBCDIC 037 */ static const UV UNI_ADLM_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960 }; static const UV UNI_AEGEANNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10100, 0x10140 }; static const UV UNI_AGE__10_invlist[] = { /* for all charsets */ 81, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x860, 0x86B, 0x9FC, 0x9FE, 0xAFA, 0xB00, 0xD00, 0xD01, 0xD3B, 0xD3D, 0x1CF7, 0x1CF8, 0x1DF6, 0x1DFA, 0x20BF, 0x20C0, 0x23FF, 0x2400, 0x2BD2, 0x2BD3, 0x2E45, 0x2E4A, 0x312E, 0x312F, 0x9FD6, 0x9FEB, 0x1032D, 0x10330, 0x11A00, 0x11A48, 0x11A50, 0x11A84, 0x11A86, 0x11A9D, 0x11A9E, 0x11AA3, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x16FE1, 0x16FE2, 0x1B002, 0x1B11F, 0x1B170, 0x1B2FC, 0x1F260, 0x1F266, 0x1F6D3, 0x1F6D5, 0x1F6F7, 0x1F6F9, 0x1F900, 0x1F90C, 0x1F91F, 0x1F920, 0x1F928, 0x1F930, 0x1F931, 0x1F933, 0x1F94C, 0x1F94D, 0x1F95F, 0x1F96C, 0x1F992, 0x1F998, 0x1F9D0, 0x1F9E7, 0x2CEB0, 0x2EBE1 }; static const UV UNI_AGE__11_invlist[] = { /* for all charsets */ 119, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x560, 0x561, 0x588, 0x589, 0x5EF, 0x5F0, 0x7FD, 0x800, 0x8D3, 0x8D4, 0x9FE, 0x9FF, 0xA76, 0xA77, 0xC04, 0xC05, 0xC84, 0xC85, 0x1878, 0x1879, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x2BBA, 0x2BBD, 0x2BD3, 0x2BEC, 0x2BF0, 0x2BFF, 0x2E4A, 0x2E4F, 0x312F, 0x3130, 0x9FEB, 0x9FF0, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7BA, 0xA8FE, 0xA900, 0x10A34, 0x10A36, 0x10A48, 0x10A49, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x110CD, 0x110CE, 0x11144, 0x11147, 0x1133B, 0x1133C, 0x1145E, 0x1145F, 0x1171A, 0x1171B, 0x11800, 0x1183C, 0x11A9D, 0x11A9E, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x16E40, 0x16E9B, 0x187ED, 0x187F2, 0x1D2E0, 0x1D2F4, 0x1D372, 0x1D379, 0x1EC71, 0x1ECB5, 0x1F12F, 0x1F130, 0x1F6F9, 0x1F6FA, 0x1F7D5, 0x1F7D9, 0x1F94D, 0x1F950, 0x1F96C, 0x1F971, 0x1F973, 0x1F977, 0x1F97A, 0x1F97B, 0x1F97C, 0x1F980, 0x1F998, 0x1F9A3, 0x1F9B0, 0x1F9BA, 0x1F9C1, 0x1F9C3, 0x1F9E7, 0x1FA00, 0x1FA60, 0x1FA6E }; static const UV UNI_AGE__12_invlist[] = { /* for all charsets */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC77, 0xC78, 0xE86, 0xE87, 0xE89, 0xE8A, 0xE8C, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0x1CFA, 0x1CFB, 0x2BC9, 0x2BCA, 0x2BFF, 0x2C00, 0x2E4F, 0x2E50, 0xA7BA, 0xA7C0, 0xA7C2, 0xA7C7, 0xAB66, 0xAB68, 0x10FE0, 0x10FF7, 0x1145F, 0x11460, 0x116B8, 0x116B9, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A84, 0x11A86, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000, 0x13430, 0x13439, 0x16F45, 0x16F4B, 0x16F4F, 0x16F50, 0x16F7F, 0x16F88, 0x16FE2, 0x16FE4, 0x187F2, 0x187F8, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E94B, 0x1E94C, 0x1ED01, 0x1ED3E, 0x1F16C, 0x1F16D, 0x1F6D5, 0x1F6D6, 0x1F6FA, 0x1F6FB, 0x1F7E0, 0x1F7EC, 0x1F90D, 0x1F910, 0x1F93F, 0x1F940, 0x1F971, 0x1F972, 0x1F97B, 0x1F97C, 0x1F9A5, 0x1F9AB, 0x1F9AE, 0x1F9B0, 0x1F9BA, 0x1F9C0, 0x1F9C3, 0x1F9CB, 0x1F9CD, 0x1F9D0, 0x1FA00, 0x1FA54, 0x1FA70, 0x1FA74, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA83, 0x1FA90, 0x1FA96 }; static const UV UNI_AGE__12_DOT_1_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32FF, 0x3300 }; static const UV UNI_AGE__13_invlist[] = { /* for all charsets */ 119, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8BE, 0x8C8, 0xB55, 0xB56, 0xD04, 0xD05, 0xD81, 0xD82, 0x1ABF, 0x1AC1, 0x2B97, 0x2B98, 0x2E50, 0x2E53, 0x31BB, 0x31C0, 0x4DB6, 0x4DC0, 0x9FF0, 0x9FFD, 0xA7C7, 0xA7CB, 0xA7F5, 0xA7F7, 0xA82C, 0xA82D, 0xAB68, 0xAB6C, 0x1019C, 0x1019D, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10FB0, 0x10FCC, 0x11147, 0x11148, 0x111CE, 0x111D0, 0x1145A, 0x1145B, 0x11460, 0x11462, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x11FB0, 0x11FB1, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x18AF3, 0x18CD6, 0x18D00, 0x18D09, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F6D6, 0x1F6D8, 0x1F6FB, 0x1F6FD, 0x1F8B0, 0x1F8B2, 0x1F90C, 0x1F90D, 0x1F972, 0x1F973, 0x1F977, 0x1F979, 0x1F9A3, 0x1F9A5, 0x1F9AB, 0x1F9AE, 0x1F9CB, 0x1F9CC, 0x1FA74, 0x1FA75, 0x1FA83, 0x1FA87, 0x1FA96, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x2A6D7, 0x2A6DE, 0x30000, 0x3134B }; static const UV UNI_AGE__2_invlist[] = { /* for all charsets */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x591, 0x5A2, 0x5A3, 0x5B0, 0x5C4, 0x5C5, 0xF00, 0xF48, 0xF49, 0xF6A, 0xF71, 0xF8C, 0xF90, 0xF96, 0xF97, 0xF98, 0xF99, 0xFAE, 0xFB1, 0xFB8, 0xFB9, 0xFBA, 0x1E9B, 0x1E9C, 0x20AB, 0x20AC, 0xAC00, 0xD7A4, 0xD800, 0xE000, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xEFFFE, 0x110000 }; static const UV UNI_AGE__2_DOT_1_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20AC, 0x20AD, 0xFFFC, 0xFFFD }; static const UV UNI_AGE__3_invlist[] = { /* for all charsets */ 243, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F6, 0x1FA, 0x218, 0x220, 0x222, 0x234, 0x2A9, 0x2AE, 0x2DF, 0x2E0, 0x2EA, 0x2EF, 0x346, 0x34F, 0x362, 0x363, 0x3D7, 0x3D8, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x400, 0x401, 0x40D, 0x40E, 0x450, 0x451, 0x45D, 0x45E, 0x488, 0x48A, 0x48C, 0x490, 0x4EC, 0x4EE, 0x58A, 0x58B, 0x653, 0x656, 0x6B8, 0x6BA, 0x6BF, 0x6C0, 0x6CF, 0x6D0, 0x6FA, 0x6FF, 0x700, 0x70E, 0x70F, 0x72D, 0x730, 0x74B, 0x780, 0x7B1, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xF6A, 0xF6B, 0xF96, 0xF97, 0xFAE, 0xFB1, 0xFB8, 0xFB9, 0xFBA, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD0, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x1200, 0x1207, 0x1208, 0x1247, 0x1248, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1287, 0x1288, 0x1289, 0x128A, 0x128E, 0x1290, 0x12AF, 0x12B0, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12CF, 0x12D0, 0x12D7, 0x12D8, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x1311, 0x1312, 0x1316, 0x1318, 0x131F, 0x1320, 0x1347, 0x1348, 0x135B, 0x1361, 0x137D, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1780, 0x17DD, 0x17E0, 0x17EA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x202F, 0x2030, 0x2048, 0x204E, 0x20AD, 0x20B0, 0x20E2, 0x20E4, 0x2139, 0x213B, 0x2183, 0x2184, 0x21EB, 0x21F4, 0x2301, 0x2302, 0x237B, 0x237C, 0x237D, 0x239B, 0x2425, 0x2427, 0x25F0, 0x25F8, 0x2619, 0x261A, 0x2670, 0x2672, 0x2800, 0x2900, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3038, 0x303B, 0x303E, 0x303F, 0x31A0, 0x31B8, 0x3400, 0x4DB6, 0xA000, 0xA48D, 0xA490, 0xA4A2, 0xA4A4, 0xA4B4, 0xA4B5, 0xA4C1, 0xA4C2, 0xA4C5, 0xA4C6, 0xA4C7, 0xFB1D, 0xFB1E, 0xFFF9, 0xFFFC }; static const UV UNI_AGE__3_DOT_1_invlist[] = { /* for all charsets */ 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3F4, 0x3F6, 0xFDD0, 0xFDF0, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10400, 0x10426, 0x10428, 0x1044E, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C1, 0x1D4C2, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A4, 0x1D6A8, 0x1D7CA, 0x1D7CE, 0x1D800, 0x20000, 0x2A6D7, 0x2F800, 0x2FA1E, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; static const UV UNI_AGE__3_DOT_2_invlist[] = { /* for all charsets */ 119, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x220, 0x221, 0x34F, 0x350, 0x363, 0x370, 0x3D8, 0x3DA, 0x3F6, 0x3F7, 0x48A, 0x48C, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4CF, 0x500, 0x510, 0x66E, 0x670, 0x7B1, 0x7B2, 0x10F7, 0x10F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x2047, 0x2048, 0x204E, 0x2053, 0x2057, 0x2058, 0x205F, 0x2064, 0x2071, 0x2072, 0x20B0, 0x20B2, 0x20E4, 0x20EB, 0x213D, 0x214C, 0x21F4, 0x2200, 0x22F2, 0x2300, 0x237C, 0x237D, 0x239B, 0x23CF, 0x24EB, 0x24FF, 0x2596, 0x25A0, 0x25F8, 0x2600, 0x2616, 0x2618, 0x2672, 0x267E, 0x2680, 0x268A, 0x2768, 0x2776, 0x27D0, 0x27EC, 0x27F0, 0x2800, 0x2900, 0x2B00, 0x303B, 0x303E, 0x3095, 0x3097, 0x309F, 0x30A1, 0x30FF, 0x3100, 0x31F0, 0x3200, 0x3251, 0x3260, 0x32B1, 0x32C0, 0xA4A2, 0xA4A4, 0xA4B4, 0xA4B5, 0xA4C1, 0xA4C2, 0xA4C5, 0xA4C6, 0xFA30, 0xFA6B, 0xFDFC, 0xFDFD, 0xFE00, 0xFE10, 0xFE45, 0xFE47, 0xFE73, 0xFE74, 0xFF5F, 0xFF61 }; static const UV UNI_AGE__4_invlist[] = { /* for all charsets */ 155, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x221, 0x222, 0x234, 0x237, 0x2AE, 0x2B0, 0x2EF, 0x300, 0x350, 0x358, 0x35D, 0x360, 0x3F7, 0x3FC, 0x600, 0x604, 0x60D, 0x616, 0x656, 0x659, 0x6EE, 0x6F0, 0x6FF, 0x700, 0x72D, 0x730, 0x74D, 0x750, 0x904, 0x905, 0x9BD, 0x9BE, 0xA01, 0xA02, 0xA03, 0xA04, 0xA8C, 0xA8D, 0xAE1, 0xAE4, 0xAF1, 0xAF2, 0xB35, 0xB36, 0xB71, 0xB72, 0xBF3, 0xBFB, 0xCBC, 0xCBE, 0x17DD, 0x17DE, 0x17F0, 0x17FA, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x19E0, 0x1A00, 0x1D00, 0x1D6C, 0x2053, 0x2055, 0x213B, 0x213C, 0x23CF, 0x23D1, 0x24FF, 0x2500, 0x2614, 0x2616, 0x268A, 0x2692, 0x26A0, 0x26A2, 0x2B00, 0x2B0E, 0x321D, 0x321F, 0x3250, 0x3251, 0x327C, 0x327E, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xFDFD, 0xFDFE, 0xFE47, 0xFE49, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10380, 0x1039E, 0x1039F, 0x103A0, 0x10426, 0x10428, 0x1044E, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x1D300, 0x1D357, 0x1D4C1, 0x1D4C2, 0xE0100, 0xE01F0 }; static const UV UNI_AGE__4_DOT_1_invlist[] = { /* for all charsets */ 173, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x237, 0x242, 0x358, 0x35D, 0x3FC, 0x400, 0x4F6, 0x4F8, 0x5A2, 0x5A3, 0x5C5, 0x5C8, 0x60B, 0x60C, 0x61E, 0x61F, 0x659, 0x65F, 0x750, 0x76E, 0x97D, 0x97E, 0x9CE, 0x9CF, 0xBB6, 0xBB7, 0xBE6, 0xBE7, 0xFD0, 0xFD2, 0x10F9, 0x10FB, 0x10FC, 0x10FD, 0x1207, 0x1208, 0x1247, 0x1248, 0x1287, 0x1288, 0x12AF, 0x12B0, 0x12CF, 0x12D0, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x131F, 0x1320, 0x1347, 0x1348, 0x135F, 0x1361, 0x1380, 0x139A, 0x1980, 0x19AA, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x19DE, 0x19E0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0x1D6C, 0x1DC4, 0x2055, 0x2057, 0x2058, 0x205F, 0x2090, 0x2095, 0x20B2, 0x20B6, 0x20EB, 0x20EC, 0x213C, 0x213D, 0x214C, 0x214D, 0x23D1, 0x23DC, 0x2618, 0x2619, 0x267E, 0x2680, 0x2692, 0x269D, 0x26A2, 0x26B2, 0x27C0, 0x27C7, 0x2B0E, 0x2B14, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C80, 0x2CEB, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E18, 0x2E1C, 0x2E1E, 0x31C0, 0x31D0, 0x327E, 0x327F, 0x9FA6, 0x9FBC, 0xA700, 0xA717, 0xA800, 0xA82C, 0xFA70, 0xFADA, 0xFE10, 0xFE1A, 0x10140, 0x1018B, 0x103A0, 0x103C4, 0x103C8, 0x103D6, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x1D200, 0x1D246, 0x1D6A4, 0x1D6A6 }; static const UV UNI_AGE__5_invlist[] = { /* for all charsets */ 71, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x242, 0x250, 0x37B, 0x37E, 0x4CF, 0x4D0, 0x4FA, 0x500, 0x510, 0x514, 0x5BA, 0x5BB, 0x7C0, 0x7FB, 0x97B, 0x97D, 0x97E, 0x980, 0xCE2, 0xCE4, 0xCF1, 0xCF3, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1DC4, 0x1DCB, 0x1DFE, 0x1E00, 0x20EC, 0x20F0, 0x214D, 0x214F, 0x2184, 0x2185, 0x23DC, 0x23E8, 0x26B2, 0x26B3, 0x27C7, 0x27CB, 0x2B14, 0x2B1B, 0x2B20, 0x2B24, 0x2C60, 0x2C6D, 0x2C74, 0x2C78, 0xA717, 0xA71B, 0xA720, 0xA722, 0xA840, 0xA878, 0x10900, 0x1091A, 0x1091F, 0x10920, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x1D360, 0x1D372, 0x1D7CA, 0x1D7CC }; static const UV UNI_AGE__5_DOT_1_invlist[] = { /* for all charsets */ 179, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x370, 0x374, 0x376, 0x378, 0x3CF, 0x3D0, 0x487, 0x488, 0x514, 0x524, 0x606, 0x60B, 0x616, 0x61B, 0x63B, 0x640, 0x76E, 0x780, 0x971, 0x973, 0xA51, 0xA52, 0xA75, 0xA76, 0xB44, 0xB45, 0xB62, 0xB64, 0xBD0, 0xBD1, 0xC3D, 0xC3E, 0xC58, 0xC5A, 0xC62, 0xC64, 0xC78, 0xC80, 0xD3D, 0xD3E, 0xD44, 0xD45, 0xD62, 0xD64, 0xD70, 0xD76, 0xD79, 0xD80, 0xF6B, 0xF6D, 0xFCE, 0xFCF, 0xFD2, 0xFD5, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x109A, 0x109E, 0x10A0, 0x18AA, 0x18AB, 0x1B80, 0x1BAB, 0x1BAE, 0x1BBA, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1DCB, 0x1DE7, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x2064, 0x2065, 0x20F0, 0x20F1, 0x214F, 0x2150, 0x2185, 0x2189, 0x269D, 0x269E, 0x26B3, 0x26BD, 0x26C0, 0x26C4, 0x27CC, 0x27CD, 0x27EC, 0x27F0, 0x2B1B, 0x2B20, 0x2B24, 0x2B4D, 0x2B50, 0x2B55, 0x2C6D, 0x2C70, 0x2C71, 0x2C74, 0x2C78, 0x2C7E, 0x2DE0, 0x2E00, 0x2E18, 0x2E1C, 0x2E1E, 0x2E31, 0x312D, 0x312E, 0x31D0, 0x31E4, 0x9FBC, 0x9FC4, 0xA500, 0xA62C, 0xA640, 0xA660, 0xA662, 0xA674, 0xA67C, 0xA698, 0xA71B, 0xA720, 0xA722, 0xA78D, 0xA7FB, 0xA800, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA900, 0xA954, 0xA95F, 0xA960, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xFE24, 0xFE27, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x1D129, 0x1D12A, 0x1F000, 0x1F02C, 0x1F030, 0x1F094 }; static const UV UNI_AGE__5_DOT_2_invlist[] = { /* for all charsets */ 181, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x524, 0x526, 0x800, 0x82E, 0x830, 0x83F, 0x900, 0x901, 0x94E, 0x94F, 0x955, 0x956, 0x979, 0x97B, 0x9FB, 0x9FC, 0xFD5, 0xFD9, 0x109A, 0x109E, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1400, 0x1401, 0x1677, 0x1680, 0x18B0, 0x18F6, 0x19AA, 0x19AC, 0x19DA, 0x19DB, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1CD0, 0x1CF3, 0x1DFD, 0x1DFE, 0x20B6, 0x20B9, 0x2150, 0x2153, 0x2189, 0x218A, 0x23E8, 0x23E9, 0x269E, 0x26A0, 0x26BD, 0x26C0, 0x26C4, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2700, 0x2757, 0x2758, 0x2B55, 0x2B5A, 0x2C70, 0x2C71, 0x2C7E, 0x2C80, 0x2CEB, 0x2CF2, 0x2E31, 0x2E32, 0x3244, 0x3250, 0x9FC4, 0x9FCC, 0xA4D0, 0xA500, 0xA6A0, 0xA6F8, 0xA830, 0xA83A, 0xA8E0, 0xA8FC, 0xA960, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA60, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFA6B, 0xFA6E, 0x10840, 0x10856, 0x10857, 0x10860, 0x1091A, 0x1091C, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11080, 0x110C2, 0x13000, 0x1342F, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F131, 0x1F132, 0x1F13D, 0x1F13E, 0x1F13F, 0x1F140, 0x1F142, 0x1F143, 0x1F146, 0x1F147, 0x1F14A, 0x1F14F, 0x1F157, 0x1F158, 0x1F15F, 0x1F160, 0x1F179, 0x1F17A, 0x1F17B, 0x1F17D, 0x1F17F, 0x1F180, 0x1F18A, 0x1F18E, 0x1F190, 0x1F191, 0x1F200, 0x1F201, 0x1F210, 0x1F232, 0x1F240, 0x1F249, 0x2A700, 0x2B735 }; static const UV UNI_AGE__6_invlist[] = { /* for all charsets */ 213, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x526, 0x528, 0x620, 0x621, 0x65F, 0x660, 0x840, 0x85C, 0x85E, 0x85F, 0x93A, 0x93C, 0x94F, 0x950, 0x956, 0x958, 0x973, 0x978, 0xB72, 0xB78, 0xD29, 0xD2A, 0xD3A, 0xD3B, 0xD4E, 0xD4F, 0xF8C, 0xF90, 0xFD9, 0xFDB, 0x135D, 0x135F, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C00, 0x1DFC, 0x1DFD, 0x2095, 0x209D, 0x20B9, 0x20BA, 0x23E9, 0x23F4, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27CE, 0x27D0, 0x2D70, 0x2D71, 0x2D7F, 0x2D80, 0x31B8, 0x31BB, 0xA660, 0xA662, 0xA78D, 0xA78F, 0xA790, 0xA792, 0xA7A0, 0xA7AA, 0xA7FA, 0xA7FB, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xFBB2, 0xFBC2, 0x11000, 0x1104E, 0x11052, 0x11070, 0x16800, 0x16A39, 0x1B000, 0x1B002, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0E0, 0x1F130, 0x1F131, 0x1F132, 0x1F13D, 0x1F13E, 0x1F13F, 0x1F140, 0x1F142, 0x1F143, 0x1F146, 0x1F147, 0x1F14A, 0x1F14F, 0x1F157, 0x1F158, 0x1F15F, 0x1F160, 0x1F16A, 0x1F170, 0x1F179, 0x1F17A, 0x1F17B, 0x1F17D, 0x1F17F, 0x1F180, 0x1F18A, 0x1F18E, 0x1F190, 0x1F191, 0x1F19B, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F232, 0x1F23B, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F330, 0x1F336, 0x1F337, 0x1F37D, 0x1F380, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3E0, 0x1F3F1, 0x1F400, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F500, 0x1F53E, 0x1F550, 0x1F568, 0x1F5FB, 0x1F600, 0x1F601, 0x1F611, 0x1F612, 0x1F615, 0x1F616, 0x1F617, 0x1F618, 0x1F619, 0x1F61A, 0x1F61B, 0x1F61C, 0x1F61F, 0x1F620, 0x1F626, 0x1F628, 0x1F62C, 0x1F62D, 0x1F62E, 0x1F630, 0x1F634, 0x1F635, 0x1F641, 0x1F645, 0x1F650, 0x1F680, 0x1F6C6, 0x1F700, 0x1F774, 0x2B740, 0x2B81E }; static const UV UNI_AGE__6_DOT_1_invlist[] = { /* for all charsets */ 179, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x58F, 0x590, 0x604, 0x605, 0x8A0, 0x8A1, 0x8A2, 0x8AD, 0x8E4, 0x8FF, 0xAF0, 0xAF1, 0xEDE, 0xEE0, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10FD, 0x1100, 0x1BAB, 0x1BAE, 0x1BBA, 0x1BC0, 0x1CC0, 0x1CC8, 0x1CF3, 0x1CF7, 0x27CB, 0x27CC, 0x27CD, 0x27CE, 0x2CF2, 0x2CF4, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D66, 0x2D68, 0x2E32, 0x2E3C, 0x9FCC, 0x9FCD, 0xA674, 0xA67C, 0xA69F, 0xA6A0, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7F8, 0xA7FA, 0xAAE0, 0xAAF7, 0xFA2E, 0xFA30, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11180, 0x111C9, 0x111D0, 0x111DA, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F16A, 0x1F16C, 0x1F540, 0x1F544, 0x1F600, 0x1F601, 0x1F611, 0x1F612, 0x1F615, 0x1F616, 0x1F617, 0x1F618, 0x1F619, 0x1F61A, 0x1F61B, 0x1F61C, 0x1F61F, 0x1F620, 0x1F626, 0x1F628, 0x1F62C, 0x1F62D, 0x1F62E, 0x1F630, 0x1F634, 0x1F635 }; static const UV UNI_AGE__6_DOT_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20BA, 0x20BB }; static const UV UNI_AGE__6_DOT_3_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61C, 0x61D, 0x2066, 0x206A }; static const UV UNI_AGE__7_invlist[] = { /* for all charsets */ 283, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x37F, 0x380, 0x528, 0x530, 0x58D, 0x58F, 0x605, 0x606, 0x8A1, 0x8A2, 0x8AD, 0x8B3, 0x8FF, 0x900, 0x978, 0x979, 0x980, 0x981, 0xC00, 0xC01, 0xC34, 0xC35, 0xC81, 0xC82, 0xD01, 0xD02, 0xDE6, 0xDF0, 0x16F1, 0x16F9, 0x191D, 0x191F, 0x1AB0, 0x1ABF, 0x1CF8, 0x1CFA, 0x1DE7, 0x1DF6, 0x20BB, 0x20BE, 0x23F4, 0x23FB, 0x2700, 0x2701, 0x2B4D, 0x2B50, 0x2B5A, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BBA, 0x2BBD, 0x2BC9, 0x2BCA, 0x2BD2, 0x2E3C, 0x2E43, 0xA698, 0xA69E, 0xA794, 0xA7A0, 0xA7AB, 0xA7AE, 0xA7B0, 0xA7B2, 0xA7F7, 0xA7F8, 0xA9E0, 0xA9FF, 0xAA7C, 0xAA80, 0xAB30, 0xAB60, 0xAB64, 0xAB66, 0xFE27, 0xFE2E, 0x1018B, 0x1018D, 0x101A0, 0x101A1, 0x102E0, 0x102FC, 0x1031F, 0x10320, 0x10350, 0x1037B, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10860, 0x1089F, 0x108A7, 0x108B0, 0x10A80, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x1107F, 0x11080, 0x11150, 0x11177, 0x111CD, 0x111CE, 0x111DA, 0x111DB, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11301, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115CA, 0x11600, 0x11645, 0x11650, 0x1165A, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11AC0, 0x11AF9, 0x1236F, 0x12399, 0x12463, 0x1246F, 0x12474, 0x12475, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1F0BF, 0x1F0C0, 0x1F0E0, 0x1F0F6, 0x1F10B, 0x1F10D, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F540, 0x1F544, 0x1F54B, 0x1F568, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F641, 0x1F643, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6D0, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6F4, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE }; static const UV UNI_AGE__8_invlist[] = { /* for all charsets */ 119, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8B3, 0x8B5, 0x8E3, 0x8E4, 0xAF9, 0xAFA, 0xC5A, 0xC5B, 0xD5F, 0xD60, 0x13F5, 0x13F6, 0x13F8, 0x13FE, 0x20BE, 0x20BF, 0x218A, 0x218C, 0x2BEC, 0x2BF0, 0x9FCD, 0x9FD6, 0xA69E, 0xA69F, 0xA78F, 0xA790, 0xA7B2, 0xA7B8, 0xA8FC, 0xA8FE, 0xAB60, 0xAB64, 0xAB70, 0xABC0, 0xFE2E, 0xFE30, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x10900, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x111C9, 0x111CD, 0x111DB, 0x111E0, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x11300, 0x11301, 0x11350, 0x11351, 0x115CA, 0x115DE, 0x11700, 0x1171A, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x12399, 0x1239A, 0x12480, 0x12544, 0x14400, 0x14647, 0x1D1DE, 0x1D1E9, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1F32D, 0x1F330, 0x1F37E, 0x1F380, 0x1F3CF, 0x1F3D4, 0x1F3F8, 0x1F400, 0x1F4FF, 0x1F500, 0x1F54B, 0x1F550, 0x1F643, 0x1F645, 0x1F6D0, 0x1F6D1, 0x1F910, 0x1F919, 0x1F980, 0x1F985, 0x1F9C0, 0x1F9C1, 0x2B820, 0x2CEA2 }; static const UV UNI_AGE__9_invlist[] = { /* for all charsets */ 105, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8B6, 0x8BE, 0x8D4, 0x8E3, 0xC80, 0xC81, 0xD4F, 0xD50, 0xD54, 0xD57, 0xD58, 0xD5F, 0xD76, 0xD79, 0x1C80, 0x1C89, 0x1DFB, 0x1DFC, 0x23FB, 0x23FF, 0x2E43, 0x2E45, 0xA7AE, 0xA7AF, 0xA8C5, 0xA8C6, 0x1018D, 0x1018F, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x1123E, 0x1123F, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x11660, 0x1166D, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x16FE0, 0x16FE1, 0x17000, 0x187ED, 0x18800, 0x18AF3, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E900, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1F19B, 0x1F1AD, 0x1F23B, 0x1F23C, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, 0x1F6D1, 0x1F6D3, 0x1F6F4, 0x1F6F7, 0x1F919, 0x1F91F, 0x1F920, 0x1F928, 0x1F930, 0x1F931, 0x1F933, 0x1F93F, 0x1F940, 0x1F94C, 0x1F950, 0x1F95F, 0x1F985, 0x1F992 }; static const UV UNI_AGE__NA_invlist[] = { /* for all charsets */ 1372, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FFFE, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x3134B, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_AGHB_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10530, 0x10564, 0x1056F, 0x10570 }; static const UV UNI_AHOM_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740 }; static const UV UNI_ALCHEMICAL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F700, 0x1F780 }; static const UV UNI_ALL_invlist[] = { /* for all charsets */ 1, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0 }; static const UV UNI_ALPHABETICPF_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB00, 0xFB50 }; static const UV UNI_ANCIENTGREEKMUSIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D200, 0x1D250 }; static const UV UNI_ANCIENTGREEKNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10140, 0x10190 }; static const UV UNI_ANCIENTSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10190, 0x101D0 }; static const UV UNI_ANY_invlist[] = { /* for all charsets */ 2, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x110000 }; static const UV UNI_ARAB_invlist[] = { /* for all charsets */ 105, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x605, 0x606, 0x61D, 0x61E, 0x6DD, 0x6DE, 0x700, 0x750, 0x780, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x900, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0x102E0, 0x102FC, 0x10E60, 0x10E7F, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2 }; static const UV UNI_ARABICEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8A0, 0x900 }; static const UV UNI_ARABICMATH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1EE00, 0x1EF00 }; static const UV UNI_ARABICPFA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB50, 0xFE00 }; static const UV UNI_ARABICPFB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE70, 0xFF00 }; static const UV UNI_ARABICSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x750, 0x780 }; static const UV UNI_ARMI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10840, 0x10856, 0x10857, 0x10860 }; static const UV UNI_ARMN_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0xFB13, 0xFB18 }; static const UV UNI_ARROWS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2190, 0x2200 }; static const UV UNI_AVST_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B00, 0x10B36, 0x10B39, 0x10B40 }; static const UV UNI_BALI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D }; static const UV UNI_BAMU_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA6A0, 0xA6F8, 0x16800, 0x16A39 }; static const UV UNI_BAMUMSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16800, 0x16A40 }; static const UV UNI_BASS_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6 }; static const UV UNI_BATK_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C00 }; static const UV UNI_BC__AL_invlist[] = { /* for all charsets */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x608, 0x609, 0x60B, 0x60C, 0x60D, 0x60E, 0x61B, 0x64B, 0x66D, 0x670, 0x671, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7C0, 0x860, 0x870, 0x8A0, 0x8D3, 0xFB50, 0xFD3E, 0xFD40, 0xFDD0, 0xFDF0, 0xFDFD, 0xFDFE, 0xFE00, 0xFE70, 0xFEFF, 0x10D00, 0x10D24, 0x10D28, 0x10D30, 0x10D3A, 0x10D40, 0x10F30, 0x10F46, 0x10F51, 0x10F70, 0x1EC70, 0x1ECC0, 0x1ED00, 0x1ED50, 0x1EE00, 0x1EEF0, 0x1EEF2, 0x1EF00 }; static const UV UNI_BC__AN_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x606, 0x660, 0x66A, 0x66B, 0x66D, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__B_invlist[] = { /* for ASCII/Latin1 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xB, 0xD, 0xE, 0x1C, 0x1F, 0x85, 0x86, 0x2029, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__B_invlist[] = { /* for EBCDIC 1047 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x15, 0x16, 0x1C, 0x1F, 0x25, 0x26, 0x2029, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__B_invlist[] = { /* for EBCDIC 037 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x15, 0x16, 0x1C, 0x1F, 0x25, 0x26, 0x2029, 0x202A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__BN_invlist[] = { /* for ASCII/Latin1 */ 64, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x1C, 0x7F, 0x85, 0x86, 0xA0, 0xAD, 0xAE, 0x180E, 0x180F, 0x200B, 0x200E, 0x2060, 0x2066, 0x206A, 0x2070, 0xFDD0, 0xFDF0, 0xFEFF, 0xFF00, 0xFFF0, 0xFFF9, 0xFFFE, 0x10000, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0100, 0xE01F0, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__BN_invlist[] = { /* for EBCDIC 1047 */ 70, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x1C, 0x20, 0x25, 0x26, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x180E, 0x180F, 0x200B, 0x200E, 0x2060, 0x2066, 0x206A, 0x2070, 0xFDD0, 0xFDF0, 0xFEFF, 0xFF00, 0xFFF0, 0xFFF9, 0xFFFE, 0x10000, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0100, 0xE01F0, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__BN_invlist[] = { /* for EBCDIC 037 */ 70, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x1C, 0x20, 0x25, 0x26, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x180E, 0x180F, 0x200B, 0x200E, 0x2060, 0x2066, 0x206A, 0x2070, 0xFDD0, 0xFDF0, 0xFEFF, 0xFF00, 0xFFF0, 0xFFF9, 0xFFFE, 0x10000, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0100, 0xE01F0, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__CS_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C, 0x2D, 0x2E, 0x30, 0x3A, 0x3B, 0xA0, 0xA1, 0x60C, 0x60D, 0x202F, 0x2030, 0x2044, 0x2045, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__CS_invlist[] = { /* for EBCDIC 1047 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x4B, 0x4C, 0x61, 0x62, 0x6B, 0x6C, 0x7A, 0x7B, 0x60C, 0x60D, 0x202F, 0x2030, 0x2044, 0x2045, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__CS_invlist[] = { /* for EBCDIC 037 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x4B, 0x4C, 0x61, 0x62, 0x6B, 0x6C, 0x7A, 0x7B, 0x60C, 0x60D, 0x202F, 0x2030, 0x2044, 0x2045, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__EN_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0xB2, 0xB4, 0xB9, 0xBA, 0x6F0, 0x6FA, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2488, 0x249C, 0xFF10, 0xFF1A, 0x102E1, 0x102FC, 0x1D7CE, 0x1D800, 0x1F100, 0x1F10B, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 1047 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x6F0, 0x6FA, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2488, 0x249C, 0xFF10, 0xFF1A, 0x102E1, 0x102FC, 0x1D7CE, 0x1D800, 0x1F100, 0x1F10B, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__EN_invlist[] = { /* for EBCDIC 037 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x6F0, 0x6FA, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2488, 0x249C, 0xFF10, 0xFF1A, 0x102E1, 0x102FC, 0x1D7CE, 0x1D800, 0x1F100, 0x1F10B, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__ES_invlist[] = { /* for ASCII/Latin1 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B, 0x2C, 0x2D, 0x2E, 0x207A, 0x207C, 0x208A, 0x208C, 0x2212, 0x2213, 0xFB29, 0xFB2A, 0xFE62, 0xFE64, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__ES_invlist[] = { /* for EBCDIC 1047 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4E, 0x4F, 0x60, 0x61, 0x207A, 0x207C, 0x208A, 0x208C, 0x2212, 0x2213, 0xFB29, 0xFB2A, 0xFE62, 0xFE64, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__ES_invlist[] = { /* for EBCDIC 037 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4E, 0x4F, 0x60, 0x61, 0x207A, 0x207C, 0x208A, 0x208C, 0x2212, 0x2213, 0xFB29, 0xFB2A, 0xFE62, 0xFE64, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__ET_invlist[] = { /* for ASCII/Latin1 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x23, 0x26, 0xA2, 0xA6, 0xB0, 0xB2, 0x58F, 0x590, 0x609, 0x60B, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x2030, 0x2035, 0x20A0, 0x20D0, 0x212E, 0x212F, 0x2213, 0x2214, 0xA838, 0xA83A, 0xFE5F, 0xFE60, 0xFE69, 0xFE6B, 0xFF03, 0xFF06, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__ET_invlist[] = { /* for EBCDIC 1047 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x5B, 0x5C, 0x6C, 0x6D, 0x7B, 0x7C, 0x8F, 0x91, 0x9F, 0xA0, 0xB1, 0xB3, 0x58F, 0x590, 0x609, 0x60B, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x2030, 0x2035, 0x20A0, 0x20D0, 0x212E, 0x212F, 0x2213, 0x2214, 0xA838, 0xA83A, 0xFE5F, 0xFE60, 0xFE69, 0xFE6B, 0xFF03, 0xFF06, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__ET_invlist[] = { /* for EBCDIC 037 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x5B, 0x5C, 0x6C, 0x6D, 0x7B, 0x7C, 0x8F, 0x91, 0x9F, 0xA0, 0xB1, 0xB3, 0x58F, 0x590, 0x609, 0x60B, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x2030, 0x2035, 0x20A0, 0x20D0, 0x212E, 0x212F, 0x2213, 0x2214, 0xA838, 0xA83A, 0xFE5F, 0xFE60, 0xFE69, 0xFE6B, 0xFF03, 0xFF06, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300 }; # endif /* EBCDIC 037 */ static const UV UNI_BC__FSI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2068, 0x2069 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__L_invlist[] = { /* for ASCII/Latin1 */ 926, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x370, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x483, 0x48A, 0x58A, 0x58B, 0x58D, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xBF3, 0xBFB, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC78, 0xC7F, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3E, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1390, 0x139A, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169D, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2000, 0x200E, 0x200F, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20F1, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x249C, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF9, 0x2D00, 0x2D7F, 0x2D80, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3008, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA66F, 0xA680, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA789, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA828, 0xA82D, 0xA838, 0xA83A, 0xA874, 0xA878, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xAB6A, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1D, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0x10000, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101FD, 0x101FE, 0x102E0, 0x102FC, 0x10376, 0x1037B, 0x10800, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x11052, 0x11066, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11660, 0x1166D, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A07, 0x11A09, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11FD5, 0x11FF2, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E2FF, 0x1E300, 0x1E800, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 1047 */ 952, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x370, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x483, 0x48A, 0x58A, 0x58B, 0x58D, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xBF3, 0xBFB, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC78, 0xC7F, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3E, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1390, 0x139A, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169D, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2000, 0x200E, 0x200F, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20F1, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x249C, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF9, 0x2D00, 0x2D7F, 0x2D80, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3008, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA66F, 0xA680, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA789, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA828, 0xA82D, 0xA838, 0xA83A, 0xA874, 0xA878, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xAB6A, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1D, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0x10000, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101FD, 0x101FE, 0x102E0, 0x102FC, 0x10376, 0x1037B, 0x10800, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x11052, 0x11066, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11660, 0x1166D, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A07, 0x11A09, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11FD5, 0x11FF2, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E2FF, 0x1E300, 0x1E800, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__L_invlist[] = { /* for EBCDIC 037 */ 948, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x370, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x483, 0x48A, 0x58A, 0x58B, 0x58D, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAF1, 0xAF2, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xBF3, 0xBFB, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC78, 0xC7F, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE3F, 0xE40, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3E, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1390, 0x139A, 0x1400, 0x1401, 0x1680, 0x1681, 0x169B, 0x169D, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DB, 0x17DC, 0x17DD, 0x17DE, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2000, 0x200E, 0x200F, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20F1, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x249C, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF9, 0x2D00, 0x2D7F, 0x2D80, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3008, 0x3021, 0x302A, 0x302E, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x3099, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA66F, 0xA680, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA789, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA828, 0xA82D, 0xA838, 0xA83A, 0xA874, 0xA878, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xAB6A, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1D, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0x10000, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101FD, 0x101FE, 0x102E0, 0x102FC, 0x10376, 0x1037B, 0x10800, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x11052, 0x11066, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11660, 0x1166D, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A07, 0x11A09, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x11FD5, 0x11FF2, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE2, 0x16FE3, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E2FF, 0x1E300, 0x1E800, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE1000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # endif /* EBCDIC 037 */ static const UV UNI_BC__LRE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x202A, 0x202B }; static const UV UNI_BC__LRI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2066, 0x2067 }; static const UV UNI_BC__LRO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x202D, 0x202E }; static const UV UNI_BC__NSM_invlist[] = { /* for all charsets */ 645, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A07, 0x11A09, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0100, 0xE01F0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__ON_invlist[] = { /* for ASCII/Latin1 */ 377, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x23, 0x26, 0x2B, 0x3B, 0x41, 0x5B, 0x61, 0x7B, 0x7F, 0xA1, 0xA2, 0xA6, 0xAA, 0xAB, 0xAD, 0xAE, 0xB0, 0xB4, 0xB5, 0xB6, 0xB9, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x300, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x58A, 0x58B, 0x58D, 0x58F, 0x606, 0x608, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x7F6, 0x7FA, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC78, 0xC7F, 0xF3A, 0xF3E, 0x1390, 0x139A, 0x1400, 0x1401, 0x169B, 0x169D, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2010, 0x2028, 0x2035, 0x2044, 0x2045, 0x205F, 0x207C, 0x207F, 0x208C, 0x208F, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2212, 0x2214, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x2488, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA680, 0xA700, 0xA722, 0xA788, 0xA789, 0xA828, 0xA82C, 0xA874, 0xA878, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE50, 0xFE51, 0xFE52, 0xFE54, 0xFE55, 0xFE56, 0xFE5F, 0xFE60, 0xFE62, 0xFE64, 0xFE67, 0xFE68, 0xFE69, 0xFE6B, 0xFE6C, 0xFF01, 0xFF03, 0xFF06, 0xFF0B, 0xFF1B, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE2, 0xFFE5, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x1091F, 0x10920, 0x10B39, 0x10B40, 0x11052, 0x11066, 0x11660, 0x1166D, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16FE2, 0x16FE3, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 1047 */ 385, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4E, 0x4F, 0x51, 0x5A, 0x5B, 0x5C, 0x60, 0x6A, 0x6B, 0x6D, 0x70, 0x79, 0x7A, 0x7C, 0x80, 0x8A, 0x8C, 0x9D, 0x9E, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB1, 0xB3, 0xBA, 0xBB, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x300, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x58A, 0x58B, 0x58D, 0x58F, 0x606, 0x608, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x7F6, 0x7FA, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC78, 0xC7F, 0xF3A, 0xF3E, 0x1390, 0x139A, 0x1400, 0x1401, 0x169B, 0x169D, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2010, 0x2028, 0x2035, 0x2044, 0x2045, 0x205F, 0x207C, 0x207F, 0x208C, 0x208F, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2212, 0x2214, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x2488, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA680, 0xA700, 0xA722, 0xA788, 0xA789, 0xA828, 0xA82C, 0xA874, 0xA878, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE50, 0xFE51, 0xFE52, 0xFE54, 0xFE55, 0xFE56, 0xFE5F, 0xFE60, 0xFE62, 0xFE64, 0xFE67, 0xFE68, 0xFE69, 0xFE6B, 0xFE6C, 0xFF01, 0xFF03, 0xFF06, 0xFF0B, 0xFF1B, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE2, 0xFFE5, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x1091F, 0x10920, 0x10B39, 0x10B40, 0x11052, 0x11066, 0x11660, 0x1166D, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16FE2, 0x16FE3, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__ON_invlist[] = { /* for EBCDIC 037 */ 381, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4E, 0x4F, 0x51, 0x5A, 0x5B, 0x5C, 0x60, 0x6A, 0x6B, 0x6D, 0x70, 0x79, 0x7A, 0x7C, 0x80, 0x8A, 0x8C, 0x9D, 0x9E, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB1, 0xB3, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2B9, 0x2BB, 0x2C2, 0x2D0, 0x2D2, 0x2E0, 0x2E5, 0x2EE, 0x2EF, 0x300, 0x374, 0x376, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3F6, 0x3F7, 0x58A, 0x58B, 0x58D, 0x58F, 0x606, 0x608, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x7F6, 0x7FA, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC78, 0xC7F, 0xF3A, 0xF3E, 0x1390, 0x139A, 0x1400, 0x1401, 0x169B, 0x169D, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2010, 0x2028, 0x2035, 0x2044, 0x2045, 0x205F, 0x207C, 0x207F, 0x208C, 0x208F, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x2150, 0x2160, 0x2189, 0x218C, 0x2190, 0x2212, 0x2214, 0x2336, 0x237B, 0x2395, 0x2396, 0x2427, 0x2440, 0x244B, 0x2460, 0x2488, 0x24EA, 0x26AC, 0x26AD, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x31C0, 0x31E4, 0x321D, 0x321F, 0x3250, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA680, 0xA700, 0xA722, 0xA788, 0xA789, 0xA828, 0xA82C, 0xA874, 0xA878, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE50, 0xFE51, 0xFE52, 0xFE54, 0xFE55, 0xFE56, 0xFE5F, 0xFE60, 0xFE62, 0xFE64, 0xFE67, 0xFE68, 0xFE69, 0xFE6B, 0xFE6C, 0xFF01, 0xFF03, 0xFF06, 0xFF0B, 0xFF1B, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFE2, 0xFFE5, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10101, 0x10102, 0x10140, 0x1018D, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x1091F, 0x10920, 0x10B39, 0x10B40, 0x11052, 0x11066, 0x11660, 0x1166D, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16FE2, 0x16FE3, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F1AE, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 037 */ static const UV UNI_BC__PDF_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x202C, 0x202D }; static const UV UNI_BC__PDI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2069, 0x206A }; static const UV UNI_BC__R_invlist[] = { /* for all charsets */ 79, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x590, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x7C0, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x860, 0x870, 0x8A0, 0x200F, 0x2010, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB50, 0x10800, 0x1091F, 0x10920, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10B39, 0x10B40, 0x10D00, 0x10D40, 0x10E60, 0x10E7F, 0x10EAB, 0x10EAD, 0x10F30, 0x10F70, 0x11000, 0x1E800, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1EC70, 0x1ECC0, 0x1ED00, 0x1ED50, 0x1EE00, 0x1EF00, 0x1F000 }; static const UV UNI_BC__RLE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x202B, 0x202C }; static const UV UNI_BC__RLI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2067, 0x2068 }; static const UV UNI_BC__RLO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x202E, 0x202F }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__S_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0xB, 0xC, 0x1F, 0x20 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__S_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xC, 0x1F, 0x20 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__S_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xC, 0x1F, 0x20 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BC__WS_invlist[] = { /* for ASCII/Latin1 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC, 0xD, 0x20, 0x21, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x2029, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BC__WS_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC, 0xD, 0x40, 0x41, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x2029, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BC__WS_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC, 0xD, 0x40, 0x41, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x2029, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ static const UV UNI_BENG_invlist[] = { /* for all charsets */ 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0x980, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD3, 0x1CD5, 0x1CD7, 0x1CD8, 0x1CD9, 0x1CE1, 0x1CE2, 0x1CEA, 0x1CEB, 0x1CED, 0x1CEE, 0x1CF2, 0x1CF3, 0x1CF5, 0x1CF8, 0xA8F1, 0xA8F2 }; static const UV UNI_BHKS_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D }; static const UV UNI_BIDIC_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61C, 0x61D, 0x200E, 0x2010, 0x202A, 0x202F, 0x2066, 0x206A }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BIDIM_invlist[] = { /* for ASCII/Latin1 */ 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x28, 0x2A, 0x3C, 0x3D, 0x3E, 0x3F, 0x5B, 0x5C, 0x5D, 0x5E, 0x7B, 0x7C, 0x7D, 0x7E, 0xAB, 0xAC, 0xBB, 0xBC, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2140, 0x2141, 0x2201, 0x2205, 0x2208, 0x220E, 0x2211, 0x2212, 0x2215, 0x2217, 0x221A, 0x221E, 0x221F, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222B, 0x2234, 0x2239, 0x223A, 0x223B, 0x224D, 0x2252, 0x2256, 0x225F, 0x2261, 0x2262, 0x2263, 0x2264, 0x226C, 0x226E, 0x228D, 0x228F, 0x2293, 0x2298, 0x2299, 0x22A2, 0x22A4, 0x22A6, 0x22B9, 0x22BE, 0x22C0, 0x22C9, 0x22CE, 0x22D0, 0x22D2, 0x22D6, 0x22EE, 0x22F0, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C0, 0x27C1, 0x27C3, 0x27C7, 0x27C8, 0x27CA, 0x27CB, 0x27CE, 0x27D3, 0x27D7, 0x27DC, 0x27DF, 0x27E2, 0x27F0, 0x2983, 0x2999, 0x299B, 0x29A1, 0x29A2, 0x29B0, 0x29B8, 0x29B9, 0x29C0, 0x29C6, 0x29C9, 0x29CA, 0x29CE, 0x29D3, 0x29D4, 0x29D6, 0x29D8, 0x29DD, 0x29E1, 0x29E2, 0x29E3, 0x29E6, 0x29E8, 0x29EA, 0x29F4, 0x29FA, 0x29FC, 0x29FE, 0x2A0A, 0x2A1D, 0x2A1E, 0x2A22, 0x2A24, 0x2A25, 0x2A26, 0x2A27, 0x2A29, 0x2A2A, 0x2A2B, 0x2A2F, 0x2A34, 0x2A36, 0x2A3C, 0x2A3F, 0x2A57, 0x2A59, 0x2A64, 0x2A66, 0x2A6A, 0x2A6E, 0x2A6F, 0x2A71, 0x2A73, 0x2A75, 0x2A79, 0x2AA4, 0x2AA6, 0x2AAE, 0x2AAF, 0x2AD7, 0x2ADC, 0x2ADD, 0x2ADE, 0x2ADF, 0x2AE2, 0x2AE7, 0x2AEC, 0x2AEF, 0x2AF3, 0x2AF4, 0x2AF7, 0x2AFC, 0x2AFD, 0x2AFE, 0x2BFE, 0x2BFF, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFE64, 0xFE66, 0xFF08, 0xFF0A, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BIDIM_invlist[] = { /* for EBCDIC 1047 */ 225, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4E, 0x5D, 0x5E, 0x6E, 0x6F, 0x8A, 0x8C, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2140, 0x2141, 0x2201, 0x2205, 0x2208, 0x220E, 0x2211, 0x2212, 0x2215, 0x2217, 0x221A, 0x221E, 0x221F, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222B, 0x2234, 0x2239, 0x223A, 0x223B, 0x224D, 0x2252, 0x2256, 0x225F, 0x2261, 0x2262, 0x2263, 0x2264, 0x226C, 0x226E, 0x228D, 0x228F, 0x2293, 0x2298, 0x2299, 0x22A2, 0x22A4, 0x22A6, 0x22B9, 0x22BE, 0x22C0, 0x22C9, 0x22CE, 0x22D0, 0x22D2, 0x22D6, 0x22EE, 0x22F0, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C0, 0x27C1, 0x27C3, 0x27C7, 0x27C8, 0x27CA, 0x27CB, 0x27CE, 0x27D3, 0x27D7, 0x27DC, 0x27DF, 0x27E2, 0x27F0, 0x2983, 0x2999, 0x299B, 0x29A1, 0x29A2, 0x29B0, 0x29B8, 0x29B9, 0x29C0, 0x29C6, 0x29C9, 0x29CA, 0x29CE, 0x29D3, 0x29D4, 0x29D6, 0x29D8, 0x29DD, 0x29E1, 0x29E2, 0x29E3, 0x29E6, 0x29E8, 0x29EA, 0x29F4, 0x29FA, 0x29FC, 0x29FE, 0x2A0A, 0x2A1D, 0x2A1E, 0x2A22, 0x2A24, 0x2A25, 0x2A26, 0x2A27, 0x2A29, 0x2A2A, 0x2A2B, 0x2A2F, 0x2A34, 0x2A36, 0x2A3C, 0x2A3F, 0x2A57, 0x2A59, 0x2A64, 0x2A66, 0x2A6A, 0x2A6E, 0x2A6F, 0x2A71, 0x2A73, 0x2A75, 0x2A79, 0x2AA4, 0x2AA6, 0x2AAE, 0x2AAF, 0x2AD7, 0x2ADC, 0x2ADD, 0x2ADE, 0x2ADF, 0x2AE2, 0x2AE7, 0x2AEC, 0x2AEF, 0x2AF3, 0x2AF4, 0x2AF7, 0x2AFC, 0x2AFD, 0x2AFE, 0x2BFE, 0x2BFF, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFE64, 0xFE66, 0xFF08, 0xFF0A, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BIDIM_invlist[] = { /* for EBCDIC 037 */ 223, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4E, 0x5D, 0x5E, 0x6E, 0x6F, 0x8A, 0x8C, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2140, 0x2141, 0x2201, 0x2205, 0x2208, 0x220E, 0x2211, 0x2212, 0x2215, 0x2217, 0x221A, 0x221E, 0x221F, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222B, 0x2234, 0x2239, 0x223A, 0x223B, 0x224D, 0x2252, 0x2256, 0x225F, 0x2261, 0x2262, 0x2263, 0x2264, 0x226C, 0x226E, 0x228D, 0x228F, 0x2293, 0x2298, 0x2299, 0x22A2, 0x22A4, 0x22A6, 0x22B9, 0x22BE, 0x22C0, 0x22C9, 0x22CE, 0x22D0, 0x22D2, 0x22D6, 0x22EE, 0x22F0, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C0, 0x27C1, 0x27C3, 0x27C7, 0x27C8, 0x27CA, 0x27CB, 0x27CE, 0x27D3, 0x27D7, 0x27DC, 0x27DF, 0x27E2, 0x27F0, 0x2983, 0x2999, 0x299B, 0x29A1, 0x29A2, 0x29B0, 0x29B8, 0x29B9, 0x29C0, 0x29C6, 0x29C9, 0x29CA, 0x29CE, 0x29D3, 0x29D4, 0x29D6, 0x29D8, 0x29DD, 0x29E1, 0x29E2, 0x29E3, 0x29E6, 0x29E8, 0x29EA, 0x29F4, 0x29FA, 0x29FC, 0x29FE, 0x2A0A, 0x2A1D, 0x2A1E, 0x2A22, 0x2A24, 0x2A25, 0x2A26, 0x2A27, 0x2A29, 0x2A2A, 0x2A2B, 0x2A2F, 0x2A34, 0x2A36, 0x2A3C, 0x2A3F, 0x2A57, 0x2A59, 0x2A64, 0x2A66, 0x2A6A, 0x2A6E, 0x2A6F, 0x2A71, 0x2A73, 0x2A75, 0x2A79, 0x2AA4, 0x2AA6, 0x2AAE, 0x2AAF, 0x2AD7, 0x2ADC, 0x2ADD, 0x2ADE, 0x2ADF, 0x2AE2, 0x2AE7, 0x2AEC, 0x2AEF, 0x2AF3, 0x2AF4, 0x2AF7, 0x2AFC, 0x2AFD, 0x2AFE, 0x2BFE, 0x2BFF, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFE64, 0xFE66, 0xFF08, 0xFF0A, 0xFF1C, 0xFF1D, 0xFF1E, 0xFF1F, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1D6DB, 0x1D6DC, 0x1D715, 0x1D716, 0x1D74F, 0x1D750, 0x1D789, 0x1D78A, 0x1D7C3, 0x1D7C4 }; # endif /* EBCDIC 037 */ static const UV UNI_BLOCKELEMENTS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2580, 0x25A0 }; static const UV UNI_BOPO_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2EA, 0x2EC, 0x3001, 0x3004, 0x3008, 0x3012, 0x3013, 0x3020, 0x302A, 0x302E, 0x3030, 0x3031, 0x3037, 0x3038, 0x30FB, 0x30FC, 0x3105, 0x3130, 0x31A0, 0x31C0, 0xFE45, 0xFE47, 0xFF61, 0xFF66 }; static const UV UNI_BOPOMOFOEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x31A0, 0x31C0 }; static const UV UNI_BOXDRAWING_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2500, 0x2580 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BPT__C_invlist[] = { /* for ASCII/Latin1 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x29, 0x2A, 0x5D, 0x5E, 0x7D, 0x7E, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BPT__C_invlist[] = { /* for EBCDIC 1047 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBD, 0xBE, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BPT__C_invlist[] = { /* for EBCDIC 037 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBB, 0xBC, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BPT__N_invlist[] = { /* for ASCII/Latin1 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x28, 0x2A, 0x5B, 0x5C, 0x5D, 0x5E, 0x7B, 0x7C, 0x7D, 0x7E, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E22, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BPT__N_invlist[] = { /* for EBCDIC 1047 */ 61, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0x5D, 0x5E, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E22, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BPT__N_invlist[] = { /* for EBCDIC 037 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0x5D, 0x5E, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E22, 0x2E2A, 0x3008, 0x3012, 0x3014, 0x301C, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_BPT__O_invlist[] = { /* for ASCII/Latin1 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x28, 0x29, 0x5B, 0x5C, 0x7B, 0x7C, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_BPT__O_invlist[] = { /* for EBCDIC 1047 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xAD, 0xAE, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_BPT__O_invlist[] = { /* for EBCDIC 037 */ 121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xBA, 0xBB, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* EBCDIC 037 */ static const UV UNI_BRAH_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x11080 }; static const UV UNI_BRAI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2800, 0x2900 }; static const UV UNI_BUGI_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0xA9CF, 0xA9D0 }; static const UV UNI_BUHD_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1735, 0x1737, 0x1740, 0x1754 }; static const UV UNI_BYZANTINEMUSIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D000, 0x1D100 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_C_invlist[] = { /* for ASCII/Latin1 */ 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA0, 0xAD, 0xAE, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x61C, 0x61E, 0x6DD, 0x6DE, 0x70E, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D173, 0x1D17B, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_C_invlist[] = { /* for EBCDIC 1047 */ 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x61C, 0x61E, 0x6DD, 0x6DE, 0x70E, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D173, 0x1D17B, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_C_invlist[] = { /* for EBCDIC 037 */ 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x61C, 0x61E, 0x6DD, 0x6DE, 0x70E, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D173, 0x1D17B, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ static const UV UNI_CAKM_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9E6, 0x9F0, 0x1040, 0x104A, 0x11100, 0x11135, 0x11136, 0x11148 }; static const UV UNI_CANS_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1400, 0x1680, 0x18B0, 0x18F6 }; static const UV UNI_CARI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x102A0, 0x102D1 }; static const UV UNI_CCC__0_invlist[] = { /* for all charsets */ 369, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x34F, 0x350, 0x370, 0x483, 0x488, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x900, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x9BC, 0x9BD, 0x9CD, 0x9CE, 0x9FE, 0x9FF, 0xA3C, 0xA3D, 0xA4D, 0xA4E, 0xABC, 0xABD, 0xACD, 0xACE, 0xB3C, 0xB3D, 0xB4D, 0xB4E, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xC55, 0xC57, 0xCBC, 0xCBD, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE38, 0xE3B, 0xE48, 0xE4C, 0xEB8, 0xEBB, 0xEC8, 0xECC, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF7E, 0xF80, 0xF81, 0xF82, 0xF85, 0xF86, 0xF88, 0xFC6, 0xFC7, 0x1037, 0x1038, 0x1039, 0x103B, 0x108D, 0x108E, 0x135D, 0x1360, 0x1714, 0x1715, 0x1734, 0x1735, 0x17D2, 0x17D3, 0x17DD, 0x17DE, 0x18A9, 0x18AA, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A60, 0x1A61, 0x1A75, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B6B, 0x1B74, 0x1BAA, 0x1BAC, 0x1BE6, 0x1BE7, 0x1BF2, 0x1BF4, 0x1C37, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA670, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA806, 0xA807, 0xA82C, 0xA82D, 0xA8C4, 0xA8C5, 0xA8E0, 0xA8F2, 0xA92B, 0xA92E, 0xA953, 0xA954, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9C1, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAF6, 0xAAF7, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE20, 0xFE30, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A0D, 0x10A0E, 0x10A0F, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11046, 0x11047, 0x1107F, 0x11080, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11133, 0x11135, 0x11173, 0x11174, 0x111C0, 0x111C1, 0x111CA, 0x111CB, 0x11235, 0x11237, 0x112E9, 0x112EB, 0x1133B, 0x1133D, 0x1134D, 0x1134E, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11442, 0x11443, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114C2, 0x114C4, 0x115BF, 0x115C1, 0x1163F, 0x11640, 0x116B6, 0x116B8, 0x1172B, 0x1172C, 0x11839, 0x1183B, 0x1193D, 0x1193F, 0x11943, 0x11944, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D97, 0x11D98, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16FF0, 0x16FF2, 0x1BC9E, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B }; static const UV UNI_CCC__1_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x334, 0x339, 0x1CD4, 0x1CD5, 0x1CE2, 0x1CE9, 0x20D2, 0x20D4, 0x20D8, 0x20DB, 0x20E5, 0x20E7, 0x20EA, 0x20EC, 0x10A39, 0x10A3A, 0x16AF0, 0x16AF5, 0x1BC9E, 0x1BC9F, 0x1D167, 0x1D16A }; static const UV UNI_CCC__10_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B0, 0x5B1 }; static const UV UNI_CCC__103_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE38, 0xE3A }; static const UV UNI_CCC__107_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE48, 0xE4C }; static const UV UNI_CCC__11_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B1, 0x5B2 }; static const UV UNI_CCC__118_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEB8, 0xEBA }; static const UV UNI_CCC__12_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B2, 0x5B3 }; static const UV UNI_CCC__122_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEC8, 0xECC }; static const UV UNI_CCC__129_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF71, 0xF72 }; static const UV UNI_CCC__13_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B3, 0x5B4 }; static const UV UNI_CCC__130_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF72, 0xF73, 0xF7A, 0xF7E, 0xF80, 0xF81 }; static const UV UNI_CCC__132_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF74, 0xF75 }; static const UV UNI_CCC__14_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B4, 0x5B5 }; static const UV UNI_CCC__15_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B5, 0x5B6 }; static const UV UNI_CCC__16_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B6, 0x5B7 }; static const UV UNI_CCC__17_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B7, 0x5B8 }; static const UV UNI_CCC__18_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B8, 0x5B9, 0x5C7, 0x5C8 }; static const UV UNI_CCC__19_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5B9, 0x5BB }; static const UV UNI_CCC__20_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5BB, 0x5BC }; static const UV UNI_CCC__202_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x321, 0x323, 0x327, 0x329, 0x1DD0, 0x1DD1 }; static const UV UNI_CCC__21_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5BC, 0x5BD }; static const UV UNI_CCC__214_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1DCE, 0x1DCF }; static const UV UNI_CCC__216_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x31B, 0x31C, 0xF39, 0xF3A, 0x1D165, 0x1D167, 0x1D16E, 0x1D173 }; static const UV UNI_CCC__22_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5BD, 0x5BE }; static const UV UNI_CCC__23_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5BF, 0x5C0 }; static const UV UNI_CCC__24_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C1, 0x5C2 }; static const UV UNI_CCC__25_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C2, 0x5C3 }; static const UV UNI_CCC__26_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB1E, 0xFB1F }; static const UV UNI_CCC__27_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x64B, 0x64C, 0x8F0, 0x8F1 }; static const UV UNI_CCC__28_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x64C, 0x64D, 0x8F1, 0x8F2 }; static const UV UNI_CCC__29_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x64D, 0x64E, 0x8F2, 0x8F3 }; static const UV UNI_CCC__30_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x618, 0x619, 0x64E, 0x64F }; static const UV UNI_CCC__31_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x619, 0x61A, 0x64F, 0x650 }; static const UV UNI_CCC__32_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61A, 0x61B, 0x650, 0x651 }; static const UV UNI_CCC__33_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x651, 0x652 }; static const UV UNI_CCC__34_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x652, 0x653 }; static const UV UNI_CCC__35_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x670, 0x671 }; static const UV UNI_CCC__36_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x711, 0x712 }; static const UV UNI_CCC__6_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16FF0, 0x16FF2 }; static const UV UNI_CCC__7_invlist[] = { /* for all charsets */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93C, 0x93D, 0x9BC, 0x9BD, 0xA3C, 0xA3D, 0xABC, 0xABD, 0xB3C, 0xB3D, 0xCBC, 0xCBD, 0x1037, 0x1038, 0x1B34, 0x1B35, 0x1BE6, 0x1BE7, 0x1C37, 0x1C38, 0xA9B3, 0xA9B4, 0x110BA, 0x110BB, 0x11173, 0x11174, 0x111CA, 0x111CB, 0x11236, 0x11237, 0x112E9, 0x112EA, 0x1133B, 0x1133D, 0x11446, 0x11447, 0x114C3, 0x114C4, 0x115C0, 0x115C1, 0x116B7, 0x116B8, 0x1183A, 0x1183B, 0x11943, 0x11944, 0x11D42, 0x11D43, 0x1E94A, 0x1E94B }; static const UV UNI_CCC__8_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3099, 0x309B }; static const UV UNI_CCC__84_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC55, 0xC56 }; static const UV UNI_CCC__9_invlist[] = { /* for all charsets */ 109, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x94D, 0x94E, 0x9CD, 0x9CE, 0xA4D, 0xA4E, 0xACD, 0xACE, 0xB4D, 0xB4E, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE3A, 0xE3B, 0xEBA, 0xEBB, 0xF84, 0xF85, 0x1039, 0x103B, 0x1714, 0x1715, 0x1734, 0x1735, 0x17D2, 0x17D3, 0x1A60, 0x1A61, 0x1B44, 0x1B45, 0x1BAA, 0x1BAC, 0x1BF2, 0x1BF4, 0x2D7F, 0x2D80, 0xA806, 0xA807, 0xA82C, 0xA82D, 0xA8C4, 0xA8C5, 0xA953, 0xA954, 0xA9C0, 0xA9C1, 0xAAF6, 0xAAF7, 0xABED, 0xABEE, 0x10A3F, 0x10A40, 0x11046, 0x11047, 0x1107F, 0x11080, 0x110B9, 0x110BA, 0x11133, 0x11135, 0x111C0, 0x111C1, 0x11235, 0x11236, 0x112EA, 0x112EB, 0x1134D, 0x1134E, 0x11442, 0x11443, 0x114C2, 0x114C3, 0x115BF, 0x115C0, 0x1163F, 0x11640, 0x116B6, 0x116B7, 0x1172B, 0x1172C, 0x11839, 0x1183A, 0x1193D, 0x1193F, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D44, 0x11D46, 0x11D97, 0x11D98 }; static const UV UNI_CCC__91_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC56, 0xC57 }; static const UV UNI_CCC__A_invlist[] = { /* for all charsets */ 237, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x315, 0x33D, 0x345, 0x346, 0x347, 0x34A, 0x34D, 0x350, 0x353, 0x357, 0x358, 0x35B, 0x35C, 0x363, 0x370, 0x483, 0x488, 0x592, 0x596, 0x597, 0x59A, 0x59C, 0x5A2, 0x5A8, 0x5AA, 0x5AB, 0x5AD, 0x5AF, 0x5B0, 0x5C4, 0x5C5, 0x610, 0x618, 0x653, 0x655, 0x657, 0x65C, 0x65D, 0x65F, 0x6D6, 0x6DD, 0x6DF, 0x6E3, 0x6E4, 0x6E5, 0x6E7, 0x6E9, 0x6EB, 0x6ED, 0x730, 0x731, 0x732, 0x734, 0x735, 0x737, 0x73A, 0x73B, 0x73D, 0x73E, 0x73F, 0x742, 0x743, 0x744, 0x745, 0x746, 0x747, 0x748, 0x749, 0x74B, 0x7EB, 0x7F2, 0x7F3, 0x7F4, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x8D4, 0x8E2, 0x8E4, 0x8E6, 0x8E7, 0x8E9, 0x8EA, 0x8ED, 0x8F3, 0x8F6, 0x8F7, 0x8F9, 0x8FB, 0x900, 0x951, 0x952, 0x953, 0x955, 0x9FE, 0x9FF, 0xF82, 0xF84, 0xF86, 0xF88, 0x135D, 0x1360, 0x17DD, 0x17DE, 0x193A, 0x193B, 0x1A17, 0x1A18, 0x1A75, 0x1A7D, 0x1AB0, 0x1AB5, 0x1ABB, 0x1ABD, 0x1B6B, 0x1B6C, 0x1B6D, 0x1B74, 0x1CD0, 0x1CD3, 0x1CDA, 0x1CDC, 0x1CE0, 0x1CE1, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DC2, 0x1DC3, 0x1DCA, 0x1DCB, 0x1DCD, 0x1DD1, 0x1DF6, 0x1DFB, 0x1DFC, 0x1DFE, 0x1DFF, 0x20D0, 0x20D2, 0x20D4, 0x20D8, 0x20DB, 0x20DD, 0x20E1, 0x20E2, 0x20E7, 0x20E8, 0x20E9, 0x20EA, 0x20F0, 0x20F1, 0x2CEF, 0x2CF2, 0x2DE0, 0x2E00, 0xA66F, 0xA670, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA8E0, 0xA8F2, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB4, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xFE20, 0xFE27, 0xFE2E, 0xFE30, 0x10376, 0x1037B, 0x10A0F, 0x10A10, 0x10A38, 0x10A39, 0x10AE5, 0x10AE6, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F48, 0x10F4B, 0x10F4C, 0x10F4D, 0x11100, 0x11103, 0x11366, 0x1136D, 0x11370, 0x11375, 0x1145E, 0x1145F, 0x16B30, 0x16B37, 0x1D185, 0x1D18A, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E944, 0x1E94A }; static const UV UNI_CCC__AL_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5AE, 0x5AF, 0x18A9, 0x18AA, 0x1DF7, 0x1DF9, 0x302B, 0x302C }; static const UV UNI_CCC__AR_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x315, 0x316, 0x31A, 0x31B, 0x358, 0x359, 0x1DF6, 0x1DF7, 0x302C, 0x302D }; static const UV UNI_CCC__B_invlist[] = { /* for all charsets */ 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x316, 0x31A, 0x31C, 0x321, 0x323, 0x327, 0x329, 0x334, 0x339, 0x33D, 0x347, 0x34A, 0x34D, 0x34F, 0x353, 0x357, 0x359, 0x35B, 0x591, 0x592, 0x596, 0x597, 0x59B, 0x59C, 0x5A2, 0x5A8, 0x5AA, 0x5AB, 0x5C5, 0x5C6, 0x655, 0x657, 0x65C, 0x65D, 0x65F, 0x660, 0x6E3, 0x6E4, 0x6EA, 0x6EB, 0x6ED, 0x6EE, 0x731, 0x732, 0x734, 0x735, 0x737, 0x73A, 0x73B, 0x73D, 0x73E, 0x73F, 0x742, 0x743, 0x744, 0x745, 0x746, 0x747, 0x748, 0x749, 0x7F2, 0x7F3, 0x7FD, 0x7FE, 0x859, 0x85C, 0x8D3, 0x8D4, 0x8E3, 0x8E4, 0x8E6, 0x8E7, 0x8E9, 0x8EA, 0x8ED, 0x8F0, 0x8F6, 0x8F7, 0x8F9, 0x8FB, 0x952, 0x953, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xFC6, 0xFC7, 0x108D, 0x108E, 0x193B, 0x193C, 0x1A18, 0x1A19, 0x1A7F, 0x1A80, 0x1AB5, 0x1ABB, 0x1ABD, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B6C, 0x1B6D, 0x1CD5, 0x1CDA, 0x1CDC, 0x1CE0, 0x1CED, 0x1CEE, 0x1DC2, 0x1DC3, 0x1DCA, 0x1DCB, 0x1DCF, 0x1DD0, 0x1DF9, 0x1DFA, 0x1DFD, 0x1DFE, 0x1DFF, 0x1E00, 0x20E8, 0x20E9, 0x20EC, 0x20F0, 0xA92B, 0xA92E, 0xAAB4, 0xAAB5, 0xFE27, 0xFE2E, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10A0D, 0x10A0E, 0x10A3A, 0x10A3B, 0x10AE6, 0x10AE7, 0x10F46, 0x10F48, 0x10F4B, 0x10F4C, 0x10F4D, 0x10F51, 0x1D17B, 0x1D183, 0x1D18A, 0x1D18C, 0x1E8D0, 0x1E8D7 }; static const UV UNI_CCC__BL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x302A, 0x302B }; static const UV UNI_CCC__BR_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59A, 0x59B, 0x5AD, 0x5AE, 0x1939, 0x193A, 0x302D, 0x302E }; static const UV UNI_CCC__DA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x35D, 0x35F, 0x360, 0x362, 0x1DCD, 0x1DCE }; static const UV UNI_CCC__DB_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x35C, 0x35D, 0x35F, 0x360, 0x362, 0x363, 0x1DFC, 0x1DFD }; static const UV UNI_CCC__IS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x345, 0x346 }; static const UV UNI_CCC__L_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x302E, 0x3030 }; static const UV UNI_CCC__R_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D16D, 0x1D16E }; static const UV UNI_CE_invlist[] = { /* for all charsets */ 67, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF76, 0xF77, 0xF78, 0xF79, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x2ADC, 0x2ADD, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CF_invlist[] = { /* for ASCII/Latin1 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CF_invlist[] = { /* for EBCDIC 1047 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CF_invlist[] = { /* for EBCDIC 037 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 037 */ static const UV UNI_CHAM_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60 }; static const UV UNI_CHER_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0xAB70, 0xABC0 }; static const UV UNI_CHEROKEESUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAB70, 0xABC0 }; static const UV UNI_CHESSSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1FA00, 0x1FA70 }; static const UV UNI_CHRS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10FB0, 0x10FCC }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CI_invlist[] = { /* for ASCII/Latin1 */ 821, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27, 0x28, 0x2E, 0x2F, 0x3A, 0x3B, 0x5E, 0x5F, 0x60, 0x61, 0xA8, 0xA9, 0xAD, 0xAE, 0xAF, 0xB0, 0xB4, 0xB5, 0xB7, 0xB9, 0x2B0, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x387, 0x388, 0x483, 0x48A, 0x559, 0x55A, 0x55F, 0x560, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5F4, 0x5F5, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x640, 0x641, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x82E, 0x859, 0x85C, 0x8D3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x971, 0x972, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE46, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10FC, 0x10FD, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17D7, 0x17D8, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1843, 0x1844, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x200B, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2C7C, 0x2C7E, 0x2CEF, 0x2CF2, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x302A, 0x302E, 0x3031, 0x3036, 0x303B, 0x303C, 0x3099, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA4F8, 0xA4FE, 0xA60C, 0xA60D, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CF, 0xA9D0, 0xA9E5, 0xA9E7, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA70, 0xAA71, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAADD, 0xAADE, 0xAAEC, 0xAAEE, 0xAAF3, 0xAAF5, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFBB2, 0xFBC2, 0xFE00, 0xFE10, 0xFE13, 0xFE14, 0xFE20, 0xFE30, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16F4F, 0x16F50, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E13E, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0x1F3FB, 0x1F400, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CI_invlist[] = { /* for EBCDIC 1047 */ 819, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5F, 0x60, 0x79, 0x7B, 0x7D, 0x7E, 0x9D, 0x9E, 0xB3, 0xB4, 0xBB, 0xBD, 0xBE, 0xBF, 0xCA, 0xCB, 0x2B0, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x387, 0x388, 0x483, 0x48A, 0x559, 0x55A, 0x55F, 0x560, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5F4, 0x5F5, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x640, 0x641, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x82E, 0x859, 0x85C, 0x8D3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x971, 0x972, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE46, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10FC, 0x10FD, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17D7, 0x17D8, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1843, 0x1844, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x200B, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2C7C, 0x2C7E, 0x2CEF, 0x2CF2, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x302A, 0x302E, 0x3031, 0x3036, 0x303B, 0x303C, 0x3099, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA4F8, 0xA4FE, 0xA60C, 0xA60D, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CF, 0xA9D0, 0xA9E5, 0xA9E7, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA70, 0xAA71, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAADD, 0xAADE, 0xAAEC, 0xAAEE, 0xAAF3, 0xAAF5, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFBB2, 0xFBC2, 0xFE00, 0xFE10, 0xFE13, 0xFE14, 0xFE20, 0xFE30, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16F4F, 0x16F50, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E13E, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0x1F3FB, 0x1F400, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CI_invlist[] = { /* for EBCDIC 037 */ 817, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x79, 0x7B, 0x7D, 0x7E, 0x9D, 0x9E, 0xB0, 0xB1, 0xB3, 0xB4, 0xBC, 0xBF, 0xCA, 0xCB, 0x2B0, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x387, 0x388, 0x483, 0x48A, 0x559, 0x55A, 0x55F, 0x560, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5F4, 0x5F5, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x640, 0x641, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x82E, 0x859, 0x85C, 0x8D3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x971, 0x972, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE46, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10FC, 0x10FD, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17D7, 0x17D8, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1843, 0x1844, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AA7, 0x1AA8, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DFA, 0x1DFB, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x200B, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2028, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2C7C, 0x2C7E, 0x2CEF, 0x2CF2, 0x2D6F, 0x2D70, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x302A, 0x302E, 0x3031, 0x3036, 0x303B, 0x303C, 0x3099, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA4F8, 0xA4FE, 0xA60C, 0xA60D, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA6A0, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA770, 0xA771, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CF, 0xA9D0, 0xA9E5, 0xA9E7, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA70, 0xAA71, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAADD, 0xAADE, 0xAAEC, 0xAAEE, 0xAAF3, 0xAAF5, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFBB2, 0xFBC2, 0xFE00, 0xFE10, 0xFE13, 0xFE14, 0xFE20, 0xFE30, 0xFE52, 0xFE53, 0xFE55, 0xFE56, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16B40, 0x16B44, 0x16F4F, 0x16F50, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E13E, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0x1F3FB, 0x1F400, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ static const UV UNI_CJK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4E00, 0xA000 }; static const UV UNI_CJKCOMPAT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3300, 0x3400 }; static const UV UNI_CJKCOMPATFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE30, 0xFE50 }; static const UV UNI_CJKCOMPATIDEOGRAPHS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF900, 0xFB00 }; static const UV UNI_CJKCOMPATIDEOGRAPHSSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2F800, 0x2FA20 }; static const UV UNI_CJKEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3400, 0x4DC0 }; static const UV UNI_CJKEXTB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20000, 0x2A6E0 }; static const UV UNI_CJKEXTC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2A700, 0x2B740 }; static const UV UNI_CJKEXTD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B740, 0x2B820 }; static const UV UNI_CJKEXTE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B820, 0x2CEB0 }; static const UV UNI_CJKEXTF_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2CEB0, 0x2EBF0 }; static const UV UNI_CJKEXTG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30000, 0x31350 }; static const UV UNI_CJKRADICALSSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E80, 0x2F00 }; static const UV UNI_CJKSTROKES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x31C0, 0x31F0 }; static const UV UNI_CJKSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3000, 0x3040 }; static const UV UNI_CN_invlist[] = { /* for all charsets */ 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; static const UV UNI_CO_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE000, 0xF900, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; static const UV UNI_COMPATJAMO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3130, 0x3190 }; static const UV UNI_COMPEX_invlist[] = { /* for all charsets */ 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x387, 0x388, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBE, 0x1FBF, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FEE, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; static const UV UNI_CONTROLPICTURES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2400, 0x2440 }; static const UV UNI_COPT_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3E2, 0x3F0, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00, 0x102E0, 0x102FC }; static const UV UNI_COPTICEPACTNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x102E0, 0x10300 }; static const UV UNI_COUNTINGROD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D360, 0x1D380 }; static const UV UNI_CPRT_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840 }; static const UV UNI_CUNEIFORMNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12400, 0x12480 }; static const UV UNI_CURRENCYSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20A0, 0x20D0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWCF_invlist[] = { /* for ASCII/Latin1 */ 1229, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xE0, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D2, 0x3D5, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC7, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 1047 */ 1249, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D2, 0x3D5, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC7, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWCF_invlist[] = { /* for EBCDIC 037 */ 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xA0, 0xA1, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x345, 0x346, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D2, 0x3D5, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F2, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC7, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWCM_invlist[] = { /* for ASCII/Latin1 */ 249, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 1047 */ 281, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWCM_invlist[] = { /* for EBCDIC 037 */ 277, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x138, 0x139, 0x18D, 0x18E, 0x19B, 0x19C, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x221, 0x222, 0x234, 0x23A, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x370, 0x374, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3D2, 0x3D5, 0x3F6, 0x3F7, 0x3FC, 0x3FD, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x561, 0x588, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2180, 0x2183, 0x2185, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C71, 0x2C72, 0x2C74, 0x2C75, 0x2C77, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA640, 0xA66E, 0xA680, 0xA69C, 0xA722, 0xA730, 0xA732, 0xA770, 0xA779, 0xA788, 0xA78B, 0xA78E, 0xA790, 0xA795, 0xA796, 0xA7AF, 0xA7B0, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0x10400, 0x10450, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x118A0, 0x118E0, 0x16E40, 0x16E80, 0x1E900, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWKCF_invlist[] = { /* for ASCII/Latin1 */ 1655, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAD, 0xAE, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0xC0, 0xD7, 0xD8, 0xE0, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x346, 0x34F, 0x350, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x37A, 0x37B, 0x37E, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x61C, 0x61D, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10FC, 0x10FD, 0x115F, 0x1161, 0x13F8, 0x13FE, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FC5, 0x1FC7, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FD8, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FE8, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFF, 0x2000, 0x2010, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2183, 0x2184, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA69E, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE00, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0xFFF9, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1BCA0, 0x1BCA4, 0x1D15E, 0x1D165, 0x1D173, 0x1D17B, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E900, 0x1E922, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, 0xE1000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 1047 */ 1665, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9A, 0x9C, 0x9D, 0x9F, 0xA0, 0xA1, 0xAC, 0xAD, 0xAE, 0xAF, 0xB7, 0xBD, 0xBE, 0xBF, 0xC1, 0xCB, 0xD1, 0xDB, 0xE2, 0xF0, 0xFA, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x346, 0x34F, 0x350, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x37A, 0x37B, 0x37E, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x61C, 0x61D, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10FC, 0x10FD, 0x115F, 0x1161, 0x13F8, 0x13FE, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FC5, 0x1FC7, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FD8, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FE8, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFF, 0x2000, 0x2010, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2183, 0x2184, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA69E, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE00, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0xFFF9, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1BCA0, 0x1BCA4, 0x1D15E, 0x1D165, 0x1D173, 0x1D17B, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E900, 0x1E922, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, 0xE1000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWKCF_invlist[] = { /* for EBCDIC 037 */ 1663, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x59, 0x5A, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9A, 0x9C, 0x9D, 0x9F, 0xA0, 0xA1, 0xAC, 0xAF, 0xB7, 0xBA, 0xBC, 0xBF, 0xC1, 0xCB, 0xD1, 0xDB, 0xE2, 0xF0, 0xFA, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x149, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x346, 0x34F, 0x350, 0x370, 0x371, 0x372, 0x373, 0x374, 0x375, 0x376, 0x377, 0x37A, 0x37B, 0x37E, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3C2, 0x3C3, 0x3CF, 0x3D7, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x587, 0x588, 0x61C, 0x61D, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10FC, 0x10FD, 0x115F, 0x1161, 0x13F8, 0x13FE, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9A, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1F80, 0x1FB0, 0x1FB2, 0x1FB5, 0x1FB7, 0x1FC5, 0x1FC7, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FD8, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FE8, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF7, 0x1FFF, 0x2000, 0x2010, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2183, 0x2184, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7C, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA69E, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA771, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAB70, 0xABC0, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE00, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF0, 0xFFF9, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1BCA0, 0x1BCA4, 0x1D15E, 0x1D165, 0x1D173, 0x1D17B, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E900, 0x1E922, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E, 0xE0000, 0xE1000 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWL_invlist[] = { /* for ASCII/Latin1 */ 1203, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWL_invlist[] = { /* for EBCDIC 1047 */ 1221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWL_invlist[] = { /* for EBCDIC 037 */ 1217, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1E900, 0x1E922 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWT_invlist[] = { /* for ASCII/Latin1 */ 1237, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xB5, 0xB6, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C8, 0x1C9, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWT_invlist[] = { /* for EBCDIC 1047 */ 1251, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C8, 0x1C9, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWT_invlist[] = { /* for EBCDIC 037 */ 1251, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x1C5, 0x1C6, 0x1C8, 0x1C9, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_CWU_invlist[] = { /* for ASCII/Latin1 */ 1239, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xB5, 0xB6, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_CWU_invlist[] = { /* for EBCDIC 1047 */ 1253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_CWU_invlist[] = { /* for EBCDIC 037 */ 1253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x138, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18D, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19B, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BA, 0x1BD, 0x1BE, 0x1BF, 0x1C0, 0x1C5, 0x1C7, 0x1C8, 0x1CA, 0x1CB, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F2, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x234, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x255, 0x256, 0x258, 0x259, 0x25A, 0x25B, 0x25D, 0x260, 0x262, 0x263, 0x264, 0x265, 0x267, 0x268, 0x26D, 0x26F, 0x270, 0x271, 0x273, 0x275, 0x276, 0x27D, 0x27E, 0x280, 0x281, 0x282, 0x284, 0x287, 0x28D, 0x292, 0x293, 0x29D, 0x29F, 0x345, 0x346, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37B, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FC, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x561, 0x588, 0x10D0, 0x10FB, 0x10FD, 0x1100, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D79, 0x1D7A, 0x1D7D, 0x1D7E, 0x1D8E, 0x1D8F, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9C, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBC, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x1FFC, 0x1FFD, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C73, 0x2C74, 0x2C76, 0x2C77, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE4, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69C, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA730, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA770, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA791, 0xA792, 0xA793, 0xA795, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xAB53, 0xAB54, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ static const UV UNI_CYPRIOTSYLLABARY_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10800, 0x10840 }; static const UV UNI_CYRILLICEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2DE0, 0x2E00 }; static const UV UNI_CYRILLICEXTB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA640, 0xA6A0 }; static const UV UNI_CYRILLICEXTC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C80, 0x1C90 }; static const UV UNI_CYRILLICSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x500, 0x530 }; static const UV UNI_CYRL_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x400, 0x530, 0x1C80, 0x1C89, 0x1D2B, 0x1D2C, 0x1D78, 0x1D79, 0x1DF8, 0x1DF9, 0x2DE0, 0x2E00, 0x2E43, 0x2E44, 0xA640, 0xA6A0, 0xFE2E, 0xFE30 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DASH_invlist[] = { /* for ASCII/Latin1 */ 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2053, 0x2054, 0x207B, 0x207C, 0x208B, 0x208C, 0x2212, 0x2213, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DASH_invlist[] = { /* for EBCDIC 1047 */ 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2053, 0x2054, 0x207B, 0x207C, 0x208B, 0x208C, 0x2212, 0x2213, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DASH_invlist[] = { /* for EBCDIC 037 */ 45, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2053, 0x2054, 0x207B, 0x207C, 0x208B, 0x208C, 0x2212, 0x2213, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* EBCDIC 037 */ static const UV UNI_DEP_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x149, 0x14A, 0x673, 0x674, 0xF77, 0xF78, 0xF79, 0xF7A, 0x17A3, 0x17A5, 0x206A, 0x2070, 0x2329, 0x232B, 0xE0001, 0xE0002 }; static const UV UNI_DEVA_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x953, 0x955, 0x980, 0x1CD0, 0x1CF7, 0x1CF8, 0x1CFA, 0x20F0, 0x20F1, 0xA830, 0xA83A, 0xA8E0, 0xA900 }; static const UV UNI_DEVANAGARIEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA8E0, 0xA900 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DI_invlist[] = { /* for ASCII/Latin1 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DI_invlist[] = { /* for EBCDIC 1047 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DI_invlist[] = { /* for EBCDIC 037 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x2010, 0x202A, 0x202F, 0x2060, 0x2070, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0xFFF0, 0xFFF9, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE1000 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DIA_invlist[] = { /* for ASCII/Latin1 */ 353, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5E, 0x5F, 0x60, 0x61, 0xA8, 0xA9, 0xAF, 0xB0, 0xB4, 0xB5, 0xB7, 0xB9, 0x2B0, 0x34F, 0x350, 0x358, 0x35D, 0x363, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x483, 0x488, 0x559, 0x55A, 0x591, 0x5A2, 0x5A3, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C5, 0x64B, 0x653, 0x657, 0x659, 0x6DF, 0x6E1, 0x6E5, 0x6E7, 0x6EA, 0x6ED, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x818, 0x81A, 0x8E3, 0x8FF, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x971, 0x972, 0x9BC, 0x9BD, 0x9CD, 0x9CE, 0xA3C, 0xA3D, 0xA4D, 0xA4E, 0xABC, 0xABD, 0xACD, 0xACE, 0xAFD, 0xB00, 0xB3C, 0xB3D, 0xB4D, 0xB4E, 0xB55, 0xB56, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xCBC, 0xCBD, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE47, 0xE4D, 0xE4E, 0xE4F, 0xEBA, 0xEBB, 0xEC8, 0xECD, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF82, 0xF85, 0xF86, 0xF88, 0xFC6, 0xFC7, 0x1037, 0x1038, 0x1039, 0x103B, 0x1063, 0x1065, 0x1069, 0x106E, 0x1087, 0x108E, 0x108F, 0x1090, 0x109A, 0x109C, 0x135D, 0x1360, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1939, 0x193C, 0x1A75, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1ABE, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B6B, 0x1B74, 0x1BAA, 0x1BAC, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1D2C, 0x1D6B, 0x1DC4, 0x1DD0, 0x1DF5, 0x1DFA, 0x1DFD, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2CEF, 0x2CF2, 0x2E2F, 0x2E30, 0x302A, 0x3030, 0x3099, 0x309D, 0x30FC, 0x30FD, 0xA66F, 0xA670, 0xA67C, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA69E, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA8C4, 0xA8C5, 0xA8E0, 0xA8F2, 0xA92B, 0xA92F, 0xA953, 0xA954, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA7B, 0xAA7E, 0xAABF, 0xAAC3, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE20, 0xFE30, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0x102E0, 0x102E1, 0x10AE5, 0x10AE7, 0x10D22, 0x10D28, 0x10F46, 0x10F51, 0x110B9, 0x110BB, 0x11133, 0x11135, 0x11173, 0x11174, 0x111C0, 0x111C1, 0x111CA, 0x111CD, 0x11235, 0x11237, 0x112E9, 0x112EB, 0x1133C, 0x1133D, 0x1134D, 0x1134E, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11442, 0x11443, 0x11446, 0x11447, 0x114C2, 0x114C4, 0x115BF, 0x115C1, 0x1163F, 0x11640, 0x116B6, 0x116B8, 0x1172B, 0x1172C, 0x11839, 0x1183B, 0x1193D, 0x1193F, 0x11943, 0x11944, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D97, 0x11D98, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F8F, 0x16FA0, 0x16FF0, 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E947, 0x1E948, 0x1E94B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DIA_invlist[] = { /* for EBCDIC 1047 */ 353, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5F, 0x60, 0x79, 0x7A, 0x9D, 0x9E, 0xB3, 0xB4, 0xBB, 0xBD, 0xBE, 0xBF, 0x2B0, 0x34F, 0x350, 0x358, 0x35D, 0x363, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x483, 0x488, 0x559, 0x55A, 0x591, 0x5A2, 0x5A3, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C5, 0x64B, 0x653, 0x657, 0x659, 0x6DF, 0x6E1, 0x6E5, 0x6E7, 0x6EA, 0x6ED, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x818, 0x81A, 0x8E3, 0x8FF, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x971, 0x972, 0x9BC, 0x9BD, 0x9CD, 0x9CE, 0xA3C, 0xA3D, 0xA4D, 0xA4E, 0xABC, 0xABD, 0xACD, 0xACE, 0xAFD, 0xB00, 0xB3C, 0xB3D, 0xB4D, 0xB4E, 0xB55, 0xB56, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xCBC, 0xCBD, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE47, 0xE4D, 0xE4E, 0xE4F, 0xEBA, 0xEBB, 0xEC8, 0xECD, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF82, 0xF85, 0xF86, 0xF88, 0xFC6, 0xFC7, 0x1037, 0x1038, 0x1039, 0x103B, 0x1063, 0x1065, 0x1069, 0x106E, 0x1087, 0x108E, 0x108F, 0x1090, 0x109A, 0x109C, 0x135D, 0x1360, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1939, 0x193C, 0x1A75, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1ABE, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B6B, 0x1B74, 0x1BAA, 0x1BAC, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1D2C, 0x1D6B, 0x1DC4, 0x1DD0, 0x1DF5, 0x1DFA, 0x1DFD, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2CEF, 0x2CF2, 0x2E2F, 0x2E30, 0x302A, 0x3030, 0x3099, 0x309D, 0x30FC, 0x30FD, 0xA66F, 0xA670, 0xA67C, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA69E, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA8C4, 0xA8C5, 0xA8E0, 0xA8F2, 0xA92B, 0xA92F, 0xA953, 0xA954, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA7B, 0xAA7E, 0xAABF, 0xAAC3, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE20, 0xFE30, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0x102E0, 0x102E1, 0x10AE5, 0x10AE7, 0x10D22, 0x10D28, 0x10F46, 0x10F51, 0x110B9, 0x110BB, 0x11133, 0x11135, 0x11173, 0x11174, 0x111C0, 0x111C1, 0x111CA, 0x111CD, 0x11235, 0x11237, 0x112E9, 0x112EB, 0x1133C, 0x1133D, 0x1134D, 0x1134E, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11442, 0x11443, 0x11446, 0x11447, 0x114C2, 0x114C4, 0x115BF, 0x115C1, 0x1163F, 0x11640, 0x116B6, 0x116B8, 0x1172B, 0x1172C, 0x11839, 0x1183B, 0x1193D, 0x1193F, 0x11943, 0x11944, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D97, 0x11D98, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F8F, 0x16FA0, 0x16FF0, 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E947, 0x1E948, 0x1E94B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DIA_invlist[] = { /* for EBCDIC 037 */ 351, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x79, 0x7A, 0x9D, 0x9E, 0xB0, 0xB1, 0xB3, 0xB4, 0xBC, 0xBF, 0x2B0, 0x34F, 0x350, 0x358, 0x35D, 0x363, 0x374, 0x376, 0x37A, 0x37B, 0x384, 0x386, 0x483, 0x488, 0x559, 0x55A, 0x591, 0x5A2, 0x5A3, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C5, 0x64B, 0x653, 0x657, 0x659, 0x6DF, 0x6E1, 0x6E5, 0x6E7, 0x6EA, 0x6ED, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F6, 0x818, 0x81A, 0x8E3, 0x8FF, 0x93C, 0x93D, 0x94D, 0x94E, 0x951, 0x955, 0x971, 0x972, 0x9BC, 0x9BD, 0x9CD, 0x9CE, 0xA3C, 0xA3D, 0xA4D, 0xA4E, 0xABC, 0xABD, 0xACD, 0xACE, 0xAFD, 0xB00, 0xB3C, 0xB3D, 0xB4D, 0xB4E, 0xB55, 0xB56, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xCBC, 0xCBD, 0xCCD, 0xCCE, 0xD3B, 0xD3D, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0xE47, 0xE4D, 0xE4E, 0xE4F, 0xEBA, 0xEBB, 0xEC8, 0xECD, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF82, 0xF85, 0xF86, 0xF88, 0xFC6, 0xFC7, 0x1037, 0x1038, 0x1039, 0x103B, 0x1063, 0x1065, 0x1069, 0x106E, 0x1087, 0x108E, 0x108F, 0x1090, 0x109A, 0x109C, 0x135D, 0x1360, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1939, 0x193C, 0x1A75, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1ABE, 0x1B34, 0x1B35, 0x1B44, 0x1B45, 0x1B6B, 0x1B74, 0x1BAA, 0x1BAC, 0x1C36, 0x1C38, 0x1C78, 0x1C7E, 0x1CD0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1D2C, 0x1D6B, 0x1DC4, 0x1DD0, 0x1DF5, 0x1DFA, 0x1DFD, 0x1E00, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2CEF, 0x2CF2, 0x2E2F, 0x2E30, 0x302A, 0x3030, 0x3099, 0x309D, 0x30FC, 0x30FD, 0xA66F, 0xA670, 0xA67C, 0xA67E, 0xA67F, 0xA680, 0xA69C, 0xA69E, 0xA6F0, 0xA6F2, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA7F8, 0xA7FA, 0xA8C4, 0xA8C5, 0xA8E0, 0xA8F2, 0xA92B, 0xA92F, 0xA953, 0xA954, 0xA9B3, 0xA9B4, 0xA9C0, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA7B, 0xAA7E, 0xAABF, 0xAAC3, 0xAAF6, 0xAAF7, 0xAB5B, 0xAB60, 0xAB69, 0xAB6C, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE20, 0xFE30, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE3, 0xFFE4, 0x102E0, 0x102E1, 0x10AE5, 0x10AE7, 0x10D22, 0x10D28, 0x10F46, 0x10F51, 0x110B9, 0x110BB, 0x11133, 0x11135, 0x11173, 0x11174, 0x111C0, 0x111C1, 0x111CA, 0x111CD, 0x11235, 0x11237, 0x112E9, 0x112EB, 0x1133C, 0x1133D, 0x1134D, 0x1134E, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11442, 0x11443, 0x11446, 0x11447, 0x114C2, 0x114C4, 0x115BF, 0x115C1, 0x1163F, 0x11640, 0x116B6, 0x116B8, 0x1172B, 0x1172C, 0x11839, 0x1183B, 0x1193D, 0x1193F, 0x11943, 0x11944, 0x119E0, 0x119E1, 0x11A34, 0x11A35, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11C3F, 0x11C40, 0x11D42, 0x11D43, 0x11D44, 0x11D46, 0x11D97, 0x11D98, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F8F, 0x16FA0, 0x16FF0, 0x16FF2, 0x1D167, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E947, 0x1E948, 0x1E94B }; # endif /* EBCDIC 037 */ static const UV UNI_DIACRITICALS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370 }; static const UV UNI_DIACRITICALSEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1AB0, 0x1B00 }; static const UV UNI_DIACRITICALSFORSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20D0, 0x2100 }; static const UV UNI_DIACRITICALSSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1DC0, 0x1E00 }; static const UV UNI_DIAK_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A }; static const UV UNI_DINGBATS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2700, 0x27C0 }; static const UV UNI_DOGR_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x970, 0xA830, 0xA83A, 0x11800, 0x1183C }; static const UV UNI_DOMINO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F030, 0x1F0A0 }; static const UV UNI_DSRT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10400, 0x10450 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__CAN_invlist[] = { /* for ASCII/Latin1 */ 465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE0, 0xE6, 0xE7, 0xF0, 0xF1, 0xF7, 0xF9, 0xFE, 0xFF, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 1047 */ 469, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0xBA, 0xBB, 0xCB, 0xD0, 0xDB, 0xE0, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__CAN_invlist[] = { /* for EBCDIC 037 */ 469, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0xAD, 0xAE, 0xCB, 0xD0, 0xDB, 0xE0, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__COM_invlist[] = { /* for ASCII/Latin1 */ 149, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA8, 0xA9, 0xAF, 0xB0, 0xB4, 0xB6, 0xB8, 0xB9, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2D8, 0x2DE, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF77, 0xF78, 0xF79, 0xF7A, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x2007, 0x2008, 0x200B, 0x2017, 0x2018, 0x2024, 0x2027, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x20A8, 0x20A9, 0x2100, 0x2102, 0x2103, 0x2104, 0x2105, 0x2108, 0x2109, 0x210A, 0x2116, 0x2117, 0x2121, 0x2122, 0x2135, 0x2139, 0x213B, 0x213C, 0x2160, 0x2180, 0x222C, 0x222E, 0x222F, 0x2231, 0x2474, 0x24B6, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x3131, 0x318F, 0x3200, 0x321F, 0x3220, 0x3244, 0x32C0, 0x32CC, 0x3358, 0x3371, 0x33E0, 0x33FF, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB4F, 0xFB50, 0xFE49, 0xFE50, 0x1F100, 0x1F10B, 0x1F110, 0x1F12B, 0x1F240, 0x1F249 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__COM_invlist[] = { /* for EBCDIC 1047 */ 149, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9D, 0x9E, 0xA0, 0xA1, 0xBB, 0xBD, 0xBE, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2D8, 0x2DE, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF77, 0xF78, 0xF79, 0xF7A, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x2007, 0x2008, 0x200B, 0x2017, 0x2018, 0x2024, 0x2027, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x20A8, 0x20A9, 0x2100, 0x2102, 0x2103, 0x2104, 0x2105, 0x2108, 0x2109, 0x210A, 0x2116, 0x2117, 0x2121, 0x2122, 0x2135, 0x2139, 0x213B, 0x213C, 0x2160, 0x2180, 0x222C, 0x222E, 0x222F, 0x2231, 0x2474, 0x24B6, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x3131, 0x318F, 0x3200, 0x321F, 0x3220, 0x3244, 0x32C0, 0x32CC, 0x3358, 0x3371, 0x33E0, 0x33FF, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB4F, 0xFB50, 0xFE49, 0xFE50, 0x1F100, 0x1F10B, 0x1F110, 0x1F12B, 0x1F240, 0x1F249 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__COM_invlist[] = { /* for EBCDIC 037 */ 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9D, 0x9E, 0xA0, 0xA1, 0xBC, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2D8, 0x2DE, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF77, 0xF78, 0xF79, 0xF7A, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x2007, 0x2008, 0x200B, 0x2017, 0x2018, 0x2024, 0x2027, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x20A8, 0x20A9, 0x2100, 0x2102, 0x2103, 0x2104, 0x2105, 0x2108, 0x2109, 0x210A, 0x2116, 0x2117, 0x2121, 0x2122, 0x2135, 0x2139, 0x213B, 0x213C, 0x2160, 0x2180, 0x222C, 0x222E, 0x222F, 0x2231, 0x2474, 0x24B6, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x3131, 0x318F, 0x3200, 0x321F, 0x3220, 0x3244, 0x32C0, 0x32CC, 0x3358, 0x3371, 0x33E0, 0x33FF, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB4F, 0xFB50, 0xFE49, 0xFE50, 0x1F100, 0x1F10B, 0x1F110, 0x1F12B, 0x1F240, 0x1F249 }; # endif /* EBCDIC 037 */ static const UV UNI_DT__ENC_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2460, 0x2474, 0x24B6, 0x24EB, 0x3244, 0x3248, 0x3251, 0x327F, 0x3280, 0x32C0, 0x32D0, 0x32FF, 0x1F12B, 0x1F12F, 0x1F250, 0x1F252 }; static const UV UNI_DT__FIN_invlist[] = { /* for all charsets */ 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB51, 0xFB52, 0xFB53, 0xFB54, 0xFB57, 0xFB58, 0xFB5B, 0xFB5C, 0xFB5F, 0xFB60, 0xFB63, 0xFB64, 0xFB67, 0xFB68, 0xFB6B, 0xFB6C, 0xFB6F, 0xFB70, 0xFB73, 0xFB74, 0xFB77, 0xFB78, 0xFB7B, 0xFB7C, 0xFB7F, 0xFB80, 0xFB83, 0xFB84, 0xFB85, 0xFB86, 0xFB87, 0xFB88, 0xFB89, 0xFB8A, 0xFB8B, 0xFB8C, 0xFB8D, 0xFB8E, 0xFB8F, 0xFB90, 0xFB93, 0xFB94, 0xFB97, 0xFB98, 0xFB9B, 0xFB9C, 0xFB9F, 0xFBA0, 0xFBA1, 0xFBA2, 0xFBA5, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBAB, 0xFBAC, 0xFBAF, 0xFBB0, 0xFBB1, 0xFBB2, 0xFBD4, 0xFBD5, 0xFBD8, 0xFBD9, 0xFBDA, 0xFBDB, 0xFBDC, 0xFBDD, 0xFBDF, 0xFBE0, 0xFBE1, 0xFBE2, 0xFBE3, 0xFBE4, 0xFBE5, 0xFBE6, 0xFBEB, 0xFBEC, 0xFBED, 0xFBEE, 0xFBEF, 0xFBF0, 0xFBF1, 0xFBF2, 0xFBF3, 0xFBF4, 0xFBF5, 0xFBF6, 0xFBF7, 0xFBF8, 0xFBFA, 0xFBFB, 0xFBFD, 0xFBFE, 0xFC64, 0xFC97, 0xFD11, 0xFD2D, 0xFD3C, 0xFD3D, 0xFD51, 0xFD52, 0xFD58, 0xFD59, 0xFD5A, 0xFD5C, 0xFD5E, 0xFD60, 0xFD62, 0xFD63, 0xFD64, 0xFD65, 0xFD66, 0xFD68, 0xFD69, 0xFD6B, 0xFD6C, 0xFD6D, 0xFD6E, 0xFD70, 0xFD71, 0xFD72, 0xFD74, 0xFD77, 0xFD78, 0xFD7D, 0xFD7E, 0xFD83, 0xFD84, 0xFD86, 0xFD87, 0xFD88, 0xFD8B, 0xFD8C, 0xFD96, 0xFD98, 0xFD99, 0xFD9D, 0xFD9E, 0xFDB4, 0xFDB6, 0xFDB8, 0xFDB9, 0xFDBA, 0xFDBB, 0xFDC3, 0xFDC6, 0xFDC8, 0xFE82, 0xFE83, 0xFE84, 0xFE85, 0xFE86, 0xFE87, 0xFE88, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8E, 0xFE8F, 0xFE90, 0xFE91, 0xFE94, 0xFE95, 0xFE96, 0xFE97, 0xFE9A, 0xFE9B, 0xFE9E, 0xFE9F, 0xFEA2, 0xFEA3, 0xFEA6, 0xFEA7, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD, 0xFEAE, 0xFEAF, 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB6, 0xFEB7, 0xFEBA, 0xFEBB, 0xFEBE, 0xFEBF, 0xFEC2, 0xFEC3, 0xFEC6, 0xFEC7, 0xFECA, 0xFECB, 0xFECE, 0xFECF, 0xFED2, 0xFED3, 0xFED6, 0xFED7, 0xFEDA, 0xFEDB, 0xFEDE, 0xFEDF, 0xFEE2, 0xFEE3, 0xFEE6, 0xFEE7, 0xFEEA, 0xFEEB, 0xFEEE, 0xFEEF, 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF6, 0xFEF7, 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC, 0xFEFD }; static const UV UNI_DT__FONT_invlist[] = { /* for all charsets */ 137, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2102, 0x2103, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2128, 0x2129, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x2135, 0x2139, 0x213A, 0x213C, 0x2141, 0x2145, 0x214A, 0xFB20, 0xFB2A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__FRA_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBC, 0xBF, 0x2150, 0x2160, 0x2189, 0x218A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__FRA_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0x2150, 0x2160, 0x2189, 0x218A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__FRA_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0x2150, 0x2160, 0x2189, 0x218A }; # endif /* EBCDIC 037 */ static const UV UNI_DT__INIT_invlist[] = { /* for all charsets */ 151, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB54, 0xFB55, 0xFB58, 0xFB59, 0xFB5C, 0xFB5D, 0xFB60, 0xFB61, 0xFB64, 0xFB65, 0xFB68, 0xFB69, 0xFB6C, 0xFB6D, 0xFB70, 0xFB71, 0xFB74, 0xFB75, 0xFB78, 0xFB79, 0xFB7C, 0xFB7D, 0xFB80, 0xFB81, 0xFB90, 0xFB91, 0xFB94, 0xFB95, 0xFB98, 0xFB99, 0xFB9C, 0xFB9D, 0xFBA2, 0xFBA3, 0xFBA8, 0xFBA9, 0xFBAC, 0xFBAD, 0xFBD5, 0xFBD6, 0xFBE6, 0xFBE7, 0xFBE8, 0xFBE9, 0xFBF8, 0xFBF9, 0xFBFB, 0xFBFC, 0xFBFE, 0xFBFF, 0xFC97, 0xFCDF, 0xFD2D, 0xFD34, 0xFD50, 0xFD51, 0xFD52, 0xFD58, 0xFD59, 0xFD5A, 0xFD5C, 0xFD5E, 0xFD60, 0xFD62, 0xFD63, 0xFD64, 0xFD65, 0xFD66, 0xFD68, 0xFD69, 0xFD6B, 0xFD6C, 0xFD6D, 0xFD6E, 0xFD70, 0xFD71, 0xFD72, 0xFD74, 0xFD77, 0xFD78, 0xFD7D, 0xFD7E, 0xFD83, 0xFD84, 0xFD86, 0xFD87, 0xFD88, 0xFD8B, 0xFD8C, 0xFD90, 0xFD92, 0xFD96, 0xFD98, 0xFD99, 0xFD9D, 0xFD9E, 0xFDB4, 0xFDB6, 0xFDB8, 0xFDB9, 0xFDBA, 0xFDBB, 0xFDC3, 0xFDC6, 0xFE8B, 0xFE8C, 0xFE91, 0xFE92, 0xFE97, 0xFE98, 0xFE9B, 0xFE9C, 0xFE9F, 0xFEA0, 0xFEA3, 0xFEA4, 0xFEA7, 0xFEA8, 0xFEB3, 0xFEB4, 0xFEB7, 0xFEB8, 0xFEBB, 0xFEBC, 0xFEBF, 0xFEC0, 0xFEC3, 0xFEC4, 0xFEC7, 0xFEC8, 0xFECB, 0xFECC, 0xFECF, 0xFED0, 0xFED3, 0xFED4, 0xFED7, 0xFED8, 0xFEDB, 0xFEDC, 0xFEDF, 0xFEE0, 0xFEE3, 0xFEE4, 0xFEE7, 0xFEE8, 0xFEEB, 0xFEEC, 0xFEF3, 0xFEF4 }; static const UV UNI_DT__ISO_invlist[] = { /* for all charsets */ 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB50, 0xFB51, 0xFB52, 0xFB53, 0xFB56, 0xFB57, 0xFB5A, 0xFB5B, 0xFB5E, 0xFB5F, 0xFB62, 0xFB63, 0xFB66, 0xFB67, 0xFB6A, 0xFB6B, 0xFB6E, 0xFB6F, 0xFB72, 0xFB73, 0xFB76, 0xFB77, 0xFB7A, 0xFB7B, 0xFB7E, 0xFB7F, 0xFB82, 0xFB83, 0xFB84, 0xFB85, 0xFB86, 0xFB87, 0xFB88, 0xFB89, 0xFB8A, 0xFB8B, 0xFB8C, 0xFB8D, 0xFB8E, 0xFB8F, 0xFB92, 0xFB93, 0xFB96, 0xFB97, 0xFB9A, 0xFB9B, 0xFB9E, 0xFB9F, 0xFBA0, 0xFBA1, 0xFBA4, 0xFBA5, 0xFBA6, 0xFBA7, 0xFBAA, 0xFBAB, 0xFBAE, 0xFBAF, 0xFBB0, 0xFBB1, 0xFBD3, 0xFBD4, 0xFBD7, 0xFBD8, 0xFBD9, 0xFBDA, 0xFBDB, 0xFBDC, 0xFBDD, 0xFBDF, 0xFBE0, 0xFBE1, 0xFBE2, 0xFBE3, 0xFBE4, 0xFBE5, 0xFBEA, 0xFBEB, 0xFBEC, 0xFBED, 0xFBEE, 0xFBEF, 0xFBF0, 0xFBF1, 0xFBF2, 0xFBF3, 0xFBF4, 0xFBF5, 0xFBF6, 0xFBF7, 0xFBF9, 0xFBFA, 0xFBFC, 0xFBFD, 0xFC00, 0xFC64, 0xFCF5, 0xFD11, 0xFD3D, 0xFD3E, 0xFDF0, 0xFDFD, 0xFE70, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFE80, 0xFE82, 0xFE83, 0xFE84, 0xFE85, 0xFE86, 0xFE87, 0xFE88, 0xFE89, 0xFE8A, 0xFE8D, 0xFE8E, 0xFE8F, 0xFE90, 0xFE93, 0xFE94, 0xFE95, 0xFE96, 0xFE99, 0xFE9A, 0xFE9D, 0xFE9E, 0xFEA1, 0xFEA2, 0xFEA5, 0xFEA6, 0xFEA9, 0xFEAA, 0xFEAB, 0xFEAC, 0xFEAD, 0xFEAE, 0xFEAF, 0xFEB0, 0xFEB1, 0xFEB2, 0xFEB5, 0xFEB6, 0xFEB9, 0xFEBA, 0xFEBD, 0xFEBE, 0xFEC1, 0xFEC2, 0xFEC5, 0xFEC6, 0xFEC9, 0xFECA, 0xFECD, 0xFECE, 0xFED1, 0xFED2, 0xFED5, 0xFED6, 0xFED9, 0xFEDA, 0xFEDD, 0xFEDE, 0xFEE1, 0xFEE2, 0xFEE5, 0xFEE6, 0xFEE9, 0xFEEA, 0xFEED, 0xFEEE, 0xFEEF, 0xFEF0, 0xFEF1, 0xFEF2, 0xFEF5, 0xFEF6, 0xFEF7, 0xFEF8, 0xFEF9, 0xFEFA, 0xFEFB, 0xFEFC }; static const UV UNI_DT__MED_invlist[] = { /* for all charsets */ 109, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFB55, 0xFB56, 0xFB59, 0xFB5A, 0xFB5D, 0xFB5E, 0xFB61, 0xFB62, 0xFB65, 0xFB66, 0xFB69, 0xFB6A, 0xFB6D, 0xFB6E, 0xFB71, 0xFB72, 0xFB75, 0xFB76, 0xFB79, 0xFB7A, 0xFB7D, 0xFB7E, 0xFB81, 0xFB82, 0xFB91, 0xFB92, 0xFB95, 0xFB96, 0xFB99, 0xFB9A, 0xFB9D, 0xFB9E, 0xFBA3, 0xFBA4, 0xFBA9, 0xFBAA, 0xFBAD, 0xFBAE, 0xFBD6, 0xFBD7, 0xFBE7, 0xFBE8, 0xFBE9, 0xFBEA, 0xFBFF, 0xFC00, 0xFCDF, 0xFCF5, 0xFD34, 0xFD3C, 0xFE71, 0xFE72, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFE80, 0xFE8C, 0xFE8D, 0xFE92, 0xFE93, 0xFE98, 0xFE99, 0xFE9C, 0xFE9D, 0xFEA0, 0xFEA1, 0xFEA4, 0xFEA5, 0xFEA8, 0xFEA9, 0xFEB4, 0xFEB5, 0xFEB8, 0xFEB9, 0xFEBC, 0xFEBD, 0xFEC0, 0xFEC1, 0xFEC4, 0xFEC5, 0xFEC8, 0xFEC9, 0xFECC, 0xFECD, 0xFED0, 0xFED1, 0xFED4, 0xFED5, 0xFED8, 0xFED9, 0xFEDC, 0xFEDD, 0xFEE0, 0xFEE1, 0xFEE4, 0xFEE5, 0xFEE8, 0xFEE9, 0xFEEC, 0xFEED, 0xFEF4, 0xFEF5 }; static const UV UNI_DT__NAR_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE8, 0xFFEF }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__NB_invlist[] = { /* for ASCII/Latin1 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xF0C, 0xF0D, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__NB_invlist[] = { /* for EBCDIC 1047 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0xF0C, 0xF0D, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__NB_invlist[] = { /* for EBCDIC 037 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0xF0C, 0xF0D, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */ 375, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF77, 0xF78, 0xF79, 0xF7A, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2128, 0x2129, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB20, 0xFB2A, 0xFB4F, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */ 381, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBB, 0xBD, 0xBE, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF77, 0xF78, 0xF79, 0xF7A, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2128, 0x2129, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB20, 0xFB2A, 0xFB4F, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */ 379, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBC, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x37A, 0x37B, 0x384, 0x385, 0x3D0, 0x3D3, 0x3D5, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF77, 0xF78, 0xF79, 0xF7A, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9B, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FFE, 0x1FFF, 0x2002, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2128, 0x2129, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB20, 0xFB2A, 0xFB4F, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__NONE_invlist[] = { /* for ASCII/Latin1 */ 785, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE0, 0xE6, 0xE7, 0xF0, 0xF1, 0xF7, 0xF9, 0xFE, 0xFF, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 1047 */ 783, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBD, 0xBE, 0xBF, 0xCB, 0xD0, 0xDA, 0xE0, 0xEA, 0xF0, 0xFA, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__NONE_invlist[] = { /* for EBCDIC 037 */ 785, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xAD, 0xAE, 0xB7, 0xBA, 0xBC, 0xBF, 0xCB, 0xD0, 0xDA, 0xE0, 0xEA, 0xF0, 0xFA, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ static const UV UNI_DT__SML_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE50, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C }; static const UV UNI_DT__SQR_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3250, 0x3251, 0x32CC, 0x32D0, 0x32FF, 0x3358, 0x3371, 0x33E0, 0x33FF, 0x3400, 0x1F130, 0x1F150, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C }; static const UV UNI_DT__SUB_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D62, 0x1D6B, 0x2080, 0x208F, 0x2090, 0x209D, 0x2C7C, 0x2C7D }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_DT__SUP_invlist[] = { /* for ASCII/Latin1 */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA, 0xAB, 0xB2, 0xB4, 0xB9, 0xBB, 0x2B0, 0x2B9, 0x2E0, 0x2E5, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D62, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x2070, 0x2072, 0x2074, 0x2080, 0x2120, 0x2121, 0x2122, 0x2123, 0x2C7D, 0x2C7E, 0x2D6F, 0x2D70, 0x3192, 0x31A0, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0x1F16A, 0x1F16D }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 1047 */ 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x2B0, 0x2B9, 0x2E0, 0x2E5, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D62, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x2070, 0x2072, 0x2074, 0x2080, 0x2120, 0x2121, 0x2122, 0x2123, 0x2C7D, 0x2C7E, 0x2D6F, 0x2D70, 0x3192, 0x31A0, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0x1F16A, 0x1F16D }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_DT__SUP_invlist[] = { /* for EBCDIC 037 */ 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x2B0, 0x2B9, 0x2E0, 0x2E5, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D62, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x2070, 0x2072, 0x2074, 0x2080, 0x2120, 0x2121, 0x2122, 0x2123, 0x2C7D, 0x2C7E, 0x2D6F, 0x2D70, 0x3192, 0x31A0, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0x1F16A, 0x1F16D }; # endif /* EBCDIC 037 */ static const UV UNI_DT__VERT_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x309F, 0x30A0, 0x30FF, 0x3100, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE49 }; static const UV UNI_DUPL_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EA__A_invlist[] = { /* for ASCII/Latin1 */ 359, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA1, 0xA2, 0xA4, 0xA5, 0xA7, 0xA9, 0xAA, 0xAB, 0xAD, 0xAF, 0xB0, 0xB5, 0xB6, 0xBB, 0xBC, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE2, 0xE6, 0xE7, 0xE8, 0xEB, 0xEC, 0xEE, 0xF0, 0xF1, 0xF2, 0xF4, 0xF7, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26BF, 0x26C0, 0x26C6, 0x26CE, 0x26CF, 0x26D4, 0x26D5, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F2, 0x26F4, 0x26F5, 0x26F6, 0x26FA, 0x26FB, 0x26FD, 0x26FE, 0x2700, 0x273D, 0x273E, 0x2776, 0x2780, 0x2B56, 0x2B5A, 0x3248, 0x3250, 0xE000, 0xF900, 0xFE00, 0xFE10, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EA__A_invlist[] = { /* for EBCDIC 1047 */ 363, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x44, 0x46, 0x51, 0x53, 0x54, 0x56, 0x58, 0x5A, 0x70, 0x71, 0x80, 0x81, 0x8C, 0x8D, 0x8E, 0x91, 0x9A, 0xA0, 0xAA, 0xAD, 0xAE, 0xB0, 0xB3, 0xB4, 0xB5, 0xBA, 0xBB, 0xBC, 0xBE, 0xC0, 0xCA, 0xCB, 0xCD, 0xCF, 0xDA, 0xDB, 0xDC, 0xDF, 0xE1, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26BF, 0x26C0, 0x26C6, 0x26CE, 0x26CF, 0x26D4, 0x26D5, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F2, 0x26F4, 0x26F5, 0x26F6, 0x26FA, 0x26FB, 0x26FD, 0x26FE, 0x2700, 0x273D, 0x273E, 0x2776, 0x2780, 0x2B56, 0x2B5A, 0x3248, 0x3250, 0xE000, 0xF900, 0xFE00, 0xFE10, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EA__A_invlist[] = { /* for EBCDIC 037 */ 361, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x44, 0x46, 0x51, 0x53, 0x54, 0x56, 0x58, 0x5A, 0x70, 0x71, 0x80, 0x81, 0x8C, 0x8D, 0x8E, 0x91, 0x9A, 0xA0, 0xAA, 0xAD, 0xAE, 0xB0, 0xB3, 0xB4, 0xB5, 0xBA, 0xBD, 0xC0, 0xCA, 0xCB, 0xCD, 0xCF, 0xDA, 0xDB, 0xDC, 0xDF, 0xE1, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26BF, 0x26C0, 0x26C6, 0x26CE, 0x26CF, 0x26D4, 0x26D5, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F2, 0x26F4, 0x26F5, 0x26F6, 0x26FA, 0x26FB, 0x26FD, 0x26FE, 0x2700, 0x273D, 0x273E, 0x2776, 0x2780, 0x2B56, 0x2B5A, 0x3248, 0x3250, 0xE000, 0xF900, 0xFE00, 0xFE10, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ static const UV UNI_EA__F_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3000, 0x3001, 0xFF01, 0xFF61, 0xFFE0, 0xFFE7 }; static const UV UNI_EA__H_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20A9, 0x20AA, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE8, 0xFFEF }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EA__N_invlist[] = { /* for ASCII/Latin1 */ 553, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA1, 0xA9, 0xAA, 0xAB, 0xAC, 0xB5, 0xB6, 0xBB, 0xBC, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE2, 0xE6, 0xE7, 0xE8, 0xEB, 0xEC, 0xEE, 0xF0, 0xF1, 0xF2, 0xF4, 0xF7, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x1100, 0x1160, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20A9, 0x20AA, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23E9, 0x23ED, 0x23F0, 0x23F1, 0x23F3, 0x23F4, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x25FD, 0x25FF, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2616, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x2693, 0x2694, 0x269E, 0x26A0, 0x26A1, 0x26A2, 0x26AA, 0x26AC, 0x26BD, 0x26C0, 0x26C4, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2700, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x273D, 0x273E, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2776, 0x2780, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27E6, 0x27EE, 0x2985, 0x2987, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B5A, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x303F, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x4DC0, 0x4E00, 0xA48D, 0xA490, 0xA4C7, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xE000, 0xFB00, 0xFE00, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFD, 0xFFFE, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F4, 0x1F3F5, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F54B, 0x1F54F, 0x1F550, 0x1F568, 0x1F57A, 0x1F57B, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CC, 0x1F6CD, 0x1F6D0, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 1047 */ 551, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x44, 0x46, 0x4A, 0x53, 0x54, 0x56, 0x58, 0x62, 0x6A, 0x71, 0x79, 0x8A, 0x8C, 0x8D, 0x8E, 0xA0, 0xA1, 0xB4, 0xB5, 0xBA, 0xBB, 0xCB, 0xCD, 0xCF, 0xD0, 0xDB, 0xDC, 0xDF, 0xE0, 0xEB, 0xF0, 0xFB, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x1100, 0x1160, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20A9, 0x20AA, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23E9, 0x23ED, 0x23F0, 0x23F1, 0x23F3, 0x23F4, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x25FD, 0x25FF, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2616, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x2693, 0x2694, 0x269E, 0x26A0, 0x26A1, 0x26A2, 0x26AA, 0x26AC, 0x26BD, 0x26C0, 0x26C4, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2700, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x273D, 0x273E, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2776, 0x2780, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27E6, 0x27EE, 0x2985, 0x2987, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B5A, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x303F, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x4DC0, 0x4E00, 0xA48D, 0xA490, 0xA4C7, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xE000, 0xFB00, 0xFE00, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFD, 0xFFFE, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F4, 0x1F3F5, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F54B, 0x1F54F, 0x1F550, 0x1F568, 0x1F57A, 0x1F57B, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CC, 0x1F6CD, 0x1F6D0, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EA__N_invlist[] = { /* for EBCDIC 037 */ 551, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x44, 0x46, 0x4A, 0x53, 0x54, 0x56, 0x58, 0x62, 0x6A, 0x71, 0x79, 0x8A, 0x8C, 0x8D, 0x8E, 0xA0, 0xA1, 0xAD, 0xAE, 0xB4, 0xB5, 0xCB, 0xCD, 0xCF, 0xD0, 0xDB, 0xDC, 0xDF, 0xE0, 0xEB, 0xF0, 0xFB, 0x101, 0x102, 0x111, 0x112, 0x113, 0x114, 0x11B, 0x11C, 0x126, 0x128, 0x12B, 0x12C, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x144, 0x145, 0x148, 0x14C, 0x14D, 0x14E, 0x152, 0x154, 0x166, 0x168, 0x16B, 0x16C, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x251, 0x252, 0x261, 0x262, 0x2C4, 0x2C5, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x391, 0x3A2, 0x3A3, 0x3AA, 0x3B1, 0x3C2, 0x3C3, 0x3CA, 0x401, 0x402, 0x410, 0x450, 0x451, 0x452, 0x1100, 0x1160, 0x2010, 0x2011, 0x2013, 0x2017, 0x2018, 0x201A, 0x201C, 0x201E, 0x2020, 0x2023, 0x2024, 0x2028, 0x2030, 0x2031, 0x2032, 0x2034, 0x2035, 0x2036, 0x203B, 0x203C, 0x203E, 0x203F, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x20A9, 0x20AA, 0x20AC, 0x20AD, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x2126, 0x2127, 0x212B, 0x212C, 0x2153, 0x2155, 0x215B, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21B8, 0x21BA, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21E7, 0x21E8, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23E9, 0x23ED, 0x23F0, 0x23F1, 0x23F3, 0x23F4, 0x2460, 0x24EA, 0x24EB, 0x254C, 0x2550, 0x2574, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x25FD, 0x25FF, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2616, 0x261C, 0x261D, 0x261E, 0x261F, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x2693, 0x2694, 0x269E, 0x26A0, 0x26A1, 0x26A2, 0x26AA, 0x26AC, 0x26BD, 0x26C0, 0x26C4, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2700, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x273D, 0x273E, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2776, 0x2780, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27E6, 0x27EE, 0x2985, 0x2987, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B5A, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x303F, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x4DC0, 0x4E00, 0xA48D, 0xA490, 0xA4C7, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xE000, 0xFB00, 0xFE00, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFD, 0xFFFE, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F4, 0x1F3F5, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F54B, 0x1F54F, 0x1F550, 0x1F568, 0x1F57A, 0x1F57B, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CC, 0x1F6CD, 0x1F6D0, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0100, 0xE01F0, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EA__NA_invlist[] = { /* for ASCII/Latin1 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA2, 0xA4, 0xA5, 0xA7, 0xAC, 0xAD, 0xAF, 0xB0, 0x27E6, 0x27EE, 0x2985, 0x2987 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EA__NA_invlist[] = { /* for EBCDIC 1047 */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xB0, 0xB3, 0xBC, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x27E6, 0x27EE, 0x2985, 0x2987 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EA__NA_invlist[] = { /* for EBCDIC 037 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB3, 0xBA, 0xBD, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x27E6, 0x27EE, 0x2985, 0x2987 }; # endif /* EBCDIC 037 */ static const UV UNI_EA__W_invlist[] = { /* for all charsets */ 229, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1160, 0x231A, 0x231C, 0x2329, 0x232B, 0x23E9, 0x23ED, 0x23F0, 0x23F1, 0x23F3, 0x23F4, 0x25FD, 0x25FF, 0x2614, 0x2616, 0x2648, 0x2654, 0x267F, 0x2680, 0x2693, 0x2694, 0x26A1, 0x26A2, 0x26AA, 0x26AC, 0x26BD, 0x26BF, 0x26C4, 0x26C6, 0x26CE, 0x26CF, 0x26D4, 0x26D5, 0x26EA, 0x26EB, 0x26F2, 0x26F4, 0x26F5, 0x26F6, 0x26FA, 0x26FB, 0x26FD, 0x26FE, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3001, 0x303F, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x3248, 0x3250, 0x4DC0, 0x4E00, 0xA48D, 0xA490, 0xA4C7, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xF900, 0xFB00, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F4, 0x1F3F5, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F54B, 0x1F54F, 0x1F550, 0x1F568, 0x1F57A, 0x1F57B, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CC, 0x1F6CD, 0x1F6D0, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE }; static const UV UNI_EARLYDYNASTICCUNEIFORM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12480, 0x12550 }; static const UV UNI_EBASE_invlist[] = { /* for all charsets */ 77, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x261D, 0x261E, 0x26F9, 0x26FA, 0x270A, 0x270E, 0x1F385, 0x1F386, 0x1F3C2, 0x1F3C5, 0x1F3C7, 0x1F3C8, 0x1F3CA, 0x1F3CD, 0x1F442, 0x1F444, 0x1F446, 0x1F451, 0x1F466, 0x1F479, 0x1F47C, 0x1F47D, 0x1F481, 0x1F484, 0x1F485, 0x1F488, 0x1F48F, 0x1F490, 0x1F491, 0x1F492, 0x1F4AA, 0x1F4AB, 0x1F574, 0x1F576, 0x1F57A, 0x1F57B, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F645, 0x1F648, 0x1F64B, 0x1F650, 0x1F6A3, 0x1F6A4, 0x1F6B4, 0x1F6B7, 0x1F6C0, 0x1F6C1, 0x1F6CC, 0x1F6CD, 0x1F90C, 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, 0x1F920, 0x1F926, 0x1F927, 0x1F930, 0x1F93A, 0x1F93C, 0x1F93F, 0x1F977, 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, 0x1F9BA, 0x1F9BB, 0x1F9BC, 0x1F9CD, 0x1F9D0, 0x1F9D1, 0x1F9DE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_ECOMP_invlist[] = { /* for ASCII/Latin1 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x23, 0x24, 0x2A, 0x2B, 0x30, 0x3A, 0x200D, 0x200E, 0x20E3, 0x20E4, 0xFE0F, 0xFE10, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1F9B0, 0x1F9B4, 0xE0020, 0xE0080 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_ECOMP_invlist[] = { /* for EBCDIC 1047 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C, 0x5D, 0x7B, 0x7C, 0xF0, 0xFA, 0x200D, 0x200E, 0x20E3, 0x20E4, 0xFE0F, 0xFE10, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1F9B0, 0x1F9B4, 0xE0020, 0xE0080 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_ECOMP_invlist[] = { /* for EBCDIC 037 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C, 0x5D, 0x7B, 0x7C, 0xF0, 0xFA, 0x200D, 0x200E, 0x20E3, 0x20E4, 0xFE0F, 0xFE10, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1F9B0, 0x1F9B4, 0xE0020, 0xE0080 }; # endif /* EBCDIC 037 */ static const UV UNI_EGYP_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x13000, 0x1342F, 0x13430, 0x13439 }; static const UV UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x13430, 0x13440 }; static const UV UNI_ELBA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10500, 0x10528 }; static const UV UNI_ELYM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10FE0, 0x10FF7 }; static const UV UNI_EMOD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F3FB, 0x1F400 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EMOJI_invlist[] = { /* for ASCII/Latin1 */ 305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x23, 0x24, 0x2A, 0x2B, 0x30, 0x3A, 0xA9, 0xAA, 0xAE, 0xAF, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2605, 0x260E, 0x260F, 0x2611, 0x2612, 0x2614, 0x2616, 0x2618, 0x2619, 0x261D, 0x261E, 0x2620, 0x2621, 0x2622, 0x2624, 0x2626, 0x2627, 0x262A, 0x262B, 0x262E, 0x2630, 0x2638, 0x263B, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x265F, 0x2661, 0x2663, 0x2664, 0x2665, 0x2667, 0x2668, 0x2669, 0x267B, 0x267C, 0x267E, 0x2680, 0x2692, 0x2698, 0x2699, 0x269A, 0x269B, 0x269D, 0x26A0, 0x26A2, 0x26A7, 0x26A8, 0x26AA, 0x26AC, 0x26B0, 0x26B2, 0x26BD, 0x26BF, 0x26C4, 0x26C6, 0x26C8, 0x26C9, 0x26CE, 0x26D0, 0x26D1, 0x26D2, 0x26D3, 0x26D5, 0x26E9, 0x26EB, 0x26F0, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x26FE, 0x2702, 0x2703, 0x2705, 0x2706, 0x2708, 0x270E, 0x270F, 0x2710, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2765, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F250, 0x1F252, 0x1F300, 0x1F322, 0x1F324, 0x1F394, 0x1F396, 0x1F398, 0x1F399, 0x1F39C, 0x1F39E, 0x1F3F1, 0x1F3F3, 0x1F3F6, 0x1F3F7, 0x1F4FE, 0x1F4FF, 0x1F53E, 0x1F549, 0x1F54F, 0x1F550, 0x1F568, 0x1F56F, 0x1F571, 0x1F573, 0x1F57B, 0x1F587, 0x1F588, 0x1F58A, 0x1F58E, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A6, 0x1F5A8, 0x1F5A9, 0x1F5B1, 0x1F5B3, 0x1F5BC, 0x1F5BD, 0x1F5C2, 0x1F5C5, 0x1F5D1, 0x1F5D4, 0x1F5DC, 0x1F5DF, 0x1F5E1, 0x1F5E2, 0x1F5E3, 0x1F5E4, 0x1F5E8, 0x1F5E9, 0x1F5EF, 0x1F5F0, 0x1F5F3, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CB, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6E0, 0x1F6E6, 0x1F6E9, 0x1F6EA, 0x1F6EB, 0x1F6ED, 0x1F6F0, 0x1F6F1, 0x1F6F3, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EMOJI_invlist[] = { /* for EBCDIC 1047 */ 305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C, 0x5D, 0x7B, 0x7C, 0xAF, 0xB0, 0xB4, 0xB5, 0xF0, 0xFA, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2605, 0x260E, 0x260F, 0x2611, 0x2612, 0x2614, 0x2616, 0x2618, 0x2619, 0x261D, 0x261E, 0x2620, 0x2621, 0x2622, 0x2624, 0x2626, 0x2627, 0x262A, 0x262B, 0x262E, 0x2630, 0x2638, 0x263B, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x265F, 0x2661, 0x2663, 0x2664, 0x2665, 0x2667, 0x2668, 0x2669, 0x267B, 0x267C, 0x267E, 0x2680, 0x2692, 0x2698, 0x2699, 0x269A, 0x269B, 0x269D, 0x26A0, 0x26A2, 0x26A7, 0x26A8, 0x26AA, 0x26AC, 0x26B0, 0x26B2, 0x26BD, 0x26BF, 0x26C4, 0x26C6, 0x26C8, 0x26C9, 0x26CE, 0x26D0, 0x26D1, 0x26D2, 0x26D3, 0x26D5, 0x26E9, 0x26EB, 0x26F0, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x26FE, 0x2702, 0x2703, 0x2705, 0x2706, 0x2708, 0x270E, 0x270F, 0x2710, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2765, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F250, 0x1F252, 0x1F300, 0x1F322, 0x1F324, 0x1F394, 0x1F396, 0x1F398, 0x1F399, 0x1F39C, 0x1F39E, 0x1F3F1, 0x1F3F3, 0x1F3F6, 0x1F3F7, 0x1F4FE, 0x1F4FF, 0x1F53E, 0x1F549, 0x1F54F, 0x1F550, 0x1F568, 0x1F56F, 0x1F571, 0x1F573, 0x1F57B, 0x1F587, 0x1F588, 0x1F58A, 0x1F58E, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A6, 0x1F5A8, 0x1F5A9, 0x1F5B1, 0x1F5B3, 0x1F5BC, 0x1F5BD, 0x1F5C2, 0x1F5C5, 0x1F5D1, 0x1F5D4, 0x1F5DC, 0x1F5DF, 0x1F5E1, 0x1F5E2, 0x1F5E3, 0x1F5E4, 0x1F5E8, 0x1F5E9, 0x1F5EF, 0x1F5F0, 0x1F5F3, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CB, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6E0, 0x1F6E6, 0x1F6E9, 0x1F6EA, 0x1F6EB, 0x1F6ED, 0x1F6F0, 0x1F6F1, 0x1F6F3, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EMOJI_invlist[] = { /* for EBCDIC 037 */ 305, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5C, 0x5D, 0x7B, 0x7C, 0xAF, 0xB0, 0xB4, 0xB5, 0xF0, 0xFA, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2605, 0x260E, 0x260F, 0x2611, 0x2612, 0x2614, 0x2616, 0x2618, 0x2619, 0x261D, 0x261E, 0x2620, 0x2621, 0x2622, 0x2624, 0x2626, 0x2627, 0x262A, 0x262B, 0x262E, 0x2630, 0x2638, 0x263B, 0x2640, 0x2641, 0x2642, 0x2643, 0x2648, 0x2654, 0x265F, 0x2661, 0x2663, 0x2664, 0x2665, 0x2667, 0x2668, 0x2669, 0x267B, 0x267C, 0x267E, 0x2680, 0x2692, 0x2698, 0x2699, 0x269A, 0x269B, 0x269D, 0x26A0, 0x26A2, 0x26A7, 0x26A8, 0x26AA, 0x26AC, 0x26B0, 0x26B2, 0x26BD, 0x26BF, 0x26C4, 0x26C6, 0x26C8, 0x26C9, 0x26CE, 0x26D0, 0x26D1, 0x26D2, 0x26D3, 0x26D5, 0x26E9, 0x26EB, 0x26F0, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x26FE, 0x2702, 0x2703, 0x2705, 0x2706, 0x2708, 0x270E, 0x270F, 0x2710, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2765, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F170, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F250, 0x1F252, 0x1F300, 0x1F322, 0x1F324, 0x1F394, 0x1F396, 0x1F398, 0x1F399, 0x1F39C, 0x1F39E, 0x1F3F1, 0x1F3F3, 0x1F3F6, 0x1F3F7, 0x1F4FE, 0x1F4FF, 0x1F53E, 0x1F549, 0x1F54F, 0x1F550, 0x1F568, 0x1F56F, 0x1F571, 0x1F573, 0x1F57B, 0x1F587, 0x1F588, 0x1F58A, 0x1F58E, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A6, 0x1F5A8, 0x1F5A9, 0x1F5B1, 0x1F5B3, 0x1F5BC, 0x1F5BD, 0x1F5C2, 0x1F5C5, 0x1F5D1, 0x1F5D4, 0x1F5DC, 0x1F5DF, 0x1F5E1, 0x1F5E2, 0x1F5E3, 0x1F5E4, 0x1F5E8, 0x1F5E9, 0x1F5EF, 0x1F5F0, 0x1F5F3, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CB, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6E0, 0x1F6E6, 0x1F6E9, 0x1F6EA, 0x1F6EB, 0x1F6ED, 0x1F6F0, 0x1F6F1, 0x1F6F3, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7 }; # endif /* EBCDIC 037 */ static const UV UNI_EMOTICONS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F600, 0x1F650 }; static const UV UNI_ENCLOSEDALPHANUM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2460, 0x2500 }; static const UV UNI_ENCLOSEDALPHANUMSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F100, 0x1F200 }; static const UV UNI_ENCLOSEDCJK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3200, 0x3300 }; static const UV UNI_ENCLOSEDIDEOGRAPHICSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F200, 0x1F300 }; static const UV UNI_EPRES_invlist[] = { /* for all charsets */ 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x231A, 0x231C, 0x23E9, 0x23ED, 0x23F0, 0x23F1, 0x23F3, 0x23F4, 0x25FD, 0x25FF, 0x2614, 0x2616, 0x2648, 0x2654, 0x267F, 0x2680, 0x2693, 0x2694, 0x26A1, 0x26A2, 0x26AA, 0x26AC, 0x26BD, 0x26BF, 0x26C4, 0x26C6, 0x26CE, 0x26CF, 0x26D4, 0x26D5, 0x26EA, 0x26EB, 0x26F2, 0x26F4, 0x26F5, 0x26F6, 0x26FA, 0x26FB, 0x26FD, 0x26FE, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x1F004, 0x1F005, 0x1F0CF, 0x1F0D0, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1E6, 0x1F200, 0x1F201, 0x1F202, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F237, 0x1F238, 0x1F23B, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F32D, 0x1F336, 0x1F337, 0x1F37D, 0x1F37E, 0x1F394, 0x1F3A0, 0x1F3CB, 0x1F3CF, 0x1F3D4, 0x1F3E0, 0x1F3F1, 0x1F3F4, 0x1F3F5, 0x1F3F8, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4FD, 0x1F4FF, 0x1F53E, 0x1F54B, 0x1F54F, 0x1F550, 0x1F568, 0x1F57A, 0x1F57B, 0x1F595, 0x1F597, 0x1F5A4, 0x1F5A5, 0x1F5FB, 0x1F650, 0x1F680, 0x1F6C6, 0x1F6CC, 0x1F6CD, 0x1F6D0, 0x1F6D3, 0x1F6D5, 0x1F6D8, 0x1F6EB, 0x1F6ED, 0x1F6F4, 0x1F6FD, 0x1F7E0, 0x1F7EC, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA00, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7 }; static const UV UNI_ETHI_invlist[] = { /* for all charsets */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F }; static const UV UNI_ETHIOPICEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D80, 0x2DE0 }; static const UV UNI_ETHIOPICEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAB00, 0xAB30 }; static const UV UNI_ETHIOPICSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1380, 0x13A0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EXT_invlist[] = { /* for ASCII/Latin1 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xB8, 0x2D0, 0x2D2, 0x640, 0x641, 0x7FA, 0x7FB, 0xB55, 0xB56, 0xE46, 0xE47, 0xEC6, 0xEC7, 0x180A, 0x180B, 0x1843, 0x1844, 0x1AA7, 0x1AA8, 0x1C36, 0x1C37, 0x1C7B, 0x1C7C, 0x3005, 0x3006, 0x3031, 0x3036, 0x309D, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA60C, 0xA60D, 0xA9CF, 0xA9D0, 0xA9E6, 0xA9E7, 0xAA70, 0xAA71, 0xAADD, 0xAADE, 0xAAF3, 0xAAF5, 0xFF70, 0xFF71, 0x1135D, 0x1135E, 0x115C6, 0x115C9, 0x11A98, 0x11A99, 0x16B42, 0x16B44, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1E13C, 0x1E13E, 0x1E944, 0x1E947 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EXT_invlist[] = { /* for EBCDIC 1047 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB3, 0xB4, 0x2D0, 0x2D2, 0x640, 0x641, 0x7FA, 0x7FB, 0xB55, 0xB56, 0xE46, 0xE47, 0xEC6, 0xEC7, 0x180A, 0x180B, 0x1843, 0x1844, 0x1AA7, 0x1AA8, 0x1C36, 0x1C37, 0x1C7B, 0x1C7C, 0x3005, 0x3006, 0x3031, 0x3036, 0x309D, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA60C, 0xA60D, 0xA9CF, 0xA9D0, 0xA9E6, 0xA9E7, 0xAA70, 0xAA71, 0xAADD, 0xAADE, 0xAAF3, 0xAAF5, 0xFF70, 0xFF71, 0x1135D, 0x1135E, 0x115C6, 0x115C9, 0x11A98, 0x11A99, 0x16B42, 0x16B44, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1E13C, 0x1E13E, 0x1E944, 0x1E947 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EXT_invlist[] = { /* for EBCDIC 037 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB3, 0xB4, 0x2D0, 0x2D2, 0x640, 0x641, 0x7FA, 0x7FB, 0xB55, 0xB56, 0xE46, 0xE47, 0xEC6, 0xEC7, 0x180A, 0x180B, 0x1843, 0x1844, 0x1AA7, 0x1AA8, 0x1C36, 0x1C37, 0x1C7B, 0x1C7C, 0x3005, 0x3006, 0x3031, 0x3036, 0x309D, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA60C, 0xA60D, 0xA9CF, 0xA9D0, 0xA9E6, 0xA9E7, 0xAA70, 0xAA71, 0xAADD, 0xAADE, 0xAAF3, 0xAAF5, 0xFF70, 0xFF71, 0x1135D, 0x1135E, 0x115C6, 0x115C9, 0x11A98, 0x11A99, 0x16B42, 0x16B44, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1E13C, 0x1E13E, 0x1E944, 0x1E947 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_EXTPICT_invlist[] = { /* for ASCII/Latin1 */ 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA9, 0xAA, 0xAE, 0xAF, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_EXTPICT_invlist[] = { /* for EBCDIC 1047 */ 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAF, 0xB0, 0xB4, 0xB5, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_EXTPICT_invlist[] = { /* for EBCDIC 037 */ 157, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAF, 0xB0, 0xB4, 0xB5, 0x203C, 0x203D, 0x2049, 0x204A, 0x2122, 0x2123, 0x2139, 0x213A, 0x2194, 0x219A, 0x21A9, 0x21AB, 0x231A, 0x231C, 0x2328, 0x2329, 0x2388, 0x2389, 0x23CF, 0x23D0, 0x23E9, 0x23F4, 0x23F8, 0x23FB, 0x24C2, 0x24C3, 0x25AA, 0x25AC, 0x25B6, 0x25B7, 0x25C0, 0x25C1, 0x25FB, 0x25FF, 0x2600, 0x2606, 0x2607, 0x2613, 0x2614, 0x2686, 0x2690, 0x2706, 0x2708, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271D, 0x271E, 0x2721, 0x2722, 0x2728, 0x2729, 0x2733, 0x2735, 0x2744, 0x2745, 0x2747, 0x2748, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x2763, 0x2768, 0x2795, 0x2798, 0x27A1, 0x27A2, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x2934, 0x2936, 0x2B05, 0x2B08, 0x2B1B, 0x2B1D, 0x2B50, 0x2B51, 0x2B55, 0x2B56, 0x3030, 0x3031, 0x303D, 0x303E, 0x3297, 0x3298, 0x3299, 0x329A, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F172, 0x1F17E, 0x1F180, 0x1F18E, 0x1F18F, 0x1F191, 0x1F19B, 0x1F1AD, 0x1F1E6, 0x1F201, 0x1F210, 0x1F21A, 0x1F21B, 0x1F22F, 0x1F230, 0x1F232, 0x1F23B, 0x1F23C, 0x1F240, 0x1F249, 0x1F3FB, 0x1F400, 0x1F53E, 0x1F546, 0x1F650, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F93B, 0x1F93C, 0x1F946, 0x1F947, 0x1FB00, 0x1FC00, 0x1FFFE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_GCB__CN_invlist[] = { /* for ASCII/Latin1 */ 38, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xB, 0xD, 0xE, 0x20, 0x7F, 0xA0, 0xAD, 0xAE, 0x61C, 0x61D, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0xFEFF, 0xFF00, 0xFFF0, 0xFFFC, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 1047 */ 38, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x15, 0x16, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x61C, 0x61D, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0xFEFF, 0xFF00, 0xFFF0, 0xFFFC, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_GCB__CN_invlist[] = { /* for EBCDIC 037 */ 38, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE, 0x25, 0x26, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x61C, 0x61D, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0xFEFF, 0xFF00, 0xFFF0, 0xFFFC, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0000, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xE1000 }; # endif /* EBCDIC 037 */ static const UV UNI_GCB__EX_invlist[] = { /* for all charsets */ 691, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBBF, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xDDF, 0xDE0, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFF9E, 0xFFA0, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11357, 0x11358, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115AF, 0x115B0, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x11930, 0x11931, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16E, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F3FB, 0x1F400, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; static const UV UNI_GCB__L_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1160, 0xA960, 0xA97D }; static const UV UNI_GCB__PP_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x606, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0xD4E, 0xD4F, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x111C2, 0x111C4, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11A3A, 0x11A3B, 0x11A84, 0x11A8A, 0x11D46, 0x11D47 }; static const UV UNI_GCB__SM_invlist[] = { /* for all charsets */ 319, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x903, 0x904, 0x93B, 0x93C, 0x93E, 0x941, 0x949, 0x94D, 0x94E, 0x950, 0x982, 0x984, 0x9BF, 0x9C1, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0xA03, 0xA04, 0xA3E, 0xA41, 0xA83, 0xA84, 0xABE, 0xAC1, 0xAC9, 0xACA, 0xACB, 0xACD, 0xB02, 0xB04, 0xB40, 0xB41, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xC01, 0xC04, 0xC41, 0xC45, 0xC82, 0xC84, 0xCBE, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD02, 0xD04, 0xD3F, 0xD41, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD82, 0xD84, 0xDD0, 0xDD2, 0xDD8, 0xDDF, 0xDF2, 0xDF4, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xF3E, 0xF40, 0xF7F, 0xF80, 0x1031, 0x1032, 0x103B, 0x103D, 0x1056, 0x1058, 0x1084, 0x1085, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x1A19, 0x1A1B, 0x1A55, 0x1A56, 0x1A57, 0x1A58, 0x1A6D, 0x1A73, 0x1B04, 0x1B05, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B45, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C2C, 0x1C34, 0x1C36, 0x1CE1, 0x1CE2, 0x1CF7, 0x1CF8, 0xA823, 0xA825, 0xA827, 0xA828, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA952, 0xA954, 0xA983, 0xA984, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9C1, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA4D, 0xAA4E, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAF0, 0xAAF5, 0xAAF6, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0x11000, 0x11001, 0x11002, 0x11003, 0x11082, 0x11083, 0x110B0, 0x110B3, 0x110B7, 0x110B9, 0x1112C, 0x1112D, 0x11145, 0x11147, 0x11182, 0x11183, 0x111B3, 0x111B6, 0x111BF, 0x111C1, 0x111CE, 0x111CF, 0x1122C, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x112E0, 0x112E3, 0x11302, 0x11304, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11362, 0x11364, 0x11435, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x115B0, 0x115B2, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x11720, 0x11722, 0x11726, 0x11727, 0x1182C, 0x1182F, 0x11838, 0x11839, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193D, 0x1193E, 0x11940, 0x11941, 0x11942, 0x11943, 0x119D1, 0x119D4, 0x119DC, 0x119E0, 0x119E4, 0x119E5, 0x11A39, 0x11A3A, 0x11A57, 0x11A59, 0x11A97, 0x11A98, 0x11C2F, 0x11C30, 0x11C3E, 0x11C3F, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11D8A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11EF5, 0x11EF7, 0x16F51, 0x16F88, 0x16FF0, 0x16FF2, 0x1D166, 0x1D167, 0x1D16D, 0x1D16E }; static const UV UNI_GCB__T_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11A8, 0x1200, 0xD7CB, 0xD7FC }; static const UV UNI_GCB__V_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1160, 0x11A8, 0xD7B0, 0xD7C7 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_GCB__XX_invlist[] = { /* for ASCII/Latin1 */ 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA0, 0xAD, 0xAE, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1038, 0x1039, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A84, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0xE0000, 0xE1000 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 1047 */ 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1038, 0x1039, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A84, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0xE0000, 0xE1000 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_GCB__XX_invlist[] = { /* for EBCDIC 037 */ 620, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x600, 0x606, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE33, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1038, 0x1039, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1084, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x1100, 0x1200, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180F, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFF9E, 0xFFA0, 0xFFF0, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A84, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0xE0000, 0xE1000 }; # endif /* EBCDIC 037 */ static const UV UNI_GEOMETRICSHAPES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x25A0, 0x2600 }; static const UV UNI_GEOMETRICSHAPESEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F780, 0x1F800 }; static const UV UNI_GEOR_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1100, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E }; static const UV UNI_GEORGIANEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C90, 0x1CC0 }; static const UV UNI_GEORGIANSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D00, 0x2D30 }; static const UV UNI_GLAG_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x484, 0x485, 0x487, 0x488, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2E43, 0x2E44, 0xA66F, 0xA670, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B }; static const UV UNI_GLAGOLITICSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E000, 0x1E030 }; static const UV UNI_GONG_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA }; static const UV UNI_GONM_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A }; static const UV UNI_GOTH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10330, 0x1034B }; static const UV UNI_GRAN_invlist[] = { /* for all charsets */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xBE6, 0xBF4, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD4, 0x1CF2, 0x1CF5, 0x1CF8, 0x1CFA, 0x20F0, 0x20F1, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11FD0, 0x11FD2, 0x11FD3, 0x11FD4 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_GRBASE_invlist[] = { /* for ASCII/Latin1 */ 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x7F, 0xA0, 0xAD, 0xAE, 0x300, 0x370, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x610, 0x61B, 0x61C, 0x61E, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70E, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7FB, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E6, 0x9FE, 0xA03, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA41, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA77, 0xA83, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC1, 0xAC9, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE6, 0xAF2, 0xAF9, 0xAFA, 0xB02, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC41, 0xC45, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC66, 0xC70, 0xC77, 0xC81, 0xC82, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDD0, 0xDD2, 0xDD8, 0xDDF, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3F, 0xE47, 0xE4F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF48, 0xF49, 0xF6D, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A17, 0x1A19, 0x1A1B, 0x1A1E, 0x1A56, 0x1A57, 0x1A58, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B04, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B4C, 0x1B50, 0x1B6B, 0x1B74, 0x1B7D, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1BFC, 0x1C2C, 0x1C34, 0x1C36, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x302A, 0x3030, 0x3040, 0x3041, 0x3097, 0x309B, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C4, 0xA8CE, 0xA8DA, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA95F, 0xA97D, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E5, 0xA9E6, 0xA9FF, 0xAA00, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAAEC, 0xAAEE, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAD, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x1104E, 0x11052, 0x11070, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11136, 0x11148, 0x11150, 0x11173, 0x11174, 0x11177, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112DF, 0x112E0, 0x112E3, 0x112F0, 0x112FA, 0x11302, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x1135D, 0x11364, 0x11400, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145C, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B0, 0x115B2, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x11600, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x11720, 0x11722, 0x11726, 0x11727, 0x11730, 0x11740, 0x11800, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D4, 0x119DC, 0x119E0, 0x119E1, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A50, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C30, 0x11C3E, 0x11C3F, 0x11C40, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF5, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F88, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16E, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 1047 */ 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x610, 0x61B, 0x61C, 0x61E, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70E, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7FB, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E6, 0x9FE, 0xA03, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA41, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA77, 0xA83, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC1, 0xAC9, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE6, 0xAF2, 0xAF9, 0xAFA, 0xB02, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC41, 0xC45, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC66, 0xC70, 0xC77, 0xC81, 0xC82, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDD0, 0xDD2, 0xDD8, 0xDDF, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3F, 0xE47, 0xE4F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF48, 0xF49, 0xF6D, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A17, 0x1A19, 0x1A1B, 0x1A1E, 0x1A56, 0x1A57, 0x1A58, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B04, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B4C, 0x1B50, 0x1B6B, 0x1B74, 0x1B7D, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1BFC, 0x1C2C, 0x1C34, 0x1C36, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x302A, 0x3030, 0x3040, 0x3041, 0x3097, 0x309B, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C4, 0xA8CE, 0xA8DA, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA95F, 0xA97D, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E5, 0xA9E6, 0xA9FF, 0xAA00, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAAEC, 0xAAEE, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAD, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x1104E, 0x11052, 0x11070, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11136, 0x11148, 0x11150, 0x11173, 0x11174, 0x11177, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112DF, 0x112E0, 0x112E3, 0x112F0, 0x112FA, 0x11302, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x1135D, 0x11364, 0x11400, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145C, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B0, 0x115B2, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x11600, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x11720, 0x11722, 0x11726, 0x11727, 0x11730, 0x11740, 0x11800, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D4, 0x119DC, 0x119E0, 0x119E1, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A50, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C30, 0x11C3E, 0x11C3F, 0x11C40, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF5, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F88, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16E, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_GRBASE_invlist[] = { /* for EBCDIC 037 */ 1669, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0xCA, 0xCB, 0xFF, 0x100, 0x300, 0x370, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x606, 0x610, 0x61B, 0x61C, 0x61E, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DE, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70E, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7C0, 0x7EB, 0x7F4, 0x7FB, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9E6, 0x9FE, 0xA03, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3E, 0xA41, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA70, 0xA72, 0xA75, 0xA76, 0xA77, 0xA83, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xAC1, 0xAC9, 0xACA, 0xACB, 0xACD, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAE6, 0xAF2, 0xAF9, 0xAFA, 0xB02, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBF, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD0, 0xBD1, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC41, 0xC45, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC66, 0xC70, 0xC77, 0xC81, 0xC82, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC5, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDD0, 0xDD2, 0xDD8, 0xDDF, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE31, 0xE32, 0xE34, 0xE3F, 0xE47, 0xE4F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF48, 0xF49, 0xF6D, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1735, 0x1737, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A17, 0x1A19, 0x1A1B, 0x1A1E, 0x1A56, 0x1A57, 0x1A58, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B04, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B4C, 0x1B50, 0x1B6B, 0x1B74, 0x1B7D, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1BFC, 0x1C2C, 0x1C34, 0x1C36, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2010, 0x2028, 0x202F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x302A, 0x3030, 0x3040, 0x3041, 0x3097, 0x309B, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C4, 0xA8CE, 0xA8DA, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA954, 0xA95F, 0xA97D, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E5, 0xA9E6, 0xA9FF, 0xAA00, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAAEC, 0xAAEE, 0xAAF6, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAD, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x11001, 0x11002, 0x11038, 0x11047, 0x1104E, 0x11052, 0x11070, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11136, 0x11148, 0x11150, 0x11173, 0x11174, 0x11177, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112DF, 0x112E0, 0x112E3, 0x112F0, 0x112FA, 0x11302, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x1135D, 0x11364, 0x11400, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145C, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115AF, 0x115B0, 0x115B2, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x11600, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x11720, 0x11722, 0x11726, 0x11727, 0x11730, 0x11740, 0x11800, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x11931, 0x11936, 0x11937, 0x11939, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D4, 0x119DC, 0x119E0, 0x119E1, 0x119E5, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A50, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C30, 0x11C3E, 0x11C3F, 0x11C40, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF3, 0x11EF5, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF5, 0x16AF6, 0x16B00, 0x16B30, 0x16B37, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F88, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE4, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16E, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E2F0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_GREEKEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F00, 0x2000 }; static const UV UNI_GREK_invlist[] = { /* for all charsets */ 77, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x342, 0x343, 0x345, 0x346, 0x370, 0x374, 0x375, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x385, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3E2, 0x3F0, 0x400, 0x1D26, 0x1D2B, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1DBF, 0x1DC2, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2126, 0x2127, 0xAB65, 0xAB66, 0x10140, 0x1018F, 0x101A0, 0x101A1, 0x1D200, 0x1D246 }; static const UV UNI_GREXT_invlist[] = { /* for all charsets */ 689, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9BE, 0x9BF, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3E, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBBF, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC2, 0xCC3, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD3E, 0xD3F, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xDDF, 0xDE0, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFF9E, 0xFFA0, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x1133E, 0x1133F, 0x11340, 0x11341, 0x11357, 0x11358, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114B1, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115AF, 0x115B0, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x11930, 0x11931, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D166, 0x1D167, 0x1D16A, 0x1D16E, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; static const UV UNI_GUJR_invlist[] = { /* for all charsets */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xA830, 0xA83A }; static const UV UNI_GURU_invlist[] = { /* for all charsets */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA830, 0xA83A }; static const UV UNI_HALFANDFULLFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFF00, 0xFFF0 }; static const UV UNI_HALFMARKS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE20, 0xFE30 }; static const UV UNI_HAN_invlist[] = { /* for all charsets */ 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x3001, 0x3004, 0x3005, 0x3012, 0x3013, 0x3020, 0x3021, 0x302E, 0x3030, 0x3031, 0x3037, 0x3040, 0x30FB, 0x30FC, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x3220, 0x3248, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32FF, 0x3300, 0x3358, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA700, 0xA708, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFE45, 0xFE47, 0xFF61, 0xFF66, 0x16FF0, 0x16FF2, 0x1D360, 0x1D372, 0x1F250, 0x1F252, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; static const UV UNI_HANG_invlist[] = { /* for all charsets */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1200, 0x3001, 0x3004, 0x3008, 0x3012, 0x3013, 0x3020, 0x302E, 0x3031, 0x3037, 0x3038, 0x30FB, 0x30FC, 0x3131, 0x318F, 0x3200, 0x321F, 0x3260, 0x327F, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFE45, 0xFE47, 0xFF61, 0xFF66, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD }; static const UV UNI_HANO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1720, 0x1737 }; static const UV UNI_HATR_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x10900 }; static const UV UNI_HEBR_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50 }; static const UV UNI_HIGHPUSURROGATES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDB80, 0xDC00 }; static const UV UNI_HIGHSURROGATES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD800, 0xDB80 }; static const UV UNI_HIRA_invlist[] = { /* for all charsets */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3001, 0x3004, 0x3008, 0x3012, 0x3013, 0x3020, 0x3030, 0x3036, 0x3037, 0x3038, 0x303C, 0x303E, 0x3041, 0x3097, 0x3099, 0x30A1, 0x30FB, 0x30FD, 0xFE45, 0xFE47, 0xFF61, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0x1B001, 0x1B11F, 0x1B150, 0x1B153, 0x1F200, 0x1F201 }; static const UV UNI_HLUW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x14400, 0x14647 }; static const UV UNI_HMNG_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90 }; static const UV UNI_HMNP_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150 }; static const UV UNI_HST__NA_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1200, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC }; static const UV UNI_HUNG_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_HYPHEN_invlist[] = { /* for ASCII/Latin1 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E, 0xAD, 0xAE, 0x58A, 0x58B, 0x1806, 0x1807, 0x2010, 0x2012, 0x2E17, 0x2E18, 0x30FB, 0x30FC, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0xFF65, 0xFF66 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_HYPHEN_invlist[] = { /* for EBCDIC 1047 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0xCA, 0xCB, 0x58A, 0x58B, 0x1806, 0x1807, 0x2010, 0x2012, 0x2E17, 0x2E18, 0x30FB, 0x30FC, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0xFF65, 0xFF66 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_HYPHEN_invlist[] = { /* for EBCDIC 037 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0xCA, 0xCB, 0x58A, 0x58B, 0x1806, 0x1807, 0x2010, 0x2012, 0x2E17, 0x2E18, 0x30FB, 0x30FC, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0xFF65, 0xFF66 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDC_invlist[] = { /* for ASCII/Latin1 */ 1461, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xB7, 0xB8, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDC_invlist[] = { /* for EBCDIC 1047 */ 1485, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDC_invlist[] = { /* for EBCDIC 037 */ 1481, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for ASCII/Latin1 */ 749, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27, 0x28, 0x2D, 0x2F, 0x30, 0x3B, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xB7, 0xB8, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for EBCDIC 1047 */ 783, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERSTATUS__ALLOWED_invlist[] = { /* for EBCDIC 037 */ 779, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for ASCII/Latin1 */ 749, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27, 0x28, 0x2D, 0x2F, 0x30, 0x3B, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xB7, 0xB8, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for EBCDIC 1047 */ 783, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERSTATUS__RESTRICTED_invlist[] = { /* for EBCDIC 037 */ 779, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x375, 0x376, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x58A, 0x58B, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF0B, 0xF0C, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for ASCII/Latin1 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x206A, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for EBCDIC 1047 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x206A, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist[] = { /* for EBCDIC 037 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x34F, 0x350, 0x61C, 0x61D, 0x115F, 0x1161, 0x17B4, 0x17B6, 0x180B, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x206A, 0x3164, 0x3165, 0xFE00, 0xFE10, 0xFEFF, 0xFF00, 0xFFA0, 0xFFA1, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ static const UV UNI_IDENTIFIERTYPE__EXCLUSION_invlist[] = { /* for all charsets */ 425, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3E2, 0x3F0, 0x800, 0x82E, 0x830, 0x83F, 0x1680, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1800, 0x180B, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20, 0x1CFA, 0x1CFB, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00, 0xA840, 0xA878, 0xA930, 0xA954, 0xA95F, 0xA960, 0xA9CF, 0xA9D0, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11150, 0x11177, 0x11180, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11301, 0x11302, 0x11303, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11EE0, 0x11EF9, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16FE0, 0x16FE2, 0x16FE4, 0x16FE5, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA0, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for ASCII/Latin1 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27, 0x28, 0x2D, 0x2F, 0x3A, 0x3B, 0xB7, 0xB8, 0x375, 0x376, 0x58A, 0x58B, 0x5F3, 0x5F5, 0x6FD, 0x6FF, 0xF0B, 0xF0C, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x30A0, 0x30A1, 0x30FB, 0x30FC }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for EBCDIC 1047 */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x60, 0x61, 0x7A, 0x7B, 0x7D, 0x7E, 0xB3, 0xB4, 0x375, 0x376, 0x58A, 0x58B, 0x5F3, 0x5F5, 0x6FD, 0x6FF, 0xF0B, 0xF0C, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x30A0, 0x30A1, 0x30FB, 0x30FC }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__INCLUSION_invlist[] = { /* for EBCDIC 037 */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x60, 0x61, 0x7A, 0x7B, 0x7D, 0x7E, 0xB3, 0xB4, 0x375, 0x376, 0x58A, 0x58B, 0x5F3, 0x5F5, 0x6FD, 0x6FF, 0xF0B, 0xF0C, 0x200C, 0x200E, 0x2010, 0x2011, 0x2019, 0x201A, 0x2027, 0x2028, 0x30A0, 0x30A1, 0x30FB, 0x30FC }; # endif /* EBCDIC 037 */ static const UV UNI_IDENTIFIERTYPE__LIMITEDUSE_invlist[] = { /* for all charsets */ 171, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x7C0, 0x7FB, 0x7FD, 0x800, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x1680, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x19E0, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x2D30, 0x2D68, 0x2D70, 0x2D71, 0x2D7F, 0x2D80, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA6A0, 0xA6F8, 0xA800, 0xA82D, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA900, 0xA92E, 0xA92F, 0xA930, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xAA80, 0xAAC3, 0xAADB, 0xAAF7, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x11100, 0x11135, 0x11136, 0x11148, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11FB0, 0x11FB1, 0x16800, 0x16A39, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for ASCII/Latin1 */ 1357, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x7F, 0x85, 0x86, 0xA0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for EBCDIC 1047 */ 1361, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist[] = { /* for EBCDIC 037 */ 1361, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0xFF, 0x100, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for ASCII/Latin1 */ 503, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x3164, 0x3165, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFA0, 0xFFA1, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for EBCDIC 1047 */ 509, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBB, 0xBD, 0xBE, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x3164, 0x3165, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFA0, 0xFFA1, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__NOTNFKC_invlist[] = { /* for EBCDIC 037 */ 507, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBC, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x3164, 0x3165, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFA0, 0xFFA1, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for ASCII/Latin1 */ 691, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x27, 0x28, 0x2D, 0x2F, 0x30, 0x3B, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0x7F, 0x85, 0x86, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAD, 0xAE, 0xAF, 0xB0, 0xB2, 0xB6, 0xB7, 0xBB, 0xBC, 0xBF, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x55A, 0x560, 0x589, 0x58A, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x600, 0x610, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x700, 0x70E, 0x70F, 0x710, 0x7F6, 0x7FA, 0x7FE, 0x800, 0x830, 0x83F, 0x85E, 0x85F, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF2, 0xB70, 0xB71, 0xB72, 0xB78, 0xBF0, 0xBFB, 0xC77, 0xC80, 0xC84, 0xC85, 0xD4F, 0xD50, 0xD58, 0xD5F, 0xD70, 0xD7A, 0xDF4, 0xDF5, 0xE3F, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF01, 0xF0B, 0xF0D, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1372, 0x137D, 0x1390, 0x139A, 0x1400, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1ABE, 0x1ABF, 0x1B5A, 0x1B6B, 0x1B74, 0x1B7D, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2012, 0x2017, 0x2018, 0x2019, 0x201A, 0x2024, 0x2028, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x2041, 0x2047, 0x204A, 0x2054, 0x2055, 0x2057, 0x2058, 0x205F, 0x20A0, 0x20A8, 0x20A9, 0x20C0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2118, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2E9F, 0x2EA0, 0x2EF3, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3037, 0x3038, 0x303D, 0x3040, 0x3190, 0x3192, 0x31C0, 0x31E4, 0x3248, 0x3250, 0x327F, 0x3280, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA830, 0xA83A, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAA77, 0xAA7A, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xABEB, 0xABEC, 0xFBB2, 0xFBC2, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE45, 0xFE47, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10175, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10860, 0x10877, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A7D, 0x10A80, 0x10A9D, 0x10AA0, 0x10AC8, 0x10AC9, 0x10AEB, 0x10AF7, 0x10B39, 0x10B40, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10EAD, 0x10EAE, 0x10F1D, 0x10F27, 0x10F51, 0x10F5A, 0x10FC5, 0x10FCC, 0x11047, 0x1104E, 0x11052, 0x11066, 0x110BB, 0x110C2, 0x110CD, 0x110CE, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x111E1, 0x111F5, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173A, 0x11740, 0x1183B, 0x1183C, 0x118EA, 0x118F3, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C5A, 0x11C6D, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13430, 0x13439, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B40, 0x16B44, 0x16B46, 0x16B5B, 0x16B62, 0x16E80, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D15E, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1BB, 0x1D1C1, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1E8C7, 0x1E8D0, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for EBCDIC 1047 */ 705, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xB7, 0xBD, 0xBE, 0xBF, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2C2, 0x2C6, 0x2D2, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x55A, 0x560, 0x589, 0x58A, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x600, 0x610, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x700, 0x70E, 0x70F, 0x710, 0x7F6, 0x7FA, 0x7FE, 0x800, 0x830, 0x83F, 0x85E, 0x85F, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF2, 0xB70, 0xB71, 0xB72, 0xB78, 0xBF0, 0xBFB, 0xC77, 0xC80, 0xC84, 0xC85, 0xD4F, 0xD50, 0xD58, 0xD5F, 0xD70, 0xD7A, 0xDF4, 0xDF5, 0xE3F, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF01, 0xF0B, 0xF0D, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1372, 0x137D, 0x1390, 0x139A, 0x1400, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1ABE, 0x1ABF, 0x1B5A, 0x1B6B, 0x1B74, 0x1B7D, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2012, 0x2017, 0x2018, 0x2019, 0x201A, 0x2024, 0x2028, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x2041, 0x2047, 0x204A, 0x2054, 0x2055, 0x2057, 0x2058, 0x205F, 0x20A0, 0x20A8, 0x20A9, 0x20C0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2118, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2E9F, 0x2EA0, 0x2EF3, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3037, 0x3038, 0x303D, 0x3040, 0x3190, 0x3192, 0x31C0, 0x31E4, 0x3248, 0x3250, 0x327F, 0x3280, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA830, 0xA83A, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAA77, 0xAA7A, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xABEB, 0xABEC, 0xFBB2, 0xFBC2, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE45, 0xFE47, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10175, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10860, 0x10877, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A7D, 0x10A80, 0x10A9D, 0x10AA0, 0x10AC8, 0x10AC9, 0x10AEB, 0x10AF7, 0x10B39, 0x10B40, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10EAD, 0x10EAE, 0x10F1D, 0x10F27, 0x10F51, 0x10F5A, 0x10FC5, 0x10FCC, 0x11047, 0x1104E, 0x11052, 0x11066, 0x110BB, 0x110C2, 0x110CD, 0x110CE, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x111E1, 0x111F5, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173A, 0x11740, 0x1183B, 0x1183C, 0x118EA, 0x118F3, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C5A, 0x11C6D, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13430, 0x13439, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B40, 0x16B44, 0x16B46, 0x16B5B, 0x16B62, 0x16E80, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D15E, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1BB, 0x1D1C1, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1E8C7, 0x1E8D0, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__NOTXID_invlist[] = { /* for EBCDIC 037 */ 703, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x60, 0x61, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xB7, 0xBA, 0xBC, 0xBF, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2C2, 0x2C6, 0x2D2, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x55A, 0x560, 0x589, 0x58A, 0x58D, 0x590, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x600, 0x610, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x700, 0x70E, 0x70F, 0x710, 0x7F6, 0x7FA, 0x7FE, 0x800, 0x830, 0x83F, 0x85E, 0x85F, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF2, 0xB70, 0xB71, 0xB72, 0xB78, 0xBF0, 0xBFB, 0xC77, 0xC80, 0xC84, 0xC85, 0xD4F, 0xD50, 0xD58, 0xD5F, 0xD70, 0xD7A, 0xDF4, 0xDF5, 0xE3F, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF01, 0xF0B, 0xF0D, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFDB, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1372, 0x137D, 0x1390, 0x139A, 0x1400, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17F0, 0x17FA, 0x1800, 0x180B, 0x1940, 0x1941, 0x1944, 0x1946, 0x19DE, 0x1A00, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1ABE, 0x1ABF, 0x1B5A, 0x1B6B, 0x1B74, 0x1B7D, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2012, 0x2017, 0x2018, 0x2019, 0x201A, 0x2024, 0x2028, 0x202A, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x2041, 0x2047, 0x204A, 0x2054, 0x2055, 0x2057, 0x2058, 0x205F, 0x20A0, 0x20A8, 0x20A9, 0x20C0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2118, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2CF9, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2E9F, 0x2EA0, 0x2EF3, 0x2FF0, 0x2FFC, 0x3001, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3037, 0x3038, 0x303D, 0x3040, 0x3190, 0x3192, 0x31C0, 0x31E4, 0x3248, 0x3250, 0x327F, 0x3280, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA830, 0xA83A, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAA77, 0xAA7A, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xABEB, 0xABEC, 0xFBB2, 0xFBC2, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE45, 0xFE47, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10175, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10860, 0x10877, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A50, 0x10A59, 0x10A7D, 0x10A80, 0x10A9D, 0x10AA0, 0x10AC8, 0x10AC9, 0x10AEB, 0x10AF7, 0x10B39, 0x10B40, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10EAD, 0x10EAE, 0x10F1D, 0x10F27, 0x10F51, 0x10F5A, 0x10FC5, 0x10FCC, 0x11047, 0x1104E, 0x11052, 0x11066, 0x110BB, 0x110C2, 0x110CD, 0x110CE, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x111E1, 0x111F5, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173A, 0x11740, 0x1183B, 0x1183C, 0x118EA, 0x118F3, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C5A, 0x11C6D, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x13430, 0x13439, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B40, 0x16B44, 0x16B46, 0x16B5B, 0x16B62, 0x16E80, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9C, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D15E, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1BB, 0x1D1C1, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA8C, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1E8C7, 0x1E8D0, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 037 */ static const UV UNI_IDENTIFIERTYPE__OBSOLETE_invlist[] = { /* for all charsets */ 207, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x18D, 0x18E, 0x1AA, 0x1AC, 0x1B9, 0x1BC, 0x1BE, 0x1C0, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x277, 0x278, 0x27C, 0x27D, 0x29E, 0x29F, 0x363, 0x374, 0x376, 0x378, 0x37F, 0x380, 0x3D8, 0x3E2, 0x3F3, 0x3F4, 0x3F7, 0x3F9, 0x3FA, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x5A2, 0x5A3, 0x5C5, 0x5C7, 0x640, 0x641, 0x66E, 0x670, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x7E8, 0x7EB, 0x7FA, 0x7FB, 0x8AD, 0x8B2, 0x94E, 0x94F, 0x951, 0x953, 0x978, 0x979, 0x980, 0x981, 0x9FC, 0x9FD, 0xC00, 0xC01, 0xC34, 0xC35, 0xC58, 0xC5A, 0xC81, 0xC82, 0xCDE, 0xCDF, 0xD01, 0xD02, 0xD04, 0xD05, 0xD3B, 0xD3D, 0xD5F, 0xD60, 0xDE6, 0xDF0, 0x10A0, 0x10C6, 0x10F1, 0x10F7, 0x1100, 0x115F, 0x1161, 0x1200, 0x1369, 0x1372, 0x17A8, 0x17A9, 0x17D1, 0x17D2, 0x17D3, 0x17D4, 0x17D8, 0x17D9, 0x17DD, 0x17DE, 0x1AB0, 0x1ABE, 0x1C80, 0x1C89, 0x1CD0, 0x1CFA, 0x1DC0, 0x1DC4, 0x1DCE, 0x1DCF, 0x1DD1, 0x1DE7, 0x2056, 0x2057, 0x2058, 0x205F, 0x2127, 0x2128, 0x2132, 0x2133, 0x214E, 0x2150, 0x2180, 0x2189, 0x2C6D, 0x2C77, 0x2C7E, 0x2C80, 0x2D00, 0x2D26, 0x2DE0, 0x2E17, 0x2E2A, 0x2E33, 0x2E35, 0x2E36, 0x2E39, 0x2E3A, 0x301E, 0x301F, 0x302E, 0x3030, 0x312E, 0x312F, 0xA610, 0xA613, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA670, 0xA67C, 0xA680, 0xA69C, 0xA69E, 0xA6A0, 0xA700, 0xA708, 0xA722, 0xA770, 0xA771, 0xA788, 0xA790, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7B0, 0xA7B2, 0xA7F5, 0xA7F8, 0xA7FB, 0xA800, 0xA8E0, 0xA900, 0xA960, 0xA97D, 0xA9E0, 0xA9E7, 0xAB30, 0xAB5B, 0xAB64, 0xAB66, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0x10140, 0x10175, 0x101D0, 0x101FE, 0x102E0, 0x102FC, 0x16FE3, 0x16FE4, 0x1B000, 0x1B11F, 0x1D200, 0x1D246 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for ASCII/Latin1 */ 733, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6FD, 0x6FF, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A1, 0x30FB, 0x30FC, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for EBCDIC 1047 */ 763, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6FD, 0x6FF, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A1, 0x30FB, 0x30FC, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDENTIFIERTYPE__RECOMMENDED_invlist[] = { /* for EBCDIC 037 */ 759, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x259, 0x25A, 0x2BB, 0x2BD, 0x2EC, 0x2ED, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x335, 0x336, 0x338, 0x33A, 0x342, 0x343, 0x345, 0x346, 0x37B, 0x37E, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3FC, 0x460, 0x48A, 0x500, 0x510, 0x52A, 0x52E, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x561, 0x587, 0x5B4, 0x5B5, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x656, 0x660, 0x66A, 0x670, 0x673, 0x674, 0x675, 0x679, 0x68E, 0x68F, 0x6A1, 0x6A2, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6FD, 0x6FF, 0x700, 0x750, 0x7B2, 0x8A0, 0x8AD, 0x8B2, 0x8B3, 0x8B6, 0x8C8, 0x901, 0x94E, 0x94F, 0x951, 0x956, 0x958, 0x960, 0x964, 0x966, 0x970, 0x971, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9E0, 0x9E4, 0x9E6, 0x9F2, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA33, 0xA35, 0xA36, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA5C, 0xA5D, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5F, 0xB62, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC01, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC80, 0xC81, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD01, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD82, 0xD84, 0xD85, 0xD8F, 0xD91, 0xD97, 0xD9A, 0xDA6, 0xDA7, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDDF, 0xDF2, 0xDF3, 0xE01, 0xE33, 0xE34, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB3, 0xEB4, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDE, 0xEE0, 0xF00, 0xF01, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF3E, 0xF43, 0xF44, 0xF48, 0xF49, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF6D, 0xF71, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF85, 0xF86, 0xF93, 0xF94, 0xF98, 0xF99, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10F1, 0x10F7, 0x10FB, 0x10FD, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x1780, 0x17A3, 0x17A5, 0x17A8, 0x17A9, 0x17B4, 0x17B6, 0x17CB, 0x17D2, 0x17D3, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x17E0, 0x17EA, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1E00, 0x1E9A, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x309F, 0x30A1, 0x30FB, 0x30FC, 0x30FF, 0x3105, 0x312E, 0x312F, 0x3130, 0x31A0, 0x31C0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA67F, 0xA680, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78D, 0xA78E, 0xA792, 0xA794, 0xA7AA, 0xA7AB, 0xA7AE, 0xA7AF, 0xA7B8, 0xA7BA, 0xA7C2, 0xA7CB, 0xA9E7, 0xA9FF, 0xAA60, 0xAA77, 0xAA7A, 0xAA80, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB66, 0xAB68, 0xAC00, 0xD7A4, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x16FF0, 0x16FF2, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_IDENTIFIERTYPE__TECHNICAL_invlist[] = { /* for all charsets */ 191, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x180, 0x181, 0x18D, 0x18E, 0x1AA, 0x1AC, 0x1BA, 0x1BC, 0x1BE, 0x1BF, 0x1C0, 0x1C4, 0x234, 0x237, 0x250, 0x259, 0x25A, 0x2B0, 0x2B9, 0x2BB, 0x2BD, 0x2C2, 0x2C6, 0x2D2, 0x2EE, 0x2EF, 0x30E, 0x30F, 0x312, 0x313, 0x315, 0x316, 0x317, 0x31B, 0x31C, 0x321, 0x329, 0x32D, 0x32F, 0x330, 0x333, 0x334, 0x337, 0x338, 0x33A, 0x340, 0x346, 0x34F, 0x350, 0x358, 0x359, 0x363, 0x3CF, 0x3D0, 0x3D7, 0x3D8, 0x3F3, 0x3F4, 0x484, 0x488, 0x560, 0x561, 0x588, 0x589, 0x5C7, 0x5C8, 0x740, 0x74B, 0x953, 0x955, 0xD04, 0xD05, 0xD81, 0xD82, 0xD8F, 0xD91, 0xDA6, 0xDA7, 0xDDF, 0xDE0, 0xDF3, 0xDF4, 0xF18, 0xF1A, 0x17CB, 0x17D2, 0x17DD, 0x17DE, 0x1ABF, 0x1AC1, 0x1D00, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x1E9C, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EFA, 0x1F00, 0x203F, 0x2041, 0x20D0, 0x20F1, 0x2118, 0x2119, 0x212E, 0x212F, 0x2180, 0x2184, 0x24EB, 0x2500, 0x2800, 0x2900, 0x2C60, 0x2C68, 0x2C77, 0x2C7C, 0x2CF0, 0x2CF2, 0x2E00, 0x2E0E, 0x3021, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x31F0, 0x3200, 0x327F, 0x3280, 0x4DC0, 0x4E00, 0xA708, 0xA717, 0xA722, 0xA730, 0xA78E, 0xA78F, 0xA7AF, 0xA7B0, 0xA7BA, 0xA7C0, 0xA7FA, 0xA7FB, 0xAB68, 0xAB69, 0xFB1E, 0xFB1F, 0xFBB2, 0xFBC2, 0xFD3E, 0xFD40, 0xFDFD, 0xFDFE, 0xFE20, 0xFE30, 0xFE45, 0xFE47, 0xFE73, 0xFE74, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D15E, 0x1D165, 0x1D173, 0x1D17B, 0x1D1BB, 0x1D1C1, 0x1D1E9, 0x1D242, 0x1D245, 0x1D300, 0x1D357 }; static const UV UNI_IDENTIFIERTYPE__UNCOMMONUSE_invlist[] = { /* for all charsets */ 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x181, 0x18D, 0x18E, 0x18F, 0x190, 0x1A0, 0x1A2, 0x1AA, 0x1AC, 0x1AF, 0x1B1, 0x1B9, 0x1BC, 0x1BE, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x220, 0x226, 0x237, 0x250, 0x253, 0x255, 0x256, 0x258, 0x25B, 0x25C, 0x263, 0x264, 0x268, 0x26A, 0x272, 0x273, 0x289, 0x28A, 0x292, 0x293, 0x305, 0x306, 0x30D, 0x30E, 0x316, 0x317, 0x321, 0x323, 0x332, 0x333, 0x334, 0x335, 0x336, 0x337, 0x358, 0x359, 0x591, 0x5B4, 0x5B5, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x656, 0x660, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x8B3, 0x8B5, 0x8D3, 0x8E2, 0x8E3, 0x901, 0x955, 0x956, 0xA51, 0xA52, 0xA75, 0xA76, 0xAF9, 0xAFA, 0xB44, 0xB45, 0xB62, 0xB64, 0xC5A, 0xC5B, 0xC62, 0xC64, 0xD44, 0xD45, 0xD62, 0xD64, 0xD8F, 0xD91, 0xDA6, 0xDA7, 0xDDF, 0xDE0, 0xDF3, 0xDF4, 0xF39, 0xF3A, 0x18A9, 0x18AA, 0x2054, 0x2055, 0x218A, 0x218C, 0x2BEC, 0x2BF0, 0x2C68, 0x2C6D, 0xA66F, 0xA670, 0xA67C, 0xA67E, 0xA69E, 0xA69F, 0xA78B, 0xA78D, 0xA78F, 0xA790, 0xA7B2, 0xA7B8, 0xA8FC, 0xA8FE, 0xAB60, 0xAB64, 0xFB1E, 0xFB1F, 0xFE2E, 0xFE30, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x1D1DE, 0x1D1E9, 0x1F54F, 0x1F550 }; static const UV UNI_IDEO_invlist[] = { /* for all charsets */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3006, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0x16FE4, 0x16FE5, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B170, 0x1B2FC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; static const UV UNI_IDEOGRAPHICSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16FE0, 0x17000 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_IDS_invlist[] = { /* for ASCII/Latin1 */ 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309B, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_IDS_invlist[] = { /* for EBCDIC 1047 */ 1271, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309B, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_IDS_invlist[] = { /* for EBCDIC 037 */ 1267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309B, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_IDSB_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2FF0, 0x2FF2, 0x2FF4, 0x2FFC }; static const UV UNI_IDST_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2FF2, 0x2FF4 }; static const UV UNI_IN__1_DOT_1_invlist[] = { /* for all charsets */ 576, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F6, 0x1FA, 0x218, 0x250, 0x2A9, 0x2B0, 0x2DF, 0x2E0, 0x2EA, 0x300, 0x346, 0x360, 0x362, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3D7, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3F4, 0x401, 0x40D, 0x40E, 0x450, 0x451, 0x45D, 0x45E, 0x487, 0x490, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4EC, 0x4EE, 0x4F6, 0x4F8, 0x4FA, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58A, 0x5B0, 0x5BA, 0x5BB, 0x5C4, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x653, 0x660, 0x66E, 0x670, 0x6B8, 0x6BA, 0x6BF, 0x6C0, 0x6CF, 0x6D0, 0x6EE, 0x6F0, 0x6FA, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0x10A0, 0x10C6, 0x10D0, 0x10F7, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1E00, 0x1E9B, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x202F, 0x2030, 0x2047, 0x206A, 0x2071, 0x2074, 0x208F, 0x20A0, 0x20AB, 0x20D0, 0x20E2, 0x2100, 0x2139, 0x2153, 0x2183, 0x2190, 0x21EB, 0x2200, 0x22F2, 0x2300, 0x2301, 0x2302, 0x237B, 0x2400, 0x2425, 0x2440, 0x244B, 0x2460, 0x24EB, 0x2500, 0x2596, 0x25A0, 0x25F0, 0x2600, 0x2614, 0x261A, 0x2670, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2768, 0x2776, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x3000, 0x3038, 0x303F, 0x3040, 0x3041, 0x3095, 0x3099, 0x309F, 0x30A1, 0x30FF, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31A0, 0x3200, 0x321D, 0x3220, 0x3244, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x4E00, 0x9FA6, 0xE000, 0xFA2E, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1E, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE20, 0xFE24, 0xFE30, 0xFE45, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF5F, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFD, 0x10000 }; static const UV UNI_IN__10_invlist[] = { /* for all charsets */ 1318, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8BE, 0x8D4, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FE, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CFA, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BBA, 0x2BBD, 0x2BC9, 0x2BCA, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E4A, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312F, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FEB, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FE, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB66, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x11700, 0x1171A, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11A00, 0x11A48, 0x11A50, 0x11A84, 0x11A86, 0x11A9D, 0x11A9E, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x17000, 0x187ED, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D5, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6F9, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F910, 0x1F93F, 0x1F940, 0x1F94D, 0x1F950, 0x1F96C, 0x1F980, 0x1F998, 0x1F9C0, 0x1F9C1, 0x1F9D0, 0x1F9E7, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__11_invlist[] = { /* for all charsets */ 1336, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8BE, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFA, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BC9, 0x2BCA, 0x2BFF, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E4F, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FF0, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7BA, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB66, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11147, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x1145F, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11A00, 0x11A48, 0x11A50, 0x11A84, 0x11A86, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x17000, 0x187F2, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F16C, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D5, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FA, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F910, 0x1F93F, 0x1F940, 0x1F971, 0x1F973, 0x1F977, 0x1F97A, 0x1F97B, 0x1F97C, 0x1F9A3, 0x1F9B0, 0x1F9BA, 0x1F9C0, 0x1F9C3, 0x1F9D0, 0x1FA00, 0x1FA60, 0x1FA6E, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__12_invlist[] = { /* for all charsets */ 1354, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8BE, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FF0, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7C7, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB68, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11147, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x11460, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D6, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FB, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F90D, 0x1F972, 0x1F973, 0x1F977, 0x1F97A, 0x1F9A3, 0x1F9A5, 0x1F9AB, 0x1F9AE, 0x1F9CB, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA74, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA83, 0x1FA90, 0x1FA96, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__12_DOT_1_invlist[] = { /* for all charsets */ 1352, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8BE, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E50, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x4DB6, 0x4DC0, 0x9FF0, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7C7, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB68, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11147, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x11460, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18AF3, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D6, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FB, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1F90D, 0x1F972, 0x1F973, 0x1F977, 0x1F97A, 0x1F9A3, 0x1F9A5, 0x1F9AB, 0x1F9AE, 0x1F9CB, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA74, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA83, 0x1FA90, 0x1FA96, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__13_invlist[] = { /* for all charsets */ 1372, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FFFE, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x2FFFE, 0x3134B, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__2_invlist[] = { /* for all charsets */ 624, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F6, 0x1FA, 0x218, 0x250, 0x2A9, 0x2B0, 0x2DF, 0x2E0, 0x2EA, 0x300, 0x346, 0x360, 0x362, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3D7, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3F4, 0x401, 0x40D, 0x40E, 0x450, 0x451, 0x45D, 0x45E, 0x487, 0x490, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4EC, 0x4EE, 0x4F6, 0x4F8, 0x4FA, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58A, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x653, 0x660, 0x66E, 0x670, 0x6B8, 0x6BA, 0x6BF, 0x6C0, 0x6CF, 0x6D0, 0x6EE, 0x6F0, 0x6FA, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6A, 0xF71, 0xF8C, 0xF90, 0xF96, 0xF97, 0xF98, 0xF99, 0xFAE, 0xFB1, 0xFB8, 0xFB9, 0xFBA, 0x10A0, 0x10C6, 0x10D0, 0x10F7, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x202F, 0x2030, 0x2047, 0x206A, 0x2071, 0x2074, 0x208F, 0x20A0, 0x20AC, 0x20D0, 0x20E2, 0x2100, 0x2139, 0x2153, 0x2183, 0x2190, 0x21EB, 0x2200, 0x22F2, 0x2300, 0x2301, 0x2302, 0x237B, 0x2400, 0x2425, 0x2440, 0x244B, 0x2460, 0x24EB, 0x2500, 0x2596, 0x25A0, 0x25F0, 0x2600, 0x2614, 0x261A, 0x2670, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2768, 0x2776, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x3000, 0x3038, 0x303F, 0x3040, 0x3041, 0x3095, 0x3099, 0x309F, 0x30A1, 0x30FF, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31A0, 0x3200, 0x321D, 0x3220, 0x3244, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x4E00, 0x9FA6, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1E, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE20, 0xFE24, 0xFE30, 0xFE45, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF5F, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFD, 0x10000, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xEFFFE, 0x110000 }; static const UV UNI_IN__2_DOT_1_invlist[] = { /* for all charsets */ 624, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F6, 0x1FA, 0x218, 0x250, 0x2A9, 0x2B0, 0x2DF, 0x2E0, 0x2EA, 0x300, 0x346, 0x360, 0x362, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3D7, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3F4, 0x401, 0x40D, 0x40E, 0x450, 0x451, 0x45D, 0x45E, 0x487, 0x490, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4EC, 0x4EE, 0x4F6, 0x4F8, 0x4FA, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58A, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x653, 0x660, 0x66E, 0x670, 0x6B8, 0x6BA, 0x6BF, 0x6C0, 0x6CF, 0x6D0, 0x6EE, 0x6F0, 0x6FA, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6A, 0xF71, 0xF8C, 0xF90, 0xF96, 0xF97, 0xF98, 0xF99, 0xFAE, 0xFB1, 0xFB8, 0xFB9, 0xFBA, 0x10A0, 0x10C6, 0x10D0, 0x10F7, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x202F, 0x2030, 0x2047, 0x206A, 0x2071, 0x2074, 0x208F, 0x20A0, 0x20AD, 0x20D0, 0x20E2, 0x2100, 0x2139, 0x2153, 0x2183, 0x2190, 0x21EB, 0x2200, 0x22F2, 0x2300, 0x2301, 0x2302, 0x237B, 0x2400, 0x2425, 0x2440, 0x244B, 0x2460, 0x24EB, 0x2500, 0x2596, 0x25A0, 0x25F0, 0x2600, 0x2614, 0x261A, 0x2670, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2768, 0x2776, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x3000, 0x3038, 0x303F, 0x3040, 0x3041, 0x3095, 0x3099, 0x309F, 0x30A1, 0x30FF, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31A0, 0x3200, 0x321D, 0x3220, 0x3244, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x4E00, 0x9FA6, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1E, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE20, 0xFE24, 0xFE30, 0xFE45, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF5F, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0x10000, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xEFFFE, 0x110000 }; static const UV UNI_IN__3_invlist[] = { /* for all charsets */ 738, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x220, 0x222, 0x234, 0x250, 0x2AE, 0x2B0, 0x2EF, 0x300, 0x34F, 0x360, 0x363, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3D8, 0x3DA, 0x3F4, 0x400, 0x487, 0x488, 0x48A, 0x48C, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4F6, 0x4F8, 0x4FA, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x656, 0x660, 0x66E, 0x670, 0x6EE, 0x6F0, 0x6FF, 0x700, 0x70E, 0x70F, 0x72D, 0x730, 0x74B, 0x780, 0x7B1, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD0, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10F7, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1207, 0x1208, 0x1247, 0x1248, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1287, 0x1288, 0x1289, 0x128A, 0x128E, 0x1290, 0x12AF, 0x12B0, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12CF, 0x12D0, 0x12D7, 0x12D8, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x1311, 0x1312, 0x1316, 0x1318, 0x131F, 0x1320, 0x1347, 0x1348, 0x135B, 0x1361, 0x137D, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1780, 0x17DD, 0x17E0, 0x17EA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2047, 0x2048, 0x204E, 0x206A, 0x2071, 0x2074, 0x208F, 0x20A0, 0x20B0, 0x20D0, 0x20E4, 0x2100, 0x213B, 0x2153, 0x2184, 0x2190, 0x21F4, 0x2200, 0x22F2, 0x2300, 0x237C, 0x237D, 0x239B, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x24EB, 0x2500, 0x2596, 0x25A0, 0x25F8, 0x2600, 0x2614, 0x2619, 0x2672, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2768, 0x2776, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x2800, 0x2900, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x303B, 0x303E, 0x3040, 0x3041, 0x3095, 0x3099, 0x309F, 0x30A1, 0x30FF, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x3200, 0x321D, 0x3220, 0x3244, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DB6, 0x4E00, 0x9FA6, 0xA000, 0xA48D, 0xA490, 0xA4A2, 0xA4A4, 0xA4B4, 0xA4B5, 0xA4C1, 0xA4C2, 0xA4C5, 0xA4C6, 0xA4C7, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE20, 0xFE24, 0xFE30, 0xFE45, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF5F, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x10000, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xEFFFE, 0x110000 }; static const UV UNI_IN__3_DOT_1_invlist[] = { /* for all charsets */ 804, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x220, 0x222, 0x234, 0x250, 0x2AE, 0x2B0, 0x2EF, 0x300, 0x34F, 0x360, 0x363, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3D8, 0x3DA, 0x3F6, 0x400, 0x487, 0x488, 0x48A, 0x48C, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4F6, 0x4F8, 0x4FA, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x656, 0x660, 0x66E, 0x670, 0x6EE, 0x6F0, 0x6FF, 0x700, 0x70E, 0x70F, 0x72D, 0x730, 0x74B, 0x780, 0x7B1, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD0, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10F7, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1207, 0x1208, 0x1247, 0x1248, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1287, 0x1288, 0x1289, 0x128A, 0x128E, 0x1290, 0x12AF, 0x12B0, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12CF, 0x12D0, 0x12D7, 0x12D8, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x1311, 0x1312, 0x1316, 0x1318, 0x131F, 0x1320, 0x1347, 0x1348, 0x135B, 0x1361, 0x137D, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1780, 0x17DD, 0x17E0, 0x17EA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2047, 0x2048, 0x204E, 0x206A, 0x2071, 0x2074, 0x208F, 0x20A0, 0x20B0, 0x20D0, 0x20E4, 0x2100, 0x213B, 0x2153, 0x2184, 0x2190, 0x21F4, 0x2200, 0x22F2, 0x2300, 0x237C, 0x237D, 0x239B, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x24EB, 0x2500, 0x2596, 0x25A0, 0x25F8, 0x2600, 0x2614, 0x2619, 0x2672, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2768, 0x2776, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x2800, 0x2900, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x303B, 0x303E, 0x3040, 0x3041, 0x3095, 0x3099, 0x309F, 0x30A1, 0x30FF, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x3200, 0x321D, 0x3220, 0x3244, 0x3260, 0x327C, 0x327F, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DB6, 0x4E00, 0x9FA6, 0xA000, 0xA48D, 0xA490, 0xA4A2, 0xA4A4, 0xA4B4, 0xA4B5, 0xA4C1, 0xA4C2, 0xA4C5, 0xA4C6, 0xA4C7, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFC, 0xFE20, 0xFE24, 0xFE30, 0xFE45, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF5F, 0xFF61, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x10000, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10400, 0x10426, 0x10428, 0x1044E, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C1, 0x1D4C2, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A4, 0x1D6A8, 0x1D7CA, 0x1D7CE, 0x1D800, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xEFFFE, 0x110000 }; static const UV UNI_IN__3_DOT_2_invlist[] = { /* for all charsets */ 794, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x221, 0x222, 0x234, 0x250, 0x2AE, 0x2B0, 0x2EF, 0x300, 0x350, 0x360, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3F7, 0x400, 0x487, 0x488, 0x4CF, 0x4D0, 0x4F6, 0x4F8, 0x4FA, 0x500, 0x510, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x656, 0x660, 0x6EE, 0x6F0, 0x6FF, 0x700, 0x70E, 0x70F, 0x72D, 0x730, 0x74B, 0x780, 0x7B2, 0x901, 0x904, 0x905, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA02, 0xA03, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8C, 0xA8D, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE1, 0xAE6, 0xAF0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB36, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB71, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBF3, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD0, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10F9, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1207, 0x1208, 0x1247, 0x1248, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1287, 0x1288, 0x1289, 0x128A, 0x128E, 0x1290, 0x12AF, 0x12B0, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12CF, 0x12D0, 0x12D7, 0x12D8, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x1311, 0x1312, 0x1316, 0x1318, 0x131F, 0x1320, 0x1347, 0x1348, 0x135B, 0x1361, 0x137D, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DD, 0x17E0, 0x17EA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2053, 0x2057, 0x2058, 0x205F, 0x2064, 0x206A, 0x2072, 0x2074, 0x208F, 0x20A0, 0x20B2, 0x20D0, 0x20EB, 0x2100, 0x213B, 0x213D, 0x214C, 0x2153, 0x2184, 0x2190, 0x23CF, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x24FF, 0x2500, 0x2614, 0x2616, 0x2618, 0x2619, 0x267E, 0x2680, 0x268A, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27D0, 0x27EC, 0x27F0, 0x2B00, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31F0, 0x321D, 0x3220, 0x3244, 0x3251, 0x327C, 0x327F, 0x32CC, 0x32D0, 0x32FF, 0x3300, 0x3377, 0x337B, 0x33DE, 0x33E0, 0x33FF, 0x3400, 0x4DB6, 0x4E00, 0x9FA6, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFA30, 0xFA6B, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFD, 0xFE00, 0xFE10, 0xFE20, 0xFE24, 0xFE30, 0xFE47, 0xFE49, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x10000, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10400, 0x10426, 0x10428, 0x1044E, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C1, 0x1D4C2, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A4, 0x1D6A8, 0x1D7CA, 0x1D7CE, 0x1D800, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xEFFFE, 0x110000 }; static const UV UNI_IN__4_invlist[] = { /* for all charsets */ 824, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x237, 0x250, 0x358, 0x35D, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x3FC, 0x400, 0x487, 0x488, 0x4CF, 0x4D0, 0x4F6, 0x4F8, 0x4FA, 0x500, 0x510, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5A2, 0x5A3, 0x5BA, 0x5BB, 0x5C5, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x60C, 0x616, 0x61B, 0x61C, 0x61F, 0x620, 0x621, 0x63B, 0x640, 0x659, 0x660, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x780, 0x7B2, 0x901, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBB6, 0xBB7, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE7, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD0, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10F9, 0x10FB, 0x10FC, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1207, 0x1208, 0x1247, 0x1248, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1287, 0x1288, 0x1289, 0x128A, 0x128E, 0x1290, 0x12AF, 0x12B0, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12CF, 0x12D0, 0x12D7, 0x12D8, 0x12EF, 0x12F0, 0x130F, 0x1310, 0x1311, 0x1312, 0x1316, 0x1318, 0x131F, 0x1320, 0x1347, 0x1348, 0x135B, 0x1361, 0x137D, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x19E0, 0x1A00, 0x1D00, 0x1D6C, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2055, 0x2057, 0x2058, 0x205F, 0x2064, 0x206A, 0x2072, 0x2074, 0x208F, 0x20A0, 0x20B2, 0x20D0, 0x20EB, 0x2100, 0x213C, 0x213D, 0x214C, 0x2153, 0x2184, 0x2190, 0x23D1, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2618, 0x2619, 0x267E, 0x2680, 0x2692, 0x26A0, 0x26A2, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27D0, 0x27EC, 0x27F0, 0x2B0E, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31F0, 0x321F, 0x3220, 0x3244, 0x3250, 0x327E, 0x327F, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FA6, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFA30, 0xFA6B, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE10, 0xFE20, 0xFE24, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103A0, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D300, 0x1D357, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A4, 0x1D6A8, 0x1D7CA, 0x1D7CE, 0x1D800, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__4_DOT_1_invlist[] = { /* for all charsets */ 860, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x242, 0x250, 0x370, 0x374, 0x376, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x487, 0x488, 0x4CF, 0x4D0, 0x4FA, 0x500, 0x510, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5BA, 0x5BB, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x60B, 0x616, 0x61B, 0x61C, 0x61E, 0x620, 0x621, 0x63B, 0x640, 0x65F, 0x660, 0x70E, 0x70F, 0x74B, 0x74D, 0x76E, 0x780, 0x7B2, 0x901, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x97D, 0x97E, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCE6, 0xCF0, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD2, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10FD, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135F, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AA, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x19DE, 0x1A1C, 0x1A1E, 0x1A20, 0x1D00, 0x1DC4, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2064, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x2095, 0x20A0, 0x20B6, 0x20D0, 0x20EC, 0x2100, 0x214D, 0x2153, 0x2184, 0x2190, 0x23DC, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x269D, 0x26A0, 0x26B2, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27C7, 0x27D0, 0x27EC, 0x27F0, 0x2B14, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C80, 0x2CEB, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E18, 0x2E1C, 0x2E1E, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31C0, 0x31D0, 0x31F0, 0x321F, 0x3220, 0x3244, 0x3250, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FBC, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA700, 0xA717, 0xA800, 0xA82C, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFA30, 0xFA6B, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE24, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CA, 0x1D7CE, 0x1D800, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__5_invlist[] = { /* for all charsets */ 880, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x370, 0x374, 0x376, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3CF, 0x3D0, 0x487, 0x488, 0x514, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x60B, 0x616, 0x61B, 0x61C, 0x61E, 0x620, 0x621, 0x63B, 0x640, 0x65F, 0x660, 0x70E, 0x70F, 0x74B, 0x74D, 0x76E, 0x780, 0x7B2, 0x7C0, 0x7FB, 0x901, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x971, 0x97B, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA75, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB44, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB66, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC60, 0xC62, 0xC66, 0xC70, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3E, 0xD44, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD62, 0xD66, 0xD70, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6B, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCF, 0xFD2, 0x1000, 0x1022, 0x1023, 0x1028, 0x1029, 0x102B, 0x102C, 0x1033, 0x1036, 0x103A, 0x1040, 0x105A, 0x10A0, 0x10C6, 0x10D0, 0x10FD, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135F, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AA, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AA, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x19DE, 0x1A1C, 0x1A1E, 0x1A20, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1D00, 0x1DCB, 0x1DFE, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2064, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x2095, 0x20A0, 0x20B6, 0x20D0, 0x20F0, 0x2100, 0x214F, 0x2153, 0x2185, 0x2190, 0x23E8, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x269D, 0x26A0, 0x26B3, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27CB, 0x27D0, 0x27EC, 0x27F0, 0x2B1B, 0x2B20, 0x2B24, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C6D, 0x2C74, 0x2C78, 0x2C80, 0x2CEB, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E00, 0x2E18, 0x2E1C, 0x2E1E, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312D, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31C0, 0x31D0, 0x31F0, 0x321F, 0x3220, 0x3244, 0x3250, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FBC, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA700, 0xA71B, 0xA720, 0xA722, 0xA800, 0xA82C, 0xA840, 0xA878, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFA30, 0xFA6B, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE24, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10900, 0x1091A, 0x1091F, 0x10920, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D12A, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__5_DOT_1_invlist[] = { /* for all charsets */ 910, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x524, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x606, 0x61C, 0x61E, 0x620, 0x621, 0x65F, 0x660, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x901, 0x93A, 0x93C, 0x94E, 0x950, 0x955, 0x958, 0x973, 0x97B, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FB, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD5, 0x1000, 0x109A, 0x109E, 0x10C6, 0x10D0, 0x10FD, 0x1100, 0x115A, 0x115F, 0x11A3, 0x11A8, 0x11FA, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135F, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1401, 0x1677, 0x1680, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AA, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x19DE, 0x1A1C, 0x1A1E, 0x1A20, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BAB, 0x1BAE, 0x1BBA, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1D00, 0x1DE7, 0x1DFE, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x2095, 0x20A0, 0x20B6, 0x20D0, 0x20F1, 0x2100, 0x2150, 0x2153, 0x2189, 0x2190, 0x23E8, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x269E, 0x26A0, 0x26BD, 0x26C0, 0x26C4, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x2757, 0x2758, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27CB, 0x27CC, 0x27CD, 0x27D0, 0x2B4D, 0x2B50, 0x2B55, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2C70, 0x2C71, 0x2C7E, 0x2C80, 0x2CEB, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E31, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x3244, 0x3250, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FC4, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA500, 0xA62C, 0xA640, 0xA660, 0xA662, 0xA674, 0xA67C, 0xA698, 0xA700, 0xA78D, 0xA7FB, 0xA82C, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA900, 0xA954, 0xA95F, 0xA960, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA60, 0xAC00, 0xD7A4, 0xD800, 0xFA2E, 0xFA30, 0xFA6B, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840, 0x10900, 0x1091A, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1FFFE, 0x2A6D7, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__5_DOT_2_invlist[] = { /* for all charsets */ 990, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x526, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x606, 0x61C, 0x61E, 0x620, 0x621, 0x65F, 0x660, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x900, 0x93A, 0x93C, 0x94F, 0x950, 0x956, 0x958, 0x973, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD29, 0xD2A, 0xD3A, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF8C, 0xF90, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD9, 0x1000, 0x10C6, 0x10D0, 0x10FD, 0x1100, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135F, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BAB, 0x1BAE, 0x1BBA, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CD0, 0x1CF3, 0x1D00, 0x1DE7, 0x1DFD, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x2095, 0x20A0, 0x20B9, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23E9, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2700, 0x2701, 0x2705, 0x2706, 0x270A, 0x270C, 0x2728, 0x2729, 0x274C, 0x274D, 0x274E, 0x274F, 0x2753, 0x2756, 0x275F, 0x2761, 0x2795, 0x2798, 0x27B0, 0x27B1, 0x27BF, 0x27C0, 0x27CB, 0x27CC, 0x27CD, 0x27D0, 0x2B4D, 0x2B50, 0x2B5A, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF2, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E32, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31B8, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCC, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA660, 0xA662, 0xA674, 0xA67C, 0xA698, 0xA6A0, 0xA6F8, 0xA700, 0xA78D, 0xA7FB, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA2E, 0xFA30, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x10860, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11080, 0x110C2, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x13000, 0x1342F, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F131, 0x1F132, 0x1F13D, 0x1F13E, 0x1F13F, 0x1F140, 0x1F142, 0x1F143, 0x1F146, 0x1F147, 0x1F14A, 0x1F14F, 0x1F157, 0x1F158, 0x1F15F, 0x1F160, 0x1F179, 0x1F17A, 0x1F17B, 0x1F17D, 0x1F17F, 0x1F180, 0x1F18A, 0x1F18E, 0x1F190, 0x1F191, 0x1F200, 0x1F201, 0x1F210, 0x1F232, 0x1F240, 0x1F249, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__6_invlist[] = { /* for all charsets */ 1022, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x528, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x604, 0x606, 0x61C, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x900, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF1, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEDE, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10D0, 0x10FD, 0x1100, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BAB, 0x1BAE, 0x1BBA, 0x1BC0, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CD0, 0x1CF3, 0x1D00, 0x1DE7, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BA, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23F4, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2700, 0x2701, 0x27CB, 0x27CC, 0x27CD, 0x27CE, 0x2B4D, 0x2B50, 0x2B5A, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF2, 0x2CF9, 0x2D26, 0x2D30, 0x2D66, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E32, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCC, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA674, 0xA67C, 0xA698, 0xA6A0, 0xA6F8, 0xA700, 0xA78F, 0xA790, 0xA792, 0xA7A0, 0xA7AA, 0xA7FA, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA2E, 0xFA30, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x10860, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x11080, 0x110C2, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x13000, 0x1342F, 0x16800, 0x16A39, 0x1B000, 0x1B002, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0E0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16A, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F330, 0x1F336, 0x1F337, 0x1F37D, 0x1F380, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3E0, 0x1F3F1, 0x1F400, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F500, 0x1F53E, 0x1F550, 0x1F568, 0x1F5FB, 0x1F600, 0x1F601, 0x1F611, 0x1F612, 0x1F615, 0x1F616, 0x1F617, 0x1F618, 0x1F619, 0x1F61A, 0x1F61B, 0x1F61C, 0x1F61F, 0x1F620, 0x1F626, 0x1F628, 0x1F62C, 0x1F62D, 0x1F62E, 0x1F630, 0x1F634, 0x1F635, 0x1F641, 0x1F645, 0x1F650, 0x1F680, 0x1F6C6, 0x1F700, 0x1F774, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__6_DOT_1_invlist[] = { /* for all charsets */ 1098, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x528, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58F, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x605, 0x606, 0x61C, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8A1, 0x8A2, 0x8AD, 0x8E4, 0x8FF, 0x900, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1D00, 0x1DE7, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BA, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23F4, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2700, 0x2701, 0x2B4D, 0x2B50, 0x2B5A, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E3C, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA698, 0xA69F, 0xA6F8, 0xA700, 0xA78F, 0xA790, 0xA794, 0xA7A0, 0xA7AB, 0xA7F8, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x10860, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x11080, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11180, 0x111C9, 0x111D0, 0x111DA, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x13000, 0x1342F, 0x16800, 0x16A39, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1B000, 0x1B002, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0E0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F330, 0x1F336, 0x1F337, 0x1F37D, 0x1F380, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3E0, 0x1F3F1, 0x1F400, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F500, 0x1F53E, 0x1F540, 0x1F544, 0x1F550, 0x1F568, 0x1F5FB, 0x1F641, 0x1F645, 0x1F650, 0x1F680, 0x1F6C6, 0x1F700, 0x1F774, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__6_DOT_2_invlist[] = { /* for all charsets */ 1098, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x528, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58F, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x605, 0x606, 0x61C, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8A1, 0x8A2, 0x8AD, 0x8E4, 0x8FF, 0x900, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1D00, 0x1DE7, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x206A, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BB, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23F4, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2700, 0x2701, 0x2B4D, 0x2B50, 0x2B5A, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E3C, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA698, 0xA69F, 0xA6F8, 0xA700, 0xA78F, 0xA790, 0xA794, 0xA7A0, 0xA7AB, 0xA7F8, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x10860, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x11080, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11180, 0x111C9, 0x111D0, 0x111DA, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x13000, 0x1342F, 0x16800, 0x16A39, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1B000, 0x1B002, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0E0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F330, 0x1F336, 0x1F337, 0x1F37D, 0x1F380, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3E0, 0x1F3F1, 0x1F400, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F500, 0x1F53E, 0x1F540, 0x1F544, 0x1F550, 0x1F568, 0x1F5FB, 0x1F641, 0x1F645, 0x1F650, 0x1F680, 0x1F6C6, 0x1F700, 0x1F774, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__6_DOT_3_invlist[] = { /* for all charsets */ 1098, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x528, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58F, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x605, 0x606, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8A1, 0x8A2, 0x8AD, 0x8E4, 0x8FF, 0x900, 0x978, 0x979, 0x980, 0x981, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC01, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC34, 0xC35, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC82, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD02, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F1, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191D, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1D00, 0x1DE7, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BB, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23F4, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2700, 0x2701, 0x2B4D, 0x2B50, 0x2B5A, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E3C, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA698, 0xA69F, 0xA6F8, 0xA700, 0xA78F, 0xA790, 0xA794, 0xA7A0, 0xA7AB, 0xA7F8, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAA7C, 0xAA80, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE27, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018B, 0x10190, 0x1019C, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x1031F, 0x10320, 0x10324, 0x10330, 0x1034B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x10860, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10A80, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B80, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x11080, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11180, 0x111C9, 0x111D0, 0x111DA, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x12000, 0x1236F, 0x12400, 0x12463, 0x12470, 0x12474, 0x13000, 0x1342F, 0x16800, 0x16A39, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1B000, 0x1B002, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0E0, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F321, 0x1F330, 0x1F336, 0x1F337, 0x1F37D, 0x1F380, 0x1F394, 0x1F3A0, 0x1F3C5, 0x1F3C6, 0x1F3CB, 0x1F3E0, 0x1F3F1, 0x1F400, 0x1F43F, 0x1F440, 0x1F441, 0x1F442, 0x1F4F8, 0x1F4F9, 0x1F4FD, 0x1F500, 0x1F53E, 0x1F540, 0x1F544, 0x1F550, 0x1F568, 0x1F5FB, 0x1F641, 0x1F645, 0x1F650, 0x1F680, 0x1F6C6, 0x1F700, 0x1F774, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__7_invlist[] = { /* for all charsets */ 1220, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8B3, 0x8E4, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5A, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD01, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD60, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F5, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1CF8, 0x1CFA, 0x1D00, 0x1DF6, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BE, 0x20D0, 0x20F1, 0x2100, 0x218A, 0x2190, 0x23FB, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BBA, 0x2BBD, 0x2BC9, 0x2BCA, 0x2BD2, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E43, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FCD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA69E, 0xA69F, 0xA6F8, 0xA700, 0xA78F, 0xA790, 0xA7AE, 0xA7B0, 0xA7B2, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FC, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB60, 0xAB64, 0xAB66, 0xABC0, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE2E, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018D, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x10900, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11150, 0x11177, 0x11180, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x111DB, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11301, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115CA, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11AC0, 0x11AF9, 0x12000, 0x12399, 0x12400, 0x1246F, 0x12470, 0x12475, 0x13000, 0x1342F, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1B000, 0x1B002, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1DE, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F32D, 0x1F330, 0x1F37E, 0x1F380, 0x1F3CF, 0x1F3D4, 0x1F3F8, 0x1F400, 0x1F4FF, 0x1F500, 0x1F54B, 0x1F550, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, 0x1F643, 0x1F645, 0x1F6D0, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6F4, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__8_invlist[] = { /* for all charsets */ 1246, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8B5, 0x8E3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xAFA, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC80, 0xC81, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD01, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD76, 0xD79, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1CF8, 0x1CFA, 0x1D00, 0x1DF6, 0x1DFC, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BF, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x23FB, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BBA, 0x2BBD, 0x2BC9, 0x2BCA, 0x2BD2, 0x2BEC, 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E43, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FD6, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7AE, 0xA7B0, 0xA7B8, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C5, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FE, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB66, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018D, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x11700, 0x1171A, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11AC0, 0x11AF9, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x1B000, 0x1B002, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F19B, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23B, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F57A, 0x1F57B, 0x1F5A4, 0x1F5A5, 0x1F6D1, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6F4, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F910, 0x1F919, 0x1F980, 0x1F985, 0x1F9C0, 0x1F9C1, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_IN__9_invlist[] = { /* for all charsets */ 1296, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x560, 0x561, 0x588, 0x589, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5F0, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x800, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x8A0, 0x8B5, 0x8B6, 0x8BE, 0x8D4, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FC, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xAFA, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC04, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC78, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD01, 0xD04, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD82, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE87, 0xE89, 0xE8A, 0xE8B, 0xE8D, 0xE8E, 0xE94, 0xE98, 0xE99, 0xEA0, 0xEA1, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEA8, 0xEAA, 0xEAC, 0xEAD, 0xEBA, 0xEBB, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1878, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1ABF, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1CC0, 0x1CC8, 0x1CD0, 0x1CF7, 0x1CF8, 0x1CFA, 0x1D00, 0x1DF6, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20BF, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x23FF, 0x2400, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B98, 0x2BBA, 0x2BBD, 0x2BC9, 0x2BCA, 0x2BD2, 0x2BEC, 0x2BF0, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E45, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x312E, 0x3131, 0x318F, 0x3190, 0x31BB, 0x31C0, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x32FF, 0x3300, 0x4DB6, 0x4DC0, 0x9FD6, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7AF, 0xA7B0, 0xA7B8, 0xA7F7, 0xA82C, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8FE, 0xA900, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB66, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDD0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019C, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x10330, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A34, 0x10A38, 0x10A3B, 0x10A3F, 0x10A48, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11144, 0x11150, 0x11177, 0x11180, 0x111CE, 0x111D0, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145A, 0x1145B, 0x1145C, 0x1145D, 0x1145E, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B8, 0x116C0, 0x116CA, 0x11700, 0x1171A, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x118A0, 0x118F3, 0x118FF, 0x11900, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F45, 0x16F50, 0x16F7F, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE1, 0x17000, 0x187ED, 0x18800, 0x18AF3, 0x1B000, 0x1B002, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D300, 0x1D357, 0x1D360, 0x1D372, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94B, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F10D, 0x1F110, 0x1F12F, 0x1F130, 0x1F16C, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F300, 0x1F6D3, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6F7, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F910, 0x1F91F, 0x1F920, 0x1F928, 0x1F930, 0x1F931, 0x1F933, 0x1F93F, 0x1F940, 0x1F94C, 0x1F950, 0x1F95F, 0x1F980, 0x1F992, 0x1F9C0, 0x1F9C1, 0x1FFFE, 0x2A6D7, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2F800, 0x2FA1E, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0, 0xEFFFE, 0x110000 }; static const UV UNI_INADLAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E900, 0x1E960 }; static const UV UNI_INAHOM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11700, 0x11740 }; static const UV UNI_INANATOLIANHIEROGLYPHS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x14400, 0x14680 }; static const UV UNI_INARABIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x700 }; static const UV UNI_INARMENIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x530, 0x590 }; static const UV UNI_INAVESTAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B00, 0x10B40 }; static const UV UNI_INBALINESE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B00, 0x1B80 }; static const UV UNI_INBAMUM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA6A0, 0xA700 }; static const UV UNI_INBASSAVAH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16AD0, 0x16B00 }; static const UV UNI_INBATAK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BC0, 0x1C00 }; static const UV UNI_INBENGALI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x980, 0xA00 }; static const UV UNI_INBHAIKSUKI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11C00, 0x11C70 }; static const UV UNI_INBOPOMOFO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3100, 0x3130 }; static const UV UNI_INBRAHMI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11000, 0x11080 }; static const UV UNI_INBUGINESE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A00, 0x1A20 }; static const UV UNI_INBUHID_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1740, 0x1760 }; static const UV UNI_INCARIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x102A0, 0x102E0 }; static const UV UNI_INCAUCASIANALBANIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10530, 0x10570 }; static const UV UNI_INCHAKMA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11100, 0x11150 }; static const UV UNI_INCHAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA00, 0xAA60 }; static const UV UNI_INCHEROKEE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x13A0, 0x1400 }; static const UV UNI_INCHORASMIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10FB0, 0x10FE0 }; static const UV UNI_INCOPTIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C80, 0x2D00 }; static const UV UNI_INCUNEIFORM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12000, 0x12400 }; static const UV UNI_INCYRILLIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x400, 0x500 }; static const UV UNI_INDEVANAGARI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x980 }; static const UV UNI_INDICNUMBERFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA830, 0xA840 }; static const UV UNI_INDICSIYAQNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1EC70, 0x1ECC0 }; static const UV UNI_INDIVESAKURU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11900, 0x11960 }; static const UV UNI_INDOGRA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11800, 0x11850 }; static const UV UNI_INDUPLOYAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BC00, 0x1BCA0 }; static const UV UNI_INEGYPTIANHIEROGLYPHS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x13000, 0x13430 }; static const UV UNI_INELBASAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10500, 0x10530 }; static const UV UNI_INELYMAIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10FE0, 0x11000 }; static const UV UNI_INETHIOPIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1200, 0x1380 }; static const UV UNI_INGEORGIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A0, 0x1100 }; static const UV UNI_INGLAGOLITIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C00, 0x2C60 }; static const UV UNI_INGOTHIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10330, 0x10350 }; static const UV UNI_INGRANTHA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11300, 0x11380 }; static const UV UNI_INGREEK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x370, 0x400 }; static const UV UNI_INGUJARATI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA80, 0xB00 }; static const UV UNI_INGUNJALAGONDI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11D60, 0x11DB0 }; static const UV UNI_INGURMUKHI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA00, 0xA80 }; static const UV UNI_INHANGUL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAC00, 0xD7B0 }; static const UV UNI_INHANIFIROHINGYA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10D00, 0x10D40 }; static const UV UNI_INHANUNOO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1720, 0x1740 }; static const UV UNI_INHATRAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x108E0, 0x10900 }; static const UV UNI_INHEBREW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x590, 0x600 }; static const UV UNI_INHIRAGANA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3040, 0x30A0 }; static const UV UNI_INIDC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2FF0, 0x3000 }; static const UV UNI_INIMPERIALARAMAIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10840, 0x10860 }; static const UV UNI_ININSCRIPTIONALPAHLAVI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B60, 0x10B80 }; static const UV UNI_ININSCRIPTIONALPARTHIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B40, 0x10B60 }; static const UV UNI_INJAVANESE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA980, 0xA9E0 }; static const UV UNI_INKAITHI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11080, 0x110D0 }; static const UV UNI_INKANNADA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC80, 0xD00 }; static const UV UNI_INKATAKANA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30A0, 0x3100 }; static const UV UNI_INKHAROSHTHI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A00, 0x10A60 }; static const UV UNI_INKHITANSMALLSCRIPT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x18B00, 0x18D00 }; static const UV UNI_INKHMER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1780, 0x1800 }; static const UV UNI_INKHOJKI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11200, 0x11250 }; static const UV UNI_INKHUDAWADI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x112B0, 0x11300 }; static const UV UNI_INLAO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE80, 0xF00 }; static const UV UNI_INLEPCHA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C00, 0x1C50 }; static const UV UNI_INLIMBU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1900, 0x1950 }; static const UV UNI_INLINEARA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10600, 0x10780 }; static const UV UNI_INLISU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA4D0, 0xA500 }; static const UV UNI_INLYCIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10280, 0x102A0 }; static const UV UNI_INLYDIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10920, 0x10940 }; static const UV UNI_INMAHAJANI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11150, 0x11180 }; static const UV UNI_INMAKASAR_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11EE0, 0x11F00 }; static const UV UNI_INMALAYALAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD00, 0xD80 }; static const UV UNI_INMANDAIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x840, 0x860 }; static const UV UNI_INMANICHAEAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC0, 0x10B00 }; static const UV UNI_INMARCHEN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11C70, 0x11CC0 }; static const UV UNI_INMASARAMGONDI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11D00, 0x11D60 }; static const UV UNI_INMEDEFAIDRIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16E40, 0x16EA0 }; static const UV UNI_INMEETEIMAYEK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xABC0, 0xAC00 }; static const UV UNI_INMENDEKIKAKUI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E800, 0x1E8E0 }; static const UV UNI_INMEROITICCURSIVE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109A0, 0x10A00 }; static const UV UNI_INMIAO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16F00, 0x16FA0 }; static const UV UNI_INMODI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11600, 0x11660 }; static const UV UNI_INMONGOLIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1800, 0x18B0 }; static const UV UNI_INMRO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16A40, 0x16A70 }; static const UV UNI_INMULTANI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11280, 0x112B0 }; static const UV UNI_INMYANMAR_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1000, 0x10A0 }; static const UV UNI_INNABATAEAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10880, 0x108B0 }; static const UV UNI_INNANDINAGARI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x119A0, 0x11A00 }; static const UV UNI_INNEWA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11400, 0x11480 }; static const UV UNI_INNEWTAILUE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1980, 0x19E0 }; static const UV UNI_INNKO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7C0, 0x800 }; static const UV UNI_INNUSHU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B170, 0x1B300 }; static const UV UNI_INNYIAKENGPUACHUEHMONG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E100, 0x1E150 }; static const UV UNI_INOGHAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1680, 0x16A0 }; static const UV UNI_INOLDHUNGARIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10C80, 0x10D00 }; static const UV UNI_INOLDITALIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10300, 0x10330 }; static const UV UNI_INOLDPERMIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10350, 0x10380 }; static const UV UNI_INOLDPERSIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x103A0, 0x103E0 }; static const UV UNI_INOLDSOGDIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10F00, 0x10F30 }; static const UV UNI_INOLDTURKIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10C00, 0x10C50 }; static const UV UNI_INORIYA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB00, 0xB80 }; static const UV UNI_INOSAGE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x104B0, 0x10500 }; static const UV UNI_INOSMANYA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10480, 0x104B0 }; static const UV UNI_INPAHAWHHMONG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16B00, 0x16B90 }; static const UV UNI_INPAUCINHAU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11AC0, 0x11B00 }; static const UV UNI_INPC__BOTTOM_invlist[] = { /* for all charsets */ 287, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93C, 0x93D, 0x941, 0x945, 0x94D, 0x94E, 0x952, 0x953, 0x956, 0x958, 0x962, 0x964, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA4D, 0xA4E, 0xA51, 0xA52, 0xA75, 0xA76, 0xABC, 0xABD, 0xAC1, 0xAC5, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xB3C, 0xB3D, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB62, 0xB64, 0xC56, 0xC57, 0xC62, 0xC64, 0xCBC, 0xCBD, 0xCE2, 0xCE4, 0xD43, 0xD45, 0xD62, 0xD64, 0xDD4, 0xDD5, 0xDD6, 0xDD7, 0xE38, 0xE3B, 0xEB8, 0xEBB, 0xEBC, 0xEBD, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF71, 0xF72, 0xF74, 0xF76, 0xF84, 0xF85, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102F, 0x1031, 0x1037, 0x1038, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1082, 0x1083, 0x108D, 0x108E, 0x1713, 0x1715, 0x1733, 0x1735, 0x1753, 0x1754, 0x1773, 0x1774, 0x17BB, 0x17BE, 0x1922, 0x1923, 0x1932, 0x1933, 0x1939, 0x193A, 0x193B, 0x193C, 0x1A18, 0x1A19, 0x1A56, 0x1A57, 0x1A5B, 0x1A5F, 0x1A69, 0x1A6B, 0x1A6C, 0x1A6D, 0x1A7F, 0x1A80, 0x1B38, 0x1B3B, 0x1B6C, 0x1B6D, 0x1BA2, 0x1BA4, 0x1BA5, 0x1BA6, 0x1BAC, 0x1BAE, 0x1C2C, 0x1C2D, 0x1C37, 0x1C38, 0x1CD5, 0x1CDA, 0x1CDC, 0x1CE0, 0x1CED, 0x1CEE, 0xA825, 0xA826, 0xA82C, 0xA82D, 0xA8C4, 0xA8C5, 0xA92B, 0xA92E, 0xA947, 0xA94A, 0xA94B, 0xA94F, 0xA9B8, 0xA9BA, 0xA9BD, 0xA9BE, 0xAA2D, 0xAA2E, 0xAA32, 0xAA33, 0xAA35, 0xAA37, 0xAAB4, 0xAAB5, 0xAAEC, 0xAAED, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0x10A02, 0x10A04, 0x10A0C, 0x10A0F, 0x10A39, 0x10A3B, 0x1103C, 0x11042, 0x110B3, 0x110B5, 0x110B9, 0x110BB, 0x1112A, 0x1112C, 0x11131, 0x11133, 0x11173, 0x11174, 0x111B6, 0x111BC, 0x111C9, 0x111CB, 0x111CC, 0x111CD, 0x1122F, 0x11230, 0x112E3, 0x112E5, 0x112E9, 0x112EB, 0x1133B, 0x1133D, 0x11438, 0x1143E, 0x11442, 0x11443, 0x11446, 0x11447, 0x114B3, 0x114B9, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x11639, 0x1163F, 0x11640, 0x116B0, 0x116B2, 0x116B7, 0x116B8, 0x1171D, 0x1171E, 0x11724, 0x11726, 0x11728, 0x11729, 0x1182F, 0x11833, 0x11839, 0x1183B, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119E0, 0x119E1, 0x11A02, 0x11A04, 0x11A0A, 0x11A0B, 0x11A33, 0x11A35, 0x11A3B, 0x11A3F, 0x11A52, 0x11A54, 0x11A59, 0x11A5C, 0x11A8A, 0x11A96, 0x11C32, 0x11C37, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB3, 0x11D36, 0x11D37, 0x11D42, 0x11D43, 0x11D44, 0x11D45, 0x11D47, 0x11D48, 0x11EF4, 0x11EF5 }; static const UV UNI_INPC__BOTTOMANDLEFT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA9BF, 0xA9C0 }; static const UV UNI_INPC__BOTTOMANDRIGHT_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B3B, 0x1B3C, 0xA9BE, 0xA9BF, 0xA9C0, 0xA9C1, 0x11942, 0x11943 }; static const UV UNI_INPC__LEFT_invlist[] = { /* for all charsets */ 95, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93F, 0x940, 0x94E, 0x94F, 0x9BF, 0x9C0, 0x9C7, 0x9C9, 0xA3F, 0xA40, 0xABF, 0xAC0, 0xB47, 0xB48, 0xBC6, 0xBC9, 0xD46, 0xD49, 0xDD9, 0xDDA, 0xDDB, 0xDDC, 0xF3F, 0xF40, 0x1031, 0x1032, 0x1084, 0x1085, 0x17C1, 0x17C4, 0x1A19, 0x1A1A, 0x1A55, 0x1A56, 0x1A6E, 0x1A73, 0x1B3E, 0x1B40, 0x1BA6, 0x1BA7, 0x1C27, 0x1C29, 0x1C34, 0x1C36, 0xA9BA, 0xA9BC, 0xAA2F, 0xAA31, 0xAA34, 0xAA35, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAEF, 0x110B1, 0x110B2, 0x1112C, 0x1112D, 0x111B4, 0x111B5, 0x111CE, 0x111CF, 0x112E1, 0x112E2, 0x11347, 0x11349, 0x11436, 0x11437, 0x114B1, 0x114B2, 0x114B9, 0x114BA, 0x115B0, 0x115B1, 0x115B8, 0x115B9, 0x116AE, 0x116AF, 0x11726, 0x11727, 0x1182D, 0x1182E, 0x11935, 0x11936, 0x11937, 0x11938, 0x119D2, 0x119D3, 0x119E4, 0x119E5, 0x11CB1, 0x11CB2, 0x11EF5, 0x11EF6 }; static const UV UNI_INPC__LEFTANDRIGHT_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9CB, 0x9CD, 0xB4B, 0xB4C, 0xBCA, 0xBCD, 0xD4A, 0xD4D, 0xDDC, 0xDDD, 0xDDE, 0xDDF, 0x17C0, 0x17C1, 0x17C4, 0x17C6, 0x1B40, 0x1B42, 0x1134B, 0x1134D, 0x114BC, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BB, 0x11938, 0x11939 }; static const UV UNI_INPC__NA_invlist[] = { /* for all charsets */ 421, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE30, 0xE3B, 0xE40, 0xE46, 0xE47, 0xE4F, 0xEB0, 0xEBD, 0xEC0, 0xEC5, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x1039, 0x103A, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B6, 0x17D2, 0x17D3, 0x17D4, 0x17DD, 0x17DE, 0x1920, 0x192C, 0x1930, 0x193C, 0x19B0, 0x19C1, 0x19C8, 0x19CA, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A61, 0x1A7D, 0x1A7F, 0x1A80, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAB, 0x1BAC, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CF8, 0x1DFB, 0x1DFC, 0x20F0, 0x20F1, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA92B, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF6, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x11000, 0x11003, 0x11038, 0x11047, 0x11080, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11133, 0x11134, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C2, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193E, 0x1193F, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3F, 0x11A51, 0x11A5C, 0x11A84, 0x11A99, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D45, 0x11D46, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D97, 0x11EF3, 0x11EF7 }; static const UV UNI_INPC__OVERSTRUCK_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1CD4, 0x1CD5, 0x1CE2, 0x1CE9, 0x10A01, 0x10A02, 0x10A06, 0x10A07 }; static const UV UNI_INPC__RIGHT_invlist[] = { /* for all charsets */ 329, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x903, 0x904, 0x93B, 0x93C, 0x93E, 0x93F, 0x940, 0x941, 0x949, 0x94D, 0x94F, 0x950, 0x982, 0x984, 0x9BE, 0x9BF, 0x9C0, 0x9C1, 0x9D7, 0x9D8, 0xA03, 0xA04, 0xA3E, 0xA3F, 0xA40, 0xA41, 0xA83, 0xA84, 0xABE, 0xABF, 0xAC0, 0xAC1, 0xACB, 0xACD, 0xB02, 0xB04, 0xB3E, 0xB3F, 0xB40, 0xB41, 0xBBE, 0xBC0, 0xBC1, 0xBC3, 0xBD7, 0xBD8, 0xC01, 0xC04, 0xC41, 0xC45, 0xC82, 0xC84, 0xCBE, 0xCBF, 0xCC1, 0xCC5, 0xCD5, 0xCD7, 0xD02, 0xD04, 0xD3E, 0xD43, 0xD57, 0xD58, 0xD82, 0xD84, 0xDCF, 0xDD2, 0xDD8, 0xDD9, 0xDDF, 0xDE0, 0xDF2, 0xDF4, 0xE30, 0xE31, 0xE32, 0xE34, 0xE45, 0xE46, 0xEB0, 0xEB1, 0xEB2, 0xEB4, 0xF3E, 0xF3F, 0xF7F, 0xF80, 0x102B, 0x102D, 0x1038, 0x1039, 0x103B, 0x103C, 0x1056, 0x1058, 0x1062, 0x1065, 0x1067, 0x106E, 0x1083, 0x1084, 0x1087, 0x108D, 0x108F, 0x1090, 0x109A, 0x109D, 0x17B6, 0x17B7, 0x17C7, 0x17C9, 0x1923, 0x1925, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x19B0, 0x19B5, 0x19B8, 0x19BA, 0x19BB, 0x19C1, 0x19C8, 0x19CA, 0x1A1A, 0x1A1B, 0x1A57, 0x1A58, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A6E, 0x1B04, 0x1B05, 0x1B35, 0x1B36, 0x1B44, 0x1B45, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA7, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C27, 0x1C2A, 0x1C2C, 0x1CE1, 0x1CE2, 0x1CF7, 0x1CF8, 0xA823, 0xA825, 0xA827, 0xA828, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA952, 0xA954, 0xA983, 0xA984, 0xA9B4, 0xA9B6, 0xAA33, 0xAA34, 0xAA4D, 0xAA4E, 0xAA7B, 0xAA7C, 0xAA7D, 0xAA7E, 0xAAB1, 0xAAB2, 0xAABA, 0xAABB, 0xAABD, 0xAABE, 0xAAEF, 0xAAF0, 0xAAF5, 0xAAF6, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0x11000, 0x11001, 0x11002, 0x11003, 0x11082, 0x11083, 0x110B0, 0x110B1, 0x110B2, 0x110B3, 0x110B7, 0x110B9, 0x11145, 0x11147, 0x11182, 0x11183, 0x111B3, 0x111B4, 0x111B5, 0x111B6, 0x111C0, 0x111C1, 0x1122C, 0x1122F, 0x11235, 0x11236, 0x112E0, 0x112E1, 0x112E2, 0x112E3, 0x11302, 0x11304, 0x1133E, 0x11340, 0x11341, 0x11345, 0x1134D, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11435, 0x11436, 0x11437, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x114B0, 0x114B1, 0x114B2, 0x114B3, 0x114BD, 0x114BE, 0x114C1, 0x114C2, 0x115AF, 0x115B0, 0x115B1, 0x115B2, 0x115BE, 0x115BF, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x116AC, 0x116AD, 0x116AF, 0x116B0, 0x116B6, 0x116B7, 0x11720, 0x11722, 0x1182C, 0x1182D, 0x1182E, 0x1182F, 0x11838, 0x11839, 0x11930, 0x11935, 0x1193D, 0x1193E, 0x11940, 0x11941, 0x119D1, 0x119D2, 0x119D3, 0x119D4, 0x119DC, 0x119E0, 0x11A39, 0x11A3A, 0x11A57, 0x11A59, 0x11A97, 0x11A98, 0x11C2F, 0x11C30, 0x11C3E, 0x11C3F, 0x11CA9, 0x11CAA, 0x11CB4, 0x11CB5, 0x11D46, 0x11D47, 0x11D8A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11EF6, 0x11EF7 }; static const UV UNI_INPC__TOP_invlist[] = { /* for all charsets */ 387, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x903, 0x93A, 0x93B, 0x945, 0x949, 0x951, 0x952, 0x953, 0x956, 0x981, 0x982, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xA70, 0xA72, 0xA81, 0xA83, 0xAC5, 0xAC6, 0xAC7, 0xAC9, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3F, 0xB40, 0xB55, 0xB57, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC48, 0xC4A, 0xC4E, 0xC55, 0xC56, 0xC81, 0xC82, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD4D, 0xD4F, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD4, 0xE31, 0xE32, 0xE34, 0xE38, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEB8, 0xEBB, 0xEBC, 0xEC8, 0xECE, 0xF39, 0xF3A, 0xF72, 0xF73, 0xF7A, 0xF7F, 0xF80, 0xF81, 0xF82, 0xF84, 0xF86, 0xF88, 0x102D, 0x102F, 0x1032, 0x1037, 0x103A, 0x103B, 0x1071, 0x1075, 0x1085, 0x1087, 0x109D, 0x109E, 0x1712, 0x1713, 0x1732, 0x1733, 0x1752, 0x1753, 0x1772, 0x1773, 0x17B7, 0x17BB, 0x17C6, 0x17C7, 0x17C9, 0x17D2, 0x17D3, 0x17D4, 0x17DD, 0x17DE, 0x1920, 0x1922, 0x1927, 0x1929, 0x193A, 0x193B, 0x1A17, 0x1A18, 0x1A1B, 0x1A1C, 0x1A58, 0x1A5B, 0x1A62, 0x1A63, 0x1A65, 0x1A69, 0x1A6B, 0x1A6C, 0x1A73, 0x1A7D, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B38, 0x1B42, 0x1B43, 0x1B6B, 0x1B6C, 0x1B6D, 0x1B74, 0x1B80, 0x1B82, 0x1BA4, 0x1BA5, 0x1BA8, 0x1BAA, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2D, 0x1C34, 0x1C36, 0x1C37, 0x1CD0, 0x1CD3, 0x1CDA, 0x1CDC, 0x1CE0, 0x1CE1, 0x1CF4, 0x1CF5, 0x1DFB, 0x1DFC, 0x20F0, 0x20F1, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA826, 0xA827, 0xA8C5, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA94A, 0xA94B, 0xA94F, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9B8, 0xA9BC, 0xA9BD, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2D, 0xAA2E, 0xAA2F, 0xAA31, 0xAA32, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB4, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAED, 0xAAEE, 0xABE5, 0xABE6, 0x10A05, 0x10A06, 0x10A0F, 0x10A10, 0x10A38, 0x10A39, 0x11001, 0x11002, 0x11038, 0x1103C, 0x11042, 0x11047, 0x11080, 0x11082, 0x110B5, 0x110B7, 0x11100, 0x11103, 0x11127, 0x1112A, 0x1112D, 0x1112E, 0x11130, 0x11131, 0x11134, 0x11135, 0x11180, 0x11182, 0x111BC, 0x111BF, 0x111C2, 0x111C4, 0x111CB, 0x111CC, 0x111CF, 0x111D0, 0x11230, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E5, 0x112E9, 0x11300, 0x11302, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x1143E, 0x11440, 0x11443, 0x11445, 0x1145E, 0x1145F, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x115BC, 0x115BE, 0x11639, 0x1163B, 0x1163D, 0x1163E, 0x11640, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B2, 0x116B6, 0x1171F, 0x11720, 0x11722, 0x11724, 0x11727, 0x11728, 0x11729, 0x1172C, 0x11833, 0x11838, 0x1193B, 0x1193D, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119DA, 0x119DC, 0x11A01, 0x11A02, 0x11A04, 0x11A0A, 0x11A35, 0x11A39, 0x11A3A, 0x11A3B, 0x11A51, 0x11A52, 0x11A54, 0x11A57, 0x11A84, 0x11A8A, 0x11A96, 0x11A97, 0x11A98, 0x11A99, 0x11C30, 0x11C32, 0x11C38, 0x11C3E, 0x11CB3, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D36, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D42, 0x11D43, 0x11D44, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11EF3, 0x11EF4 }; static const UV UNI_INPC__TOPANDBOTTOM_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC48, 0xC49, 0xF73, 0xF74, 0xF76, 0xF7A, 0xF81, 0xF82, 0x1B3C, 0x1B3D, 0x1112E, 0x11130 }; static const UV UNI_INPC__TOPANDBOTTOMANDLEFT_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x103C, 0x103D, 0x1171E, 0x1171F }; static const UV UNI_INPC__TOPANDBOTTOMANDRIGHT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B3D, 0x1B3E }; static const UV UNI_INPC__TOPANDLEFT_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB48, 0xB49, 0xDDA, 0xDDB, 0x17BE, 0x17BF, 0x1C29, 0x1C2A, 0x114BB, 0x114BC, 0x115B9, 0x115BA }; static const UV UNI_INPC__TOPANDLEFTANDRIGHT_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB4C, 0xB4D, 0xDDD, 0xDDE, 0x17BF, 0x17C0, 0x115BB, 0x115BC }; static const UV UNI_INPC__TOPANDRIGHT_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAC9, 0xACA, 0xB57, 0xB58, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0x1925, 0x1927, 0x1B43, 0x1B44, 0x111BF, 0x111C0, 0x11232, 0x11234 }; static const UV UNI_INPHAGSPA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA840, 0xA880 }; static const UV UNI_INPHOENICIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10900, 0x10920 }; static const UV UNI_INPSALTERPAHLAVI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B80, 0x10BB0 }; static const UV UNI_INPUNCTUATION_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2000, 0x2070 }; static const UV UNI_INREJANG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA930, 0xA960 }; static const UV UNI_INRUNIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16A0, 0x1700 }; static const UV UNI_INSAMARITAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x800, 0x840 }; static const UV UNI_INSAURASHTRA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA880, 0xA8E0 }; static const UV UNI_INSC__AVAGRAHA_invlist[] = { /* for all charsets */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93D, 0x93E, 0x9BD, 0x9BE, 0xABD, 0xABE, 0xB3D, 0xB3E, 0xC3D, 0xC3E, 0xCBD, 0xCBE, 0xD3D, 0xD3E, 0xF85, 0xF86, 0x17DC, 0x17DD, 0x1BBA, 0x1BBB, 0x111C1, 0x111C2, 0x1133D, 0x1133E, 0x11447, 0x11448, 0x114C4, 0x114C5, 0x119E1, 0x119E2, 0x11A9D, 0x11A9E, 0x11C40, 0x11C41 }; static const UV UNI_INSC__BINDU_invlist[] = { /* for all charsets */ 113, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x903, 0x981, 0x983, 0x9FC, 0x9FD, 0xA01, 0xA03, 0xA70, 0xA71, 0xA81, 0xA83, 0xB01, 0xB03, 0xB82, 0xB83, 0xC00, 0xC03, 0xC04, 0xC05, 0xC80, 0xC83, 0xD00, 0xD03, 0xD04, 0xD05, 0xD81, 0xD83, 0xE4D, 0xE4E, 0xECD, 0xECE, 0xF7E, 0xF7F, 0xF82, 0xF84, 0x1036, 0x1037, 0x17C6, 0x17C7, 0x1932, 0x1933, 0x1A74, 0x1A75, 0x1B00, 0x1B03, 0x1B80, 0x1B81, 0x1C34, 0x1C36, 0xA80B, 0xA80C, 0xA873, 0xA874, 0xA880, 0xA881, 0xA8C5, 0xA8C6, 0xA8F2, 0xA8F4, 0xA980, 0xA982, 0x10A0E, 0x10A0F, 0x11000, 0x11002, 0x11080, 0x11082, 0x11100, 0x11102, 0x11180, 0x11182, 0x111CF, 0x111D0, 0x11234, 0x11235, 0x112DF, 0x112E0, 0x11300, 0x11303, 0x1135E, 0x11360, 0x11443, 0x11445, 0x1145F, 0x11460, 0x114BF, 0x114C1, 0x115BC, 0x115BE, 0x1163D, 0x1163E, 0x116AB, 0x116AC, 0x11837, 0x11838, 0x1193B, 0x1193D, 0x119DE, 0x119DF, 0x11A35, 0x11A39, 0x11A96, 0x11A97, 0x11C3C, 0x11C3E, 0x11CB5, 0x11CB7, 0x11D40, 0x11D41, 0x11D95, 0x11D96 }; static const UV UNI_INSC__BRAHMIJOININGNUMBER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11052, 0x11066 }; static const UV UNI_INSC__CANTILLATIONMARK_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0xA51, 0xA52, 0xAFA, 0xAFD, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE2, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x20F0, 0x20F1, 0xA8E0, 0xA8F2, 0x1123E, 0x1123F, 0x11366, 0x1136D, 0x11370, 0x11375 }; static const UV UNI_INSC__CONSONANT_invlist[] = { /* for all charsets */ 307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x915, 0x93A, 0x958, 0x960, 0x978, 0x980, 0x995, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0x9F0, 0x9F2, 0xA15, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA95, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xAF9, 0xAFA, 0xB15, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB5C, 0xB5E, 0xB5F, 0xB60, 0xB71, 0xB72, 0xB95, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xC15, 0xC29, 0xC2A, 0xC3A, 0xC58, 0xC5B, 0xC95, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCDE, 0xCDF, 0xD15, 0xD3B, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE2F, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEAF, 0xEDC, 0xEE0, 0xF40, 0xF48, 0xF49, 0xF6D, 0x1000, 0x1021, 0x103F, 0x1040, 0x1050, 0x1052, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1703, 0x170D, 0x170E, 0x1712, 0x1723, 0x1732, 0x1743, 0x1752, 0x1763, 0x176D, 0x176E, 0x1771, 0x1780, 0x17A3, 0x1901, 0x191F, 0x1950, 0x1963, 0x1980, 0x19AC, 0x1A00, 0x1A17, 0x1A20, 0x1A4D, 0x1A53, 0x1A55, 0x1B13, 0x1B34, 0x1B45, 0x1B4C, 0x1B8A, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBB, 0x1BBE, 0x1BC0, 0x1BE4, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA85E, 0xA862, 0xA866, 0xA869, 0xA871, 0xA872, 0xA873, 0xA892, 0xA8B4, 0xA90A, 0xA922, 0xA930, 0xA947, 0xA989, 0xA98C, 0xA98F, 0xA9B3, 0xA9E0, 0xA9E5, 0xA9E7, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA06, 0xAA29, 0xAA60, 0xAA70, 0xAA71, 0xAA74, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAE2, 0xAAEB, 0xABC0, 0xABCE, 0xABD0, 0xABD1, 0xABD2, 0xABDB, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x11013, 0x11038, 0x1108D, 0x110B0, 0x11107, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11155, 0x11173, 0x11191, 0x111B3, 0x11208, 0x11212, 0x11213, 0x1122C, 0x11284, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112BA, 0x112DF, 0x11315, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1140E, 0x11435, 0x1148F, 0x114B0, 0x1158E, 0x115AF, 0x1160E, 0x11630, 0x1168A, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x1180A, 0x1182C, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x119AE, 0x119D1, 0x11A0B, 0x11A33, 0x11A5C, 0x11A84, 0x11C0E, 0x11C2F, 0x11C72, 0x11C90, 0x11D0C, 0x11D31, 0x11D6C, 0x11D8A, 0x11EE0, 0x11EF2 }; static const UV UNI_INSC__CONSONANTDEAD_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9CE, 0x9CF, 0xD54, 0xD57, 0xD7A, 0xD80, 0x1CF2, 0x1CF4 }; static const UV UNI_INSC__CONSONANTFINAL_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1930, 0x1932, 0x1933, 0x193A, 0x19C1, 0x19C8, 0x1A58, 0x1A5A, 0x1BBE, 0x1BC0, 0x1BF0, 0x1BF2, 0x1C2D, 0x1C34, 0xA94F, 0xA953, 0xAA40, 0xAA4E, 0xABDB, 0xABE3, 0x11A8A, 0x11A96 }; static const UV UNI_INSC__CONSONANTHEADLETTER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF88, 0xF8D }; static const UV UNI_INSC__CONSONANTINITIALPOSTFIXED_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A5A, 0x1A5B }; static const UV UNI_INSC__CONSONANTKILLER_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE4C, 0xE4D, 0x17CD, 0x17CE }; static const UV UNI_INSC__CONSONANTMEDIAL_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA75, 0xA76, 0xEBC, 0xEBE, 0x103B, 0x103F, 0x105E, 0x1061, 0x1082, 0x1083, 0x1A55, 0x1A57, 0xA8B4, 0xA8B5, 0xA9BD, 0xA9C0, 0xAA33, 0xAA37, 0x1171D, 0x11720, 0x11940, 0x11941, 0x11942, 0x11943, 0x11A3B, 0x11A3F, 0x11D47, 0x11D48 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for ASCII/Latin1 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E, 0xA0, 0xA1, 0xD7, 0xD8, 0x980, 0x981, 0xA72, 0xA74, 0x104B, 0x104C, 0x104E, 0x104F, 0x1900, 0x1901, 0x1CFA, 0x1CFB, 0x2010, 0x2015, 0x25CC, 0x25CD, 0xAA74, 0xAA77, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11EF2, 0x11EF3 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for EBCDIC 1047 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x60, 0x61, 0xBF, 0xC0, 0x980, 0x981, 0xA72, 0xA74, 0x104B, 0x104C, 0x104E, 0x104F, 0x1900, 0x1901, 0x1CFA, 0x1CFB, 0x2010, 0x2015, 0x25CC, 0x25CD, 0xAA74, 0xAA77, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11EF2, 0x11EF3 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for EBCDIC 037 */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x60, 0x61, 0xBF, 0xC0, 0x980, 0x981, 0xA72, 0xA74, 0x104B, 0x104C, 0x104E, 0x104F, 0x1900, 0x1901, 0x1CFA, 0x1CFB, 0x2010, 0x2015, 0x25CC, 0x25CD, 0xAA74, 0xAA77, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11EF2, 0x11EF3 }; # endif /* EBCDIC 037 */ static const UV UNI_INSC__CONSONANTPRECEDINGREPHA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD4E, 0xD4F, 0x11941, 0x11942, 0x11D46, 0x11D47 }; static const UV UNI_INSC__CONSONANTPREFIXED_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x111C2, 0x111C4, 0x1193F, 0x11940, 0x11A3A, 0x11A3B, 0x11A84, 0x11A8A }; static const UV UNI_INSC__CONSONANTSUBJOINED_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF8D, 0xF98, 0xF99, 0xFBD, 0x1929, 0x192C, 0x1A57, 0x1A58, 0x1A5B, 0x1A5F, 0x1BA1, 0x1BA4, 0x1BAC, 0x1BAE, 0x1C24, 0x1C26, 0xA867, 0xA869, 0xA871, 0xA872, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB0 }; static const UV UNI_INSC__CONSONANTSUCCEEDINGREPHA_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x17CC, 0x17CD, 0x1B03, 0x1B04, 0x1B81, 0x1B82, 0xA982, 0xA983 }; static const UV UNI_INSC__CONSONANTWITHSTACKER_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCF1, 0xCF3, 0x1CF5, 0x1CF7, 0x11003, 0x11005, 0x11460, 0x11462 }; static const UV UNI_INSC__GEMINATIONMARK_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA71, 0xA72, 0x11237, 0x11238, 0x11A98, 0x11A99 }; static const UV UNI_INSC__INVISIBLESTACKER_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1039, 0x103A, 0x17D2, 0x17D3, 0x1A60, 0x1A61, 0x1BAB, 0x1BAC, 0xAAF6, 0xAAF7, 0x10A3F, 0x10A40, 0x11133, 0x11134, 0x1193E, 0x1193F, 0x11A47, 0x11A48, 0x11A99, 0x11A9A, 0x11D45, 0x11D46, 0x11D97, 0x11D98 }; static const UV UNI_INSC__MODIFYINGLETTER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB83, 0xB84 }; static const UV UNI_INSC__NONJOINER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x200C, 0x200D }; static const UV UNI_INSC__NUKTA_invlist[] = { /* for all charsets */ 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93C, 0x93D, 0x9BC, 0x9BD, 0xA3C, 0xA3D, 0xABC, 0xABD, 0xAFD, 0xB00, 0xB3C, 0xB3D, 0xCBC, 0xCBD, 0xF39, 0xF3A, 0x1B34, 0x1B35, 0x1BE6, 0x1BE7, 0x1C37, 0x1C38, 0xA9B3, 0xA9B4, 0x10A38, 0x10A3B, 0x110BA, 0x110BB, 0x11173, 0x11174, 0x111CA, 0x111CB, 0x11236, 0x11237, 0x112E9, 0x112EA, 0x1133B, 0x1133D, 0x11446, 0x11447, 0x114C3, 0x114C4, 0x115C0, 0x115C1, 0x116B7, 0x116B8, 0x1183A, 0x1183B, 0x11943, 0x11944, 0x11D42, 0x11D43 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__NUMBER_invlist[] = { /* for ASCII/Latin1 */ 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x10A40, 0x10A49, 0x11066, 0x11070, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 1047 */ 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x10A40, 0x10A49, 0x11066, 0x11070, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__NUMBER_invlist[] = { /* for EBCDIC 037 */ 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x10A40, 0x10A49, 0x11066, 0x11070, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA }; # endif /* EBCDIC 037 */ static const UV UNI_INSC__NUMBERJOINER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1107F, 0x11080 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */ 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E, 0x30, 0x3A, 0xA0, 0xA1, 0xB2, 0xB4, 0xD7, 0xD8, 0x900, 0x950, 0x951, 0x953, 0x955, 0x964, 0x966, 0x970, 0x972, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA74, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE2F, 0xE30, 0xE3B, 0xE40, 0xE46, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEAF, 0xEB0, 0xEBE, 0xEC0, 0xEC5, 0xEC8, 0xECC, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF86, 0xF88, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x104B, 0x104C, 0x104E, 0x104F, 0x1050, 0x109E, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17D4, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE2, 0x1CF2, 0x1CFB, 0x1DFB, 0x1DFC, 0x200C, 0x200E, 0x2010, 0x2015, 0x2074, 0x2075, 0x2082, 0x2085, 0x20F0, 0x20F1, 0x25CC, 0x25CD, 0xA800, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F4, 0xA8FE, 0xA92E, 0xA930, 0xA954, 0xA980, 0xA9C1, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E6, 0xA9E7, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAAC3, 0xAAE0, 0xAAF0, 0xAAF5, 0xAAF7, 0xABC0, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x11000, 0x11047, 0x11052, 0x11070, 0x1107F, 0x110BB, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111DA, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x1135E, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11448, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11481, 0x114C5, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173C, 0x11800, 0x1183B, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E4, 0x119E5, 0x11A00, 0x11A40, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C6D, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */ 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x60, 0x61, 0xBF, 0xC0, 0xEA, 0xEB, 0xF0, 0xFB, 0x900, 0x950, 0x951, 0x953, 0x955, 0x964, 0x966, 0x970, 0x972, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA74, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE2F, 0xE30, 0xE3B, 0xE40, 0xE46, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEAF, 0xEB0, 0xEBE, 0xEC0, 0xEC5, 0xEC8, 0xECC, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF86, 0xF88, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x104B, 0x104C, 0x104E, 0x104F, 0x1050, 0x109E, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17D4, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE2, 0x1CF2, 0x1CFB, 0x1DFB, 0x1DFC, 0x200C, 0x200E, 0x2010, 0x2015, 0x2074, 0x2075, 0x2082, 0x2085, 0x20F0, 0x20F1, 0x25CC, 0x25CD, 0xA800, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F4, 0xA8FE, 0xA92E, 0xA930, 0xA954, 0xA980, 0xA9C1, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E6, 0xA9E7, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAAC3, 0xAAE0, 0xAAF0, 0xAAF5, 0xAAF7, 0xABC0, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x11000, 0x11047, 0x11052, 0x11070, 0x1107F, 0x110BB, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111DA, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x1135E, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11448, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11481, 0x114C5, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173C, 0x11800, 0x1183B, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E4, 0x119E5, 0x11A00, 0x11A40, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C6D, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */ 643, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x60, 0x61, 0xBF, 0xC0, 0xEA, 0xEB, 0xF0, 0xFB, 0x900, 0x950, 0x951, 0x953, 0x955, 0x964, 0x966, 0x970, 0x972, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA74, 0xA75, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE2F, 0xE30, 0xE3B, 0xE40, 0xE46, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEAF, 0xEB0, 0xEBE, 0xEC0, 0xEC5, 0xEC8, 0xECC, 0xECD, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF86, 0xF88, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x104B, 0x104C, 0x104E, 0x104F, 0x1050, 0x109E, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17B4, 0x17B6, 0x17D4, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C50, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE2, 0x1CF2, 0x1CFB, 0x1DFB, 0x1DFC, 0x200C, 0x200E, 0x2010, 0x2015, 0x2074, 0x2075, 0x2082, 0x2085, 0x20F0, 0x20F1, 0x25CC, 0x25CD, 0xA800, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F4, 0xA8FE, 0xA92E, 0xA930, 0xA954, 0xA980, 0xA9C1, 0xA9D0, 0xA9DA, 0xA9E0, 0xA9E6, 0xA9E7, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAAC3, 0xAAE0, 0xAAF0, 0xAAF5, 0xAAF7, 0xABC0, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x11000, 0x11047, 0x11052, 0x11070, 0x1107F, 0x110BB, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11180, 0x111C4, 0x111C9, 0x111CD, 0x111CE, 0x111DA, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x1135E, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x11448, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11481, 0x114C5, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173C, 0x11800, 0x1183B, 0x11900, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E4, 0x119E5, 0x11A00, 0x11A40, 0x11A45, 0x11A46, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C6D, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7 }; # endif /* EBCDIC 037 */ static const UV UNI_INSC__PUREKILLER_invlist[] = { /* for all charsets */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD3B, 0xD3D, 0xE3A, 0xE3B, 0xE4E, 0xE4F, 0xEBA, 0xEBB, 0xF84, 0xF85, 0x103A, 0x103B, 0x1714, 0x1715, 0x1734, 0x1735, 0x17D1, 0x17D2, 0x1A7A, 0x1A7B, 0x1BAA, 0x1BAB, 0x1BF2, 0x1BF4, 0xA82C, 0xA82D, 0xA953, 0xA954, 0xABED, 0xABEE, 0x11134, 0x11135, 0x112EA, 0x112EB, 0x1172B, 0x1172C, 0x1193D, 0x1193E, 0x11A34, 0x11A35, 0x11D44, 0x11D45 }; static const UV UNI_INSC__REGISTERSHIFTER_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x17C9, 0x17CB }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_INSC__SYLLABLEMODIFIER_invlist[] = { /* for ASCII/Latin1 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB2, 0xB4, 0x9FE, 0x9FF, 0xF35, 0xF36, 0xF37, 0xF38, 0xFC6, 0xFC7, 0x17CB, 0x17CC, 0x17CE, 0x17D1, 0x17D3, 0x17D4, 0x17DD, 0x17DE, 0x193B, 0x193C, 0x1A7B, 0x1A7D, 0x1A7F, 0x1A80, 0x1C36, 0x1C37, 0x1DFB, 0x1DFC, 0x2074, 0x2075, 0x2082, 0x2085, 0x111C9, 0x111CA, 0x1145E, 0x1145F, 0x11A33, 0x11A34 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_INSC__SYLLABLEMODIFIER_invlist[] = { /* for EBCDIC 1047 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEA, 0xEB, 0xFA, 0xFB, 0x9FE, 0x9FF, 0xF35, 0xF36, 0xF37, 0xF38, 0xFC6, 0xFC7, 0x17CB, 0x17CC, 0x17CE, 0x17D1, 0x17D3, 0x17D4, 0x17DD, 0x17DE, 0x193B, 0x193C, 0x1A7B, 0x1A7D, 0x1A7F, 0x1A80, 0x1C36, 0x1C37, 0x1DFB, 0x1DFC, 0x2074, 0x2075, 0x2082, 0x2085, 0x111C9, 0x111CA, 0x1145E, 0x1145F, 0x11A33, 0x11A34 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_INSC__SYLLABLEMODIFIER_invlist[] = { /* for EBCDIC 037 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEA, 0xEB, 0xFA, 0xFB, 0x9FE, 0x9FF, 0xF35, 0xF36, 0xF37, 0xF38, 0xFC6, 0xFC7, 0x17CB, 0x17CC, 0x17CE, 0x17D1, 0x17D3, 0x17D4, 0x17DD, 0x17DE, 0x193B, 0x193C, 0x1A7B, 0x1A7D, 0x1A7F, 0x1A80, 0x1C36, 0x1C37, 0x1DFB, 0x1DFC, 0x2074, 0x2075, 0x2082, 0x2085, 0x111C9, 0x111CA, 0x1145E, 0x1145F, 0x11A33, 0x11A34 }; # endif /* EBCDIC 037 */ static const UV UNI_INSC__TONELETTER_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1970, 0x1975, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3 }; static const UV UNI_INSC__TONEMARK_invlist[] = { /* for all charsets */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE48, 0xE4C, 0xEC8, 0xECC, 0x1037, 0x1038, 0x1063, 0x1065, 0x1069, 0x106E, 0x1087, 0x108E, 0x108F, 0x1090, 0x109A, 0x109C, 0x19C8, 0x19CA, 0x1A75, 0x1A7A, 0xA92B, 0xA92E, 0xAA7B, 0xAA7E, 0xAABF, 0xAAC0, 0xAAC1, 0xAAC2, 0xABEC, 0xABED }; static const UV UNI_INSC__VIRAMA_invlist[] = { /* for all charsets */ 55, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x94D, 0x94E, 0x9CD, 0x9CE, 0xA4D, 0xA4E, 0xACD, 0xACE, 0xB4D, 0xB4E, 0xBCD, 0xBCE, 0xC4D, 0xC4E, 0xCCD, 0xCCE, 0xD4D, 0xD4E, 0xDCA, 0xDCB, 0x1B44, 0x1B45, 0xA806, 0xA807, 0xA8C4, 0xA8C5, 0xA9C0, 0xA9C1, 0x11046, 0x11047, 0x110B9, 0x110BA, 0x111C0, 0x111C1, 0x11235, 0x11236, 0x1134D, 0x1134E, 0x11442, 0x11443, 0x114C2, 0x114C3, 0x115BF, 0x115C0, 0x1163F, 0x11640, 0x116B6, 0x116B7, 0x11839, 0x1183A, 0x119E0, 0x119E1, 0x11C3F, 0x11C40 }; static const UV UNI_INSC__VISARGA_invlist[] = { /* for all charsets */ 71, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x903, 0x904, 0x983, 0x984, 0xA03, 0xA04, 0xA83, 0xA84, 0xB03, 0xB04, 0xC03, 0xC04, 0xC83, 0xC84, 0xD03, 0xD04, 0xD83, 0xD84, 0xF7F, 0xF80, 0x1038, 0x1039, 0x17C7, 0x17C8, 0x1B04, 0x1B05, 0x1B82, 0x1B83, 0xA881, 0xA882, 0xA983, 0xA984, 0xAAF5, 0xAAF6, 0x10A0F, 0x10A10, 0x11002, 0x11003, 0x11082, 0x11083, 0x11102, 0x11103, 0x11182, 0x11183, 0x11303, 0x11304, 0x11445, 0x11446, 0x114C1, 0x114C2, 0x115BE, 0x115BF, 0x1163E, 0x1163F, 0x116AC, 0x116AD, 0x11838, 0x11839, 0x119DF, 0x119E0, 0x11A39, 0x11A3A, 0x11A97, 0x11A98, 0x11C3E, 0x11C3F, 0x11D41, 0x11D42, 0x11D96, 0x11D97 }; static const UV UNI_INSC__VOWEL_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1963, 0x196E, 0xA85E, 0xA862, 0xA866, 0xA867, 0xA922, 0xA92B, 0x11150, 0x11155 }; static const UV UNI_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */ 265, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x93A, 0x93C, 0x93E, 0x94D, 0x94E, 0x950, 0x955, 0x958, 0x962, 0x964, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4D, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACD, 0xAE2, 0xAE4, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB55, 0xB58, 0xB62, 0xB64, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD7, 0xBD8, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4D, 0xC55, 0xC57, 0xC62, 0xC64, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCD, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD57, 0xD58, 0xD62, 0xD64, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE30, 0xE3A, 0xE40, 0xE46, 0xE47, 0xE48, 0xEB0, 0xEBA, 0xEBB, 0xEBC, 0xEC0, 0xEC5, 0xF71, 0xF7E, 0xF80, 0xF82, 0x102B, 0x1036, 0x1056, 0x105A, 0x1062, 0x1063, 0x1067, 0x1069, 0x1071, 0x1075, 0x1083, 0x1087, 0x109C, 0x109E, 0x1712, 0x1714, 0x1732, 0x1734, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B6, 0x17C6, 0x17C8, 0x17C9, 0x1920, 0x1929, 0x193A, 0x193B, 0x19B0, 0x19C1, 0x1A17, 0x1A1C, 0x1A61, 0x1A74, 0x1B35, 0x1B44, 0x1BA4, 0x1BAA, 0x1BE7, 0x1BF0, 0x1C26, 0x1C2D, 0xA802, 0xA803, 0xA823, 0xA828, 0xA8B5, 0xA8C4, 0xA8FF, 0xA900, 0xA947, 0xA94F, 0xA9B4, 0xA9BD, 0xA9E5, 0xA9E6, 0xAA29, 0xAA33, 0xAAB0, 0xAABF, 0xAAEB, 0xAAF0, 0xABE3, 0xABEB, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A0E, 0x11038, 0x11046, 0x110B0, 0x110B9, 0x11127, 0x11133, 0x11145, 0x11147, 0x111B3, 0x111C0, 0x111CB, 0x111CD, 0x111CE, 0x111CF, 0x1122C, 0x11234, 0x112E0, 0x112E9, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134D, 0x11357, 0x11358, 0x11362, 0x11364, 0x11435, 0x11442, 0x114B0, 0x114BF, 0x115AF, 0x115B6, 0x115B8, 0x115BC, 0x115DC, 0x115DE, 0x11630, 0x1163D, 0x11640, 0x11641, 0x116AD, 0x116B6, 0x11720, 0x1172B, 0x1182C, 0x11837, 0x11930, 0x11936, 0x11937, 0x11939, 0x119D1, 0x119D8, 0x119DA, 0x119DE, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A51, 0x11A5C, 0x11C2F, 0x11C37, 0x11C38, 0x11C3C, 0x11CB0, 0x11CB5, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D40, 0x11D43, 0x11D44, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D95, 0x11EF3, 0x11EF7 }; static const UV UNI_INSC__VOWELINDEPENDENT_invlist[] = { /* for all charsets */ 175, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x904, 0x915, 0x960, 0x962, 0x972, 0x978, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x995, 0x9E0, 0x9E2, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA15, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xA95, 0xAE0, 0xAE2, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB15, 0xB60, 0xB62, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB95, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC15, 0xC60, 0xC62, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xC95, 0xCE0, 0xCE2, 0xD05, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD15, 0xD5F, 0xD62, 0xD85, 0xD97, 0x1021, 0x102B, 0x1052, 0x1056, 0x1700, 0x1703, 0x1720, 0x1723, 0x1740, 0x1743, 0x1760, 0x1763, 0x17A3, 0x17B4, 0x1A4D, 0x1A53, 0x1B05, 0x1B13, 0x1B83, 0x1B8A, 0x1BE4, 0x1BE6, 0xA800, 0xA802, 0xA803, 0xA806, 0xA882, 0xA892, 0xA8FE, 0xA8FF, 0xA984, 0xA989, 0xA98C, 0xA98F, 0xAA00, 0xAA06, 0xAAE0, 0xAAE2, 0xABCE, 0xABD0, 0xABD1, 0xABD2, 0x11005, 0x11013, 0x11083, 0x1108D, 0x11103, 0x11107, 0x11183, 0x11191, 0x11200, 0x11208, 0x11280, 0x11284, 0x112B0, 0x112BA, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11315, 0x11360, 0x11362, 0x11400, 0x1140E, 0x11481, 0x1148F, 0x11580, 0x1158E, 0x115D8, 0x115DC, 0x11600, 0x1160E, 0x11680, 0x1168A, 0x11800, 0x1180A, 0x11900, 0x11907, 0x11909, 0x1190A, 0x119A0, 0x119A8, 0x119AA, 0x119AE, 0x11A00, 0x11A01, 0x11A50, 0x11A51, 0x11C00, 0x11C09, 0x11C0A, 0x11C0E, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D0C, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D6C }; static const UV UNI_INSIDDHAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11580, 0x11600 }; static const UV UNI_INSINHALA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD80, 0xE00 }; static const UV UNI_INSOGDIAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10F30, 0x10F70 }; static const UV UNI_INSORASOMPENG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x110D0, 0x11100 }; static const UV UNI_INSOYOMBO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11A50, 0x11AB0 }; static const UV UNI_INSUNDANESE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B80, 0x1BC0 }; static const UV UNI_INSYLOTINAGRI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA800, 0xA830 }; static const UV UNI_INSYRIAC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x700, 0x750 }; static const UV UNI_INTAGALOG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1700, 0x1720 }; static const UV UNI_INTAGBANWA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1760, 0x1780 }; static const UV UNI_INTAILE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1950, 0x1980 }; static const UV UNI_INTAITHAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A20, 0x1AB0 }; static const UV UNI_INTAIVIET_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA80, 0xAAE0 }; static const UV UNI_INTAKRI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11680, 0x116D0 }; static const UV UNI_INTAMIL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB80, 0xC00 }; static const UV UNI_INTANGUT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x17000, 0x18800 }; static const UV UNI_INTELUGU_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC00, 0xC80 }; static const UV UNI_INTHAANA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x780, 0x7C0 }; static const UV UNI_INTHAI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE00, 0xE80 }; static const UV UNI_INTIBETAN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF00, 0x1000 }; static const UV UNI_INTIFINAGH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D30, 0x2D80 }; static const UV UNI_INTIRHUTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11480, 0x114E0 }; static const UV UNI_INUGARITIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10380, 0x103A0 }; static const UV UNI_INVAI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA500, 0xA640 }; static const UV UNI_INVS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE00, 0xFE10 }; static const UV UNI_INWANCHO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E2C0, 0x1E300 }; static const UV UNI_INWARANGCITI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x118A0, 0x11900 }; static const UV UNI_INYEZIDI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10E80, 0x10EC0 }; static const UV UNI_INZANABAZARSQUARE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11A00, 0x11A50 }; static const UV UNI_IPAEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x250, 0x2B0 }; static const UV UNI_ITAL_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10300, 0x10324, 0x1032D, 0x10330 }; static const UV UNI_JAMO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1200 }; static const UV UNI_JAMOEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA960, 0xA980 }; static const UV UNI_JAMOEXTB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD7B0, 0xD800 }; static const UV UNI_JAVA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9E0 }; static const UV UNI_JG__AFRICANFEH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8BB, 0x8BC }; static const UV UNI_JG__AFRICANNOON_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8BD, 0x8BE }; static const UV UNI_JG__AFRICANQAF_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8BC, 0x8BD, 0x8C4, 0x8C5 }; static const UV UNI_JG__AIN_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x639, 0x63B, 0x6A0, 0x6A1, 0x6FC, 0x6FD, 0x75D, 0x760, 0x8B3, 0x8B4, 0x8C3, 0x8C4 }; static const UV UNI_JG__ALAPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x710, 0x711 }; static const UV UNI_JG__ALEF_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x622, 0x624, 0x625, 0x626, 0x627, 0x628, 0x671, 0x674, 0x675, 0x676, 0x773, 0x775 }; static const UV UNI_JG__BEH_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x628, 0x629, 0x62A, 0x62C, 0x66E, 0x66F, 0x679, 0x681, 0x750, 0x757, 0x8A0, 0x8A2, 0x8B6, 0x8B9, 0x8BE, 0x8C1 }; static const UV UNI_JG__BETH_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x712, 0x713, 0x72D, 0x72E }; static const UV UNI_JG__BURUSHASKIYEHBARREE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x77A, 0x77C }; static const UV UNI_JG__DAL_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62F, 0x631, 0x688, 0x691, 0x6EE, 0x6EF, 0x759, 0x75B, 0x8AE, 0x8AF }; static const UV UNI_JG__DALATHRISH_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x715, 0x717, 0x72A, 0x72B, 0x72F, 0x730 }; static const UV UNI_JG__E_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x725, 0x726 }; static const UV UNI_JG__FARSIYEH_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x63D, 0x640, 0x6CC, 0x6CD, 0x6CE, 0x6CF, 0x775, 0x777 }; static const UV UNI_JG__FE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x74F, 0x750 }; static const UV UNI_JG__FEH_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x641, 0x642, 0x6A1, 0x6A7, 0x760, 0x762, 0x8A4, 0x8A5 }; static const UV UNI_JG__FINALSEMKATH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x724, 0x725 }; static const UV UNI_JG__GAF_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x63B, 0x63D, 0x6A9, 0x6AA, 0x6AB, 0x6AC, 0x6AF, 0x6B5, 0x762, 0x765, 0x8B0, 0x8B1, 0x8C2, 0x8C3 }; static const UV UNI_JG__GAMAL_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x713, 0x715, 0x72E, 0x72F }; static const UV UNI_JG__HAH_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62C, 0x62F, 0x681, 0x688, 0x6BF, 0x6C0, 0x757, 0x759, 0x76E, 0x770, 0x772, 0x773, 0x77C, 0x77D, 0x8A2, 0x8A3, 0x8C1, 0x8C2, 0x8C5, 0x8C7 }; static const UV UNI_JG__HAMZAONHEHGOAL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6C3, 0x6C4 }; static const UV UNI_JG__HANIFIROHINGYAKINNAYA_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10D19, 0x10D1A, 0x10D1E, 0x10D1F, 0x10D20, 0x10D21, 0x10D23, 0x10D24 }; static const UV UNI_JG__HANIFIROHINGYAPA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10D02, 0x10D03, 0x10D09, 0x10D0A, 0x10D1C, 0x10D1D }; static const UV UNI_JG__HE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x717, 0x718 }; static const UV UNI_JG__HEH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x647, 0x648 }; static const UV UNI_JG__HEHGOAL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6C1, 0x6C3 }; static const UV UNI_JG__HETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x71A, 0x71B }; static const UV UNI_JG__KAF_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x643, 0x644, 0x6AC, 0x6AF, 0x77F, 0x780, 0x8B4, 0x8B5 }; static const UV UNI_JG__KAPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x71F, 0x720 }; static const UV UNI_JG__KHAPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x74E, 0x74F }; static const UV UNI_JG__KNOTTEDHEH_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6BE, 0x6BF, 0x6FF, 0x700 }; static const UV UNI_JG__LAM_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x644, 0x645, 0x6B5, 0x6B9, 0x76A, 0x76B, 0x8A6, 0x8A7, 0x8C7, 0x8C8 }; static const UV UNI_JG__LAMADH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x720, 0x721 }; static const UV UNI_JG__MALAYALAMBHA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x866, 0x867 }; static const UV UNI_JG__MALAYALAMJA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x861, 0x862 }; static const UV UNI_JG__MALAYALAMLLA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x868, 0x869 }; static const UV UNI_JG__MALAYALAMLLLA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x869, 0x86A }; static const UV UNI_JG__MALAYALAMNGA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x860, 0x861 }; static const UV UNI_JG__MALAYALAMNNA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x864, 0x865 }; static const UV UNI_JG__MALAYALAMNNNA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x865, 0x866 }; static const UV UNI_JG__MALAYALAMNYA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x862, 0x863 }; static const UV UNI_JG__MALAYALAMRA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x867, 0x868 }; static const UV UNI_JG__MALAYALAMSSA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x86A, 0x86B }; static const UV UNI_JG__MALAYALAMTTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x863, 0x864 }; static const UV UNI_JG__MANICHAEANALEPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC0, 0x10AC1 }; static const UV UNI_JG__MANICHAEANAYIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD9, 0x10ADB }; static const UV UNI_JG__MANICHAEANBETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC1, 0x10AC3 }; static const UV UNI_JG__MANICHAEANDALETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC5, 0x10AC6 }; static const UV UNI_JG__MANICHAEANDHAMEDH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD4, 0x10AD5 }; static const UV UNI_JG__MANICHAEANFIVE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AEC, 0x10AED }; static const UV UNI_JG__MANICHAEANGIMEL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC3, 0x10AC5 }; static const UV UNI_JG__MANICHAEANHETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ACD, 0x10ACE }; static const UV UNI_JG__MANICHAEANHUNDRED_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AEF, 0x10AF0 }; static const UV UNI_JG__MANICHAEANKAPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD0, 0x10AD3 }; static const UV UNI_JG__MANICHAEANLAMEDH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD3, 0x10AD4 }; static const UV UNI_JG__MANICHAEANMEM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD6, 0x10AD7 }; static const UV UNI_JG__MANICHAEANNUN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD7, 0x10AD8 }; static const UV UNI_JG__MANICHAEANONE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AEB, 0x10AEC }; static const UV UNI_JG__MANICHAEANPE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ADB, 0x10ADD }; static const UV UNI_JG__MANICHAEANQOPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ADE, 0x10AE1 }; static const UV UNI_JG__MANICHAEANRESH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AE1, 0x10AE2 }; static const UV UNI_JG__MANICHAEANSADHE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ADD, 0x10ADE }; static const UV UNI_JG__MANICHAEANSAMEKH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD8, 0x10AD9 }; static const UV UNI_JG__MANICHAEANTAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AE4, 0x10AE5 }; static const UV UNI_JG__MANICHAEANTEN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AED, 0x10AEE }; static const UV UNI_JG__MANICHAEANTETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ACE, 0x10ACF }; static const UV UNI_JG__MANICHAEANTHAMEDH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AD5, 0x10AD6 }; static const UV UNI_JG__MANICHAEANTWENTY_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AEE, 0x10AEF }; static const UV UNI_JG__MANICHAEANWAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC7, 0x10AC8 }; static const UV UNI_JG__MANICHAEANYODH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10ACF, 0x10AD0 }; static const UV UNI_JG__MANICHAEANZAYIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC9, 0x10ACB }; static const UV UNI_JG__MEEM_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x645, 0x646, 0x765, 0x767, 0x8A7, 0x8A8 }; static const UV UNI_JG__MIM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x721, 0x722 }; static const UV UNI_JG__NOJOININGGROUP_invlist[] = { /* for all charsets */ 61, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x620, 0x621, 0x622, 0x640, 0x641, 0x64B, 0x66E, 0x670, 0x671, 0x674, 0x675, 0x6D4, 0x6D5, 0x6D6, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x780, 0x860, 0x86B, 0x8A0, 0x8AD, 0x8AE, 0x8B5, 0x8B6, 0x8C8, 0x10AC0, 0x10AC6, 0x10AC7, 0x10AC8, 0x10AC9, 0x10ACB, 0x10ACD, 0x10AE2, 0x10AE4, 0x10AE5, 0x10AEB, 0x10AF0, 0x10D02, 0x10D03, 0x10D09, 0x10D0A, 0x10D19, 0x10D1A, 0x10D1C, 0x10D1D, 0x10D1E, 0x10D1F, 0x10D20, 0x10D21, 0x10D23, 0x10D24 }; static const UV UNI_JG__NOON_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x646, 0x647, 0x6B9, 0x6BD, 0x767, 0x76A }; static const UV UNI_JG__NUN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x722, 0x723 }; static const UV UNI_JG__NYA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6BD, 0x6BE }; static const UV UNI_JG__PE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x726, 0x727 }; static const UV UNI_JG__QAF_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x642, 0x643, 0x66F, 0x670, 0x6A7, 0x6A9, 0x8A5, 0x8A6 }; static const UV UNI_JG__QAPH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x729, 0x72A }; static const UV UNI_JG__REH_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x631, 0x633, 0x691, 0x69A, 0x6EF, 0x6F0, 0x75B, 0x75C, 0x76B, 0x76D, 0x771, 0x772, 0x8AA, 0x8AB, 0x8B2, 0x8B3, 0x8B9, 0x8BA }; static const UV UNI_JG__REVERSEDPE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x727, 0x728 }; static const UV UNI_JG__ROHINGYAYEH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8AC, 0x8AD }; static const UV UNI_JG__SAD_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x635, 0x637, 0x69D, 0x69F, 0x6FB, 0x6FC, 0x8AF, 0x8B0 }; static const UV UNI_JG__SADHE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x728, 0x729 }; static const UV UNI_JG__SEEN_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x633, 0x635, 0x69A, 0x69D, 0x6FA, 0x6FB, 0x75C, 0x75D, 0x76D, 0x76E, 0x770, 0x771, 0x77D, 0x77F }; static const UV UNI_JG__SEMKATH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x723, 0x724 }; static const UV UNI_JG__SHIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x72B, 0x72C }; static const UV UNI_JG__STRAIGHTWAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8B1, 0x8B2 }; static const UV UNI_JG__SWASHKAF_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6AA, 0x6AB }; static const UV UNI_JG__SYRIACWAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x718, 0x719 }; static const UV UNI_JG__TAH_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x637, 0x639, 0x69F, 0x6A0, 0x8A3, 0x8A4 }; static const UV UNI_JG__TAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x72C, 0x72D }; static const UV UNI_JG__TEHMARBUTA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x629, 0x62A, 0x6C0, 0x6C1, 0x6D5, 0x6D6 }; static const UV UNI_JG__TETH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x71B, 0x71D }; static const UV UNI_JG__WAW_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x624, 0x625, 0x648, 0x649, 0x676, 0x678, 0x6C4, 0x6CC, 0x6CF, 0x6D0, 0x778, 0x77A, 0x8AB, 0x8AC }; static const UV UNI_JG__YEH_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x620, 0x621, 0x626, 0x627, 0x649, 0x64B, 0x678, 0x679, 0x6D0, 0x6D2, 0x777, 0x778, 0x8A8, 0x8AA, 0x8BA, 0x8BB }; static const UV UNI_JG__YEHBARREE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D2, 0x6D4 }; static const UV UNI_JG__YEHWITHTAIL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6CD, 0x6CE }; static const UV UNI_JG__YUDH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x71D, 0x71E }; static const UV UNI_JG__YUDHHE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x71E, 0x71F }; static const UV UNI_JG__ZAIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x719, 0x71A }; static const UV UNI_JG__ZHAIN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x74D, 0x74E }; static const UV UNI_JOINC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x200C, 0x200E }; static const UV UNI_JT__C_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x7FA, 0x7FB, 0x180A, 0x180B, 0x200D, 0x200E }; static const UV UNI_JT__D_invlist[] = { /* for all charsets */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x620, 0x621, 0x626, 0x627, 0x628, 0x629, 0x62A, 0x62F, 0x633, 0x640, 0x641, 0x648, 0x649, 0x64B, 0x66E, 0x670, 0x678, 0x688, 0x69A, 0x6C0, 0x6C1, 0x6C3, 0x6CC, 0x6CD, 0x6CE, 0x6CF, 0x6D0, 0x6D2, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x712, 0x715, 0x71A, 0x71E, 0x71F, 0x728, 0x729, 0x72A, 0x72B, 0x72C, 0x72D, 0x72F, 0x74E, 0x759, 0x75C, 0x76B, 0x76D, 0x771, 0x772, 0x773, 0x775, 0x778, 0x77A, 0x780, 0x7CA, 0x7EB, 0x841, 0x846, 0x848, 0x849, 0x84A, 0x854, 0x855, 0x856, 0x860, 0x861, 0x862, 0x866, 0x868, 0x869, 0x8A0, 0x8AA, 0x8AF, 0x8B1, 0x8B3, 0x8B5, 0x8B6, 0x8B9, 0x8BA, 0x8C8, 0x1807, 0x1808, 0x1820, 0x1879, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0xA840, 0xA872, 0x10AC0, 0x10AC5, 0x10AD3, 0x10AD7, 0x10AD8, 0x10ADD, 0x10ADE, 0x10AE1, 0x10AEB, 0x10AEF, 0x10B80, 0x10B81, 0x10B82, 0x10B83, 0x10B86, 0x10B89, 0x10B8A, 0x10B8C, 0x10B8D, 0x10B8E, 0x10B90, 0x10B91, 0x10BAD, 0x10BAF, 0x10D01, 0x10D22, 0x10D23, 0x10D24, 0x10F30, 0x10F33, 0x10F34, 0x10F45, 0x10F51, 0x10F54, 0x10FB0, 0x10FB1, 0x10FB2, 0x10FB4, 0x10FB8, 0x10FB9, 0x10FBB, 0x10FBD, 0x10FBE, 0x10FC0, 0x10FC1, 0x10FC2, 0x10FC4, 0x10FC5, 0x10FCA, 0x10FCB, 0x1E900, 0x1E944 }; static const UV UNI_JT__L_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA872, 0xA873, 0x10ACD, 0x10ACE, 0x10AD7, 0x10AD8, 0x10D00, 0x10D01, 0x10FCB, 0x10FCC }; static const UV UNI_JT__R_invlist[] = { /* for all charsets */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x622, 0x626, 0x627, 0x628, 0x629, 0x62A, 0x62F, 0x633, 0x648, 0x649, 0x671, 0x674, 0x675, 0x678, 0x688, 0x69A, 0x6C0, 0x6C1, 0x6C3, 0x6CC, 0x6CD, 0x6CE, 0x6CF, 0x6D0, 0x6D2, 0x6D4, 0x6D5, 0x6D6, 0x6EE, 0x6F0, 0x710, 0x711, 0x715, 0x71A, 0x71E, 0x71F, 0x728, 0x729, 0x72A, 0x72B, 0x72C, 0x72D, 0x72F, 0x730, 0x74D, 0x74E, 0x759, 0x75C, 0x76B, 0x76D, 0x771, 0x772, 0x773, 0x775, 0x778, 0x77A, 0x840, 0x841, 0x846, 0x848, 0x849, 0x84A, 0x854, 0x855, 0x856, 0x859, 0x867, 0x868, 0x869, 0x86B, 0x8AA, 0x8AD, 0x8AE, 0x8AF, 0x8B1, 0x8B3, 0x8B9, 0x8BA, 0x10AC5, 0x10AC6, 0x10AC7, 0x10AC8, 0x10AC9, 0x10ACB, 0x10ACE, 0x10AD3, 0x10ADD, 0x10ADE, 0x10AE1, 0x10AE2, 0x10AE4, 0x10AE5, 0x10AEF, 0x10AF0, 0x10B81, 0x10B82, 0x10B83, 0x10B86, 0x10B89, 0x10B8A, 0x10B8C, 0x10B8D, 0x10B8E, 0x10B90, 0x10B91, 0x10B92, 0x10BA9, 0x10BAD, 0x10D22, 0x10D23, 0x10F33, 0x10F34, 0x10F54, 0x10F55, 0x10FB4, 0x10FB7, 0x10FB9, 0x10FBB, 0x10FBD, 0x10FBE, 0x10FC2, 0x10FC4, 0x10FC9, 0x10FCA }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_JT__T_invlist[] = { /* for ASCII/Latin1 */ 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 1047 */ 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_JT__T_invlist[] = { /* for EBCDIC 037 */ 677, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x70F, 0x710, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_JT__U_invlist[] = { /* for ASCII/Latin1 */ 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x621, 0x622, 0x660, 0x66E, 0x674, 0x675, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x780, 0x7A6, 0x7B1, 0x7CA, 0x7F4, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x85C, 0x860, 0x861, 0x862, 0x866, 0x867, 0x86B, 0x8A0, 0x8AD, 0x8AE, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1807, 0x1808, 0x180A, 0x180E, 0x1820, 0x1879, 0x1885, 0x18AB, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA840, 0xA873, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AC0, 0x10AC6, 0x10AC7, 0x10AC8, 0x10AC9, 0x10ACB, 0x10ACD, 0x10AE2, 0x10AE4, 0x10AE7, 0x10AEB, 0x10AF0, 0x10B80, 0x10B92, 0x10BA9, 0x10BAF, 0x10D00, 0x10D28, 0x10EAB, 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, 0x10FB0, 0x10FB1, 0x10FB2, 0x10FB7, 0x10FB8, 0x10FC0, 0x10FC1, 0x10FC5, 0x10FC9, 0x10FCC, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 1047 */ 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x621, 0x622, 0x660, 0x66E, 0x674, 0x675, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x780, 0x7A6, 0x7B1, 0x7CA, 0x7F4, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x85C, 0x860, 0x861, 0x862, 0x866, 0x867, 0x86B, 0x8A0, 0x8AD, 0x8AE, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1807, 0x1808, 0x180A, 0x180E, 0x1820, 0x1879, 0x1885, 0x18AB, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA840, 0xA873, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AC0, 0x10AC6, 0x10AC7, 0x10AC8, 0x10AC9, 0x10ACB, 0x10ACD, 0x10AE2, 0x10AE4, 0x10AE7, 0x10AEB, 0x10AF0, 0x10B80, 0x10B92, 0x10BA9, 0x10BAF, 0x10D00, 0x10D28, 0x10EAB, 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, 0x10FB0, 0x10FB1, 0x10FB2, 0x10FB7, 0x10FB8, 0x10FC0, 0x10FC1, 0x10FC5, 0x10FC9, 0x10FCC, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_JT__U_invlist[] = { /* for EBCDIC 037 */ 727, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x621, 0x622, 0x660, 0x66E, 0x674, 0x675, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x780, 0x7A6, 0x7B1, 0x7CA, 0x7F4, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x840, 0x85C, 0x860, 0x861, 0x862, 0x866, 0x867, 0x86B, 0x8A0, 0x8AD, 0x8AE, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x1807, 0x1808, 0x180A, 0x180E, 0x1820, 0x1879, 0x1885, 0x18AB, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200B, 0x200C, 0x200D, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x206A, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA840, 0xA873, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AC0, 0x10AC6, 0x10AC7, 0x10AC8, 0x10AC9, 0x10ACB, 0x10ACD, 0x10AE2, 0x10AE4, 0x10AE7, 0x10AEB, 0x10AF0, 0x10B80, 0x10B92, 0x10BA9, 0x10BAF, 0x10D00, 0x10D28, 0x10EAB, 0x10EAD, 0x10F30, 0x10F45, 0x10F46, 0x10F55, 0x10FB0, 0x10FB1, 0x10FB2, 0x10FB7, 0x10FB8, 0x10FC0, 0x10FC1, 0x10FC5, 0x10FC9, 0x10FCC, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x13430, 0x13439, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D167, 0x1D16A, 0x1D173, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ static const UV UNI_KALI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA900, 0xA930 }; static const UV UNI_KANA_invlist[] = { /* for all charsets */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3001, 0x3004, 0x3008, 0x3012, 0x3013, 0x3020, 0x3030, 0x3036, 0x3037, 0x3038, 0x303C, 0x303E, 0x3099, 0x309D, 0x30A0, 0x3100, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xFE45, 0xFE47, 0xFF61, 0xFFA0, 0x1B000, 0x1B001, 0x1B164, 0x1B168 }; static const UV UNI_KANAEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B100, 0x1B130 }; static const UV UNI_KANASUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B000, 0x1B100 }; static const UV UNI_KANBUN_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3190, 0x31A0 }; static const UV UNI_KANGXI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2F00, 0x2FE0 }; static const UV UNI_KATAKANAEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x31F0, 0x3200 }; static const UV UNI_KHAR_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59 }; static const UV UNI_KHMERSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x19E0, 0x1A00 }; static const UV UNI_KHMR_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x19E0, 0x1A00 }; static const UV UNI_KHOJ_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAE6, 0xAF0, 0xA830, 0xA83A, 0x11200, 0x11212, 0x11213, 0x1123F }; static const UV UNI_KITS_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16FE4, 0x16FE5, 0x18B00, 0x18CD6 }; static const UV UNI_KNDA_invlist[] = { /* for all charsets */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xC80, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0x1CD0, 0x1CD1, 0x1CD2, 0x1CD3, 0x1CDA, 0x1CDB, 0x1CF2, 0x1CF3, 0x1CF4, 0x1CF5, 0xA830, 0xA836 }; static const UV UNI_KTHI_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x966, 0x970, 0xA830, 0xA83A, 0x11080, 0x110C2, 0x110CD, 0x110CE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_L_invlist[] = { /* for ASCII/Latin1 */ 1245, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_L_invlist[] = { /* for EBCDIC 1047 */ 1271, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_L_invlist[] = { /* for EBCDIC 037 */ 1267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2183, 0x2185, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3007, 0x3031, 0x3036, 0x303B, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6E6, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_LANA_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE }; static const UV UNI_LAO_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LATIN1_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x80, 0x100 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LATIN1_invlist[] = { /* for EBCDIC 1047 */ 55, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x15, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x26, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x100 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LATIN1_invlist[] = { /* for EBCDIC 037 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4, 0x5, 0x6, 0x7, 0x8, 0xB, 0x14, 0x16, 0x17, 0x18, 0x1A, 0x1C, 0x20, 0x25, 0x28, 0x2D, 0x30, 0x32, 0x33, 0x37, 0x38, 0x3C, 0x3E, 0x3F, 0x41, 0x4B, 0x51, 0x5A, 0x5F, 0x60, 0x62, 0x6B, 0x70, 0x79, 0x80, 0x81, 0x8A, 0x91, 0x9A, 0xA1, 0xAA, 0xB0, 0xB1, 0xBA, 0xBC, 0xC0, 0xCA, 0xD0, 0xDA, 0xE0, 0xE1, 0xE2, 0xEA, 0xF0, 0xFA, 0x100 }; # endif /* EBCDIC 037 */ static const UV UNI_LATINEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100, 0x180 }; static const UV UNI_LATINEXTADDITIONAL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E00, 0x1F00 }; static const UV UNI_LATINEXTB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x180, 0x250 }; static const UV UNI_LATINEXTC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C60, 0x2C80 }; static const UV UNI_LATINEXTD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA720, 0xA800 }; static const UV UNI_LATINEXTE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAB30, 0xAB70 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LATN_invlist[] = { /* for ASCII/Latin1 */ 81, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x363, 0x370, 0x485, 0x487, 0x951, 0x953, 0x10FB, 0x10FC, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x202F, 0x2030, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20F0, 0x20F1, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA92E, 0xA92F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LATN_invlist[] = { /* for EBCDIC 1047 */ 107, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x363, 0x370, 0x485, 0x487, 0x951, 0x953, 0x10FB, 0x10FC, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x202F, 0x2030, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20F0, 0x20F1, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA92E, 0xA92F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LATN_invlist[] = { /* for EBCDIC 037 */ 103, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x363, 0x370, 0x485, 0x487, 0x951, 0x953, 0x10FB, 0x10FC, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x202F, 0x2030, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20F0, 0x20F1, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA700, 0xA708, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xA92E, 0xA92F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__AI_invlist[] = { /* for ASCII/Latin1 */ 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA7, 0xA9, 0xAA, 0xAB, 0xB2, 0xB4, 0xB6, 0xBB, 0xBC, 0xBF, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2015, 0x2017, 0x2020, 0x2022, 0x203B, 0x203C, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x2105, 0x2106, 0x2113, 0x2114, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2616, 0x2618, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x2668, 0x2669, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26C9, 0x26CD, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x2757, 0x2758, 0x2776, 0x2794, 0x2B55, 0x2B5A, 0x3248, 0x3250, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10D, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__AI_invlist[] = { /* for EBCDIC 1047 */ 225, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0x9D, 0x9E, 0xB3, 0xB4, 0xB5, 0xBA, 0xBB, 0xBC, 0xBF, 0xC0, 0xDA, 0xDB, 0xE1, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2015, 0x2017, 0x2020, 0x2022, 0x203B, 0x203C, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x2105, 0x2106, 0x2113, 0x2114, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2616, 0x2618, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x2668, 0x2669, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26C9, 0x26CD, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x2757, 0x2758, 0x2776, 0x2794, 0x2B55, 0x2B5A, 0x3248, 0x3250, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10D, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__AI_invlist[] = { /* for EBCDIC 037 */ 225, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0x9D, 0x9E, 0xB3, 0xB4, 0xB5, 0xBA, 0xBD, 0xBE, 0xBF, 0xC0, 0xDA, 0xDB, 0xE1, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0x2C7, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2015, 0x2017, 0x2020, 0x2022, 0x203B, 0x203C, 0x2074, 0x2075, 0x207F, 0x2080, 0x2081, 0x2085, 0x2105, 0x2106, 0x2113, 0x2114, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x2190, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2212, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x2312, 0x2313, 0x2460, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2616, 0x2618, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x2668, 0x2669, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x269E, 0x26A0, 0x26C9, 0x26CD, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E3, 0x26E4, 0x26E8, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26FB, 0x26FD, 0x2757, 0x2758, 0x2776, 0x2794, 0x2B55, 0x2B5A, 0x3248, 0x3250, 0xFFFD, 0xFFFE, 0x1F100, 0x1F10D, 0x1F110, 0x1F12E, 0x1F130, 0x1F16A, 0x1F170, 0x1F1AD }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__AL_invlist[] = { /* for ASCII/Latin1 */ 1541, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x23, 0x24, 0x26, 0x27, 0x2A, 0x2B, 0x3C, 0x3F, 0x40, 0x5B, 0x5E, 0x7B, 0x7E, 0x7F, 0xA6, 0xA7, 0xA9, 0xAA, 0xAC, 0xAD, 0xAE, 0xB0, 0xB5, 0xB6, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C7, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x589, 0x58D, 0x58F, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5F3, 0x5F5, 0x600, 0x609, 0x60E, 0x610, 0x620, 0x64B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x70E, 0x70F, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x970, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA76, 0xA77, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF0, 0xAF1, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB70, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xBF0, 0xBF9, 0xBFA, 0xBFB, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC78, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD70, 0xD79, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xF00, 0xF01, 0xF05, 0xF06, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF36, 0xF37, 0xF38, 0xF39, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0xFC0, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD4, 0xFD9, 0x104C, 0x1050, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x1361, 0x1362, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x17D9, 0x17DA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1807, 0x1808, 0x180A, 0x180B, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1940, 0x1941, 0x19E0, 0x1A17, 0x1A1E, 0x1A20, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BFC, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x1FFE, 0x1FFF, 0x2017, 0x2018, 0x2022, 0x2024, 0x2038, 0x2039, 0x203E, 0x2044, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2061, 0x2065, 0x2070, 0x2072, 0x2075, 0x207D, 0x2080, 0x2081, 0x2085, 0x208D, 0x2090, 0x209D, 0x2100, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x218C, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2214, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x22EF, 0x22F0, 0x2308, 0x230C, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23F0, 0x23F4, 0x2427, 0x2440, 0x244B, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2600, 0x2604, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2619, 0x261A, 0x2620, 0x2639, 0x263C, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x269E, 0x26A0, 0x26BD, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2705, 0x2708, 0x270E, 0x2757, 0x2758, 0x275B, 0x2761, 0x2762, 0x2765, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B55, 0x2B5A, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CFD, 0x2CFE, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E16, 0x2E17, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3F, 0x2E40, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA830, 0xA838, 0xA839, 0xA83A, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA95F, 0xA960, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DE, 0xA9E0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA5C, 0xAA5D, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE3, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB29, 0xFB2A, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFDFD, 0xFDFE, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFFE8, 0xFFEF, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10858, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A58, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF0, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11049, 0x1104E, 0x11052, 0x11066, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11175, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111CD, 0x111CE, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122C, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C8, 0x11580, 0x115AF, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11643, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x1183B, 0x1183C, 0x118A0, 0x118E0, 0x118EA, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A40, 0x11A41, 0x11A46, 0x11A47, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C5A, 0x11C6D, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, 0x11FF2, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x13258, 0x1325E, 0x13282, 0x13283, 0x13286, 0x1328A, 0x13379, 0x1337C, 0x1342F, 0x14400, 0x145CE, 0x145D0, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B3A, 0x16B44, 0x16B45, 0x16B46, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E97, 0x16E99, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x18B00, 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F12E, 0x1F130, 0x1F16A, 0x1F16D, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F676, 0x1F67C, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 1047 */ 1569, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4C, 0x4D, 0x50, 0x5A, 0x5C, 0x5D, 0x5F, 0x60, 0x62, 0x6B, 0x6D, 0x6F, 0x70, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xAA, 0xAC, 0xAD, 0xAE, 0xB1, 0xB4, 0xB5, 0xBA, 0xBB, 0xBC, 0xBD, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C7, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x589, 0x58D, 0x58F, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5F3, 0x5F5, 0x600, 0x609, 0x60E, 0x610, 0x620, 0x64B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x70E, 0x70F, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x970, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA76, 0xA77, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF0, 0xAF1, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB70, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xBF0, 0xBF9, 0xBFA, 0xBFB, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC78, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD70, 0xD79, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xF00, 0xF01, 0xF05, 0xF06, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF36, 0xF37, 0xF38, 0xF39, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0xFC0, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD4, 0xFD9, 0x104C, 0x1050, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x1361, 0x1362, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x17D9, 0x17DA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1807, 0x1808, 0x180A, 0x180B, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1940, 0x1941, 0x19E0, 0x1A17, 0x1A1E, 0x1A20, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BFC, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x1FFE, 0x1FFF, 0x2017, 0x2018, 0x2022, 0x2024, 0x2038, 0x2039, 0x203E, 0x2044, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2061, 0x2065, 0x2070, 0x2072, 0x2075, 0x207D, 0x2080, 0x2081, 0x2085, 0x208D, 0x2090, 0x209D, 0x2100, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x218C, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2214, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x22EF, 0x22F0, 0x2308, 0x230C, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23F0, 0x23F4, 0x2427, 0x2440, 0x244B, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2600, 0x2604, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2619, 0x261A, 0x2620, 0x2639, 0x263C, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x269E, 0x26A0, 0x26BD, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2705, 0x2708, 0x270E, 0x2757, 0x2758, 0x275B, 0x2761, 0x2762, 0x2765, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B55, 0x2B5A, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CFD, 0x2CFE, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E16, 0x2E17, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3F, 0x2E40, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA830, 0xA838, 0xA839, 0xA83A, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA95F, 0xA960, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DE, 0xA9E0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA5C, 0xAA5D, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE3, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB29, 0xFB2A, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFDFD, 0xFDFE, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFFE8, 0xFFEF, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10858, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A58, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF0, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11049, 0x1104E, 0x11052, 0x11066, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11175, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111CD, 0x111CE, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122C, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C8, 0x11580, 0x115AF, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11643, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x1183B, 0x1183C, 0x118A0, 0x118E0, 0x118EA, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A40, 0x11A41, 0x11A46, 0x11A47, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C5A, 0x11C6D, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, 0x11FF2, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x13258, 0x1325E, 0x13282, 0x13283, 0x13286, 0x1328A, 0x13379, 0x1337C, 0x1342F, 0x14400, 0x145CE, 0x145D0, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B3A, 0x16B44, 0x16B45, 0x16B46, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E97, 0x16E99, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x18B00, 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F12E, 0x1F130, 0x1F16A, 0x1F16D, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F676, 0x1F67C, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__AL_invlist[] = { /* for EBCDIC 037 */ 1565, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x4C, 0x4D, 0x50, 0x5A, 0x5C, 0x5D, 0x5F, 0x60, 0x62, 0x6B, 0x6D, 0x6F, 0x70, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9A, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xAA, 0xAC, 0xB1, 0xB4, 0xB5, 0xBC, 0xBD, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C7, 0x2CE, 0x2D0, 0x2D1, 0x2D8, 0x2DC, 0x2DD, 0x2DE, 0x2DF, 0x2E0, 0x300, 0x370, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x483, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x589, 0x58D, 0x58F, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5F3, 0x5F5, 0x600, 0x609, 0x60E, 0x610, 0x620, 0x64B, 0x66D, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x6F0, 0x6FA, 0x70E, 0x70F, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F8, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x830, 0x83F, 0x840, 0x859, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x970, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0x9FB, 0x9FC, 0x9FE, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA76, 0xA77, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF0, 0xAF1, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB70, 0xB78, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xBF0, 0xBF9, 0xBFA, 0xBFB, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC78, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD50, 0xD54, 0xD57, 0xD58, 0xD62, 0xD70, 0xD79, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xF00, 0xF01, 0xF05, 0xF06, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF34, 0xF36, 0xF37, 0xF38, 0xF39, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0xFC0, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD4, 0xFD9, 0x104C, 0x1050, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1100, 0x1200, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1360, 0x1361, 0x1362, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x17D9, 0x17DA, 0x17F0, 0x17FA, 0x1800, 0x1802, 0x1807, 0x1808, 0x180A, 0x180B, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1940, 0x1941, 0x19E0, 0x1A17, 0x1A1E, 0x1A20, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B5C, 0x1B5D, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1BFC, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x1FFE, 0x1FFF, 0x2017, 0x2018, 0x2022, 0x2024, 0x2038, 0x2039, 0x203E, 0x2044, 0x204A, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2061, 0x2065, 0x2070, 0x2072, 0x2075, 0x207D, 0x2080, 0x2081, 0x2085, 0x208D, 0x2090, 0x209D, 0x2100, 0x2103, 0x2104, 0x2105, 0x2106, 0x2109, 0x210A, 0x2113, 0x2114, 0x2116, 0x2117, 0x2121, 0x2123, 0x212B, 0x212C, 0x2154, 0x2156, 0x215B, 0x215C, 0x215E, 0x215F, 0x2160, 0x216C, 0x2170, 0x217A, 0x2189, 0x218A, 0x218C, 0x219A, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x2200, 0x2201, 0x2202, 0x2204, 0x2207, 0x2209, 0x220B, 0x220C, 0x220F, 0x2210, 0x2211, 0x2214, 0x2215, 0x2216, 0x221A, 0x221B, 0x221D, 0x2221, 0x2223, 0x2224, 0x2225, 0x2226, 0x2227, 0x222D, 0x222E, 0x222F, 0x2234, 0x2238, 0x223C, 0x223E, 0x2248, 0x2249, 0x224C, 0x224D, 0x2252, 0x2253, 0x2260, 0x2262, 0x2264, 0x2268, 0x226A, 0x226C, 0x226E, 0x2270, 0x2282, 0x2284, 0x2286, 0x2288, 0x2295, 0x2296, 0x2299, 0x229A, 0x22A5, 0x22A6, 0x22BF, 0x22C0, 0x22EF, 0x22F0, 0x2308, 0x230C, 0x2312, 0x2313, 0x231A, 0x231C, 0x2329, 0x232B, 0x23F0, 0x23F4, 0x2427, 0x2440, 0x244B, 0x24FF, 0x2500, 0x254C, 0x2550, 0x2575, 0x2580, 0x2590, 0x2592, 0x2596, 0x25A0, 0x25A2, 0x25A3, 0x25AA, 0x25B2, 0x25B4, 0x25B6, 0x25B8, 0x25BC, 0x25BE, 0x25C0, 0x25C2, 0x25C6, 0x25C9, 0x25CB, 0x25CC, 0x25CE, 0x25D2, 0x25E2, 0x25E6, 0x25EF, 0x25F0, 0x2600, 0x2604, 0x2605, 0x2607, 0x2609, 0x260A, 0x260E, 0x2610, 0x2614, 0x2619, 0x261A, 0x2620, 0x2639, 0x263C, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2662, 0x2663, 0x2666, 0x2667, 0x266B, 0x266C, 0x266E, 0x266F, 0x2670, 0x267F, 0x2680, 0x269E, 0x26A0, 0x26BD, 0x26CE, 0x26CF, 0x26E2, 0x26E3, 0x26E4, 0x26E8, 0x2705, 0x2708, 0x270E, 0x2757, 0x2758, 0x275B, 0x2761, 0x2762, 0x2765, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B55, 0x2B5A, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CEF, 0x2CF2, 0x2CF4, 0x2CFD, 0x2CFE, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E16, 0x2E17, 0x2E1A, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2F, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3A, 0x2E3F, 0x2E40, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x2E53, 0x4DC0, 0x4E00, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA6F3, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA830, 0xA838, 0xA839, 0xA83A, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA95F, 0xA960, 0xA984, 0xA9B3, 0xA9C1, 0xA9C7, 0xA9CA, 0xA9CE, 0xA9CF, 0xA9D0, 0xA9DE, 0xA9E0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA5C, 0xAA5D, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABE3, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB29, 0xFB2A, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFDFD, 0xFDFE, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFFE8, 0xFFEF, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E1, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10858, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x10920, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A40, 0x10A49, 0x10A58, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE5, 0x10AEB, 0x10AF0, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D24, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F46, 0x10F51, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11049, 0x1104E, 0x11052, 0x11066, 0x11083, 0x110B0, 0x110BB, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11174, 0x11175, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111C7, 0x111C8, 0x111CD, 0x111CE, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1122C, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1144F, 0x11450, 0x1145D, 0x1145E, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C8, 0x11580, 0x115AF, 0x115C6, 0x115C9, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11643, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x1183B, 0x1183C, 0x118A0, 0x118E0, 0x118EA, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A40, 0x11A41, 0x11A46, 0x11A47, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C5A, 0x11C6D, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11EF7, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FDD, 0x11FE1, 0x11FF2, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x13258, 0x1325E, 0x13282, 0x13283, 0x13286, 0x1328A, 0x13379, 0x1337C, 0x1342F, 0x14400, 0x145CE, 0x145D0, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B3A, 0x16B44, 0x16B45, 0x16B46, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E97, 0x16E99, 0x16E9B, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x18B00, 0x18CD6, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1DA8B, 0x1DA8C, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D0, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F12E, 0x1F130, 0x1F16A, 0x1F16D, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F650, 0x1F676, 0x1F67C, 0x1F680, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90C, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 037 */ static const UV UNI_LB__B2_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2014, 0x2015, 0x2E3A, 0x2E3C }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__BA_invlist[] = { /* for ASCII/Latin1 */ 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0x7C, 0x7D, 0xAD, 0xAE, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x964, 0x966, 0xE5A, 0xE5C, 0xF0B, 0xF0C, 0xF34, 0xF35, 0xF7F, 0xF80, 0xF85, 0xF86, 0xFBE, 0xFC0, 0xFD2, 0xFD3, 0x104A, 0x104C, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D6, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x1804, 0x1806, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x2000, 0x2007, 0x2008, 0x200B, 0x2010, 0x2011, 0x2012, 0x2014, 0x2027, 0x2028, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2CFA, 0x2CFD, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E2A, 0x2E2E, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3000, 0x3001, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA6F3, 0xA6F8, 0xA8CE, 0xA8D0, 0xA92E, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A50, 0x10A58, 0x10AF0, 0x10AF6, 0x10B39, 0x10B40, 0x10EAD, 0x10EAE, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111DD, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144F, 0x1145A, 0x1145C, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11947, 0x11A41, 0x11A45, 0x11A9A, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C46, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 1047 */ 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x4F, 0x50, 0xCA, 0xCB, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x964, 0x966, 0xE5A, 0xE5C, 0xF0B, 0xF0C, 0xF34, 0xF35, 0xF7F, 0xF80, 0xF85, 0xF86, 0xFBE, 0xFC0, 0xFD2, 0xFD3, 0x104A, 0x104C, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D6, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x1804, 0x1806, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x2000, 0x2007, 0x2008, 0x200B, 0x2010, 0x2011, 0x2012, 0x2014, 0x2027, 0x2028, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2CFA, 0x2CFD, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E2A, 0x2E2E, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3000, 0x3001, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA6F3, 0xA6F8, 0xA8CE, 0xA8D0, 0xA92E, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A50, 0x10A58, 0x10AF0, 0x10AF6, 0x10B39, 0x10B40, 0x10EAD, 0x10EAE, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111DD, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144F, 0x1145A, 0x1145C, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11947, 0x11A41, 0x11A45, 0x11A9A, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C46, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__BA_invlist[] = { /* for EBCDIC 037 */ 197, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0x4F, 0x50, 0xCA, 0xCB, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x964, 0x966, 0xE5A, 0xE5C, 0xF0B, 0xF0C, 0xF34, 0xF35, 0xF7F, 0xF80, 0xF85, 0xF86, 0xFBE, 0xFC0, 0xFD2, 0xFD3, 0x104A, 0x104C, 0x1361, 0x1362, 0x1400, 0x1401, 0x1680, 0x1681, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D6, 0x17D8, 0x17D9, 0x17DA, 0x17DB, 0x1804, 0x1806, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B61, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x2000, 0x2007, 0x2008, 0x200B, 0x2010, 0x2011, 0x2012, 0x2014, 0x2027, 0x2028, 0x2056, 0x2057, 0x2058, 0x205C, 0x205D, 0x2060, 0x2CFA, 0x2CFD, 0x2CFF, 0x2D00, 0x2D70, 0x2D71, 0x2E0E, 0x2E16, 0x2E17, 0x2E18, 0x2E19, 0x2E1A, 0x2E2A, 0x2E2E, 0x2E30, 0x2E32, 0x2E33, 0x2E35, 0x2E3C, 0x2E3F, 0x2E40, 0x2E42, 0x2E43, 0x2E4B, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3000, 0x3001, 0xA4FE, 0xA500, 0xA60D, 0xA60E, 0xA60F, 0xA610, 0xA6F3, 0xA6F8, 0xA8CE, 0xA8D0, 0xA92E, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A50, 0x10A58, 0x10AF0, 0x10AF6, 0x10B39, 0x10B40, 0x10EAD, 0x10EAE, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x111C5, 0x111C7, 0x111C8, 0x111C9, 0x111DD, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144F, 0x1145A, 0x1145C, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11947, 0x11A41, 0x11A45, 0x11A9A, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C46, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__BB_invlist[] = { /* for ASCII/Latin1 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB4, 0xB5, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0xC77, 0xC78, 0xC84, 0xC85, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0x1806, 0x1807, 0x1FFD, 0x1FFE, 0xA874, 0xA876, 0xA8FC, 0xA8FD, 0x11175, 0x11176, 0x111DB, 0x111DC, 0x115C1, 0x115C2, 0x11660, 0x1166D, 0x119E2, 0x119E3, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11A9E, 0x11AA1, 0x11C70, 0x11C71 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__BB_invlist[] = { /* for EBCDIC 1047 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBE, 0xBF, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0xC77, 0xC78, 0xC84, 0xC85, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0x1806, 0x1807, 0x1FFD, 0x1FFE, 0xA874, 0xA876, 0xA8FC, 0xA8FD, 0x11175, 0x11176, 0x111DB, 0x111DC, 0x115C1, 0x115C2, 0x11660, 0x1166D, 0x119E2, 0x119E3, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11A9E, 0x11AA1, 0x11C70, 0x11C71 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__BB_invlist[] = { /* for EBCDIC 037 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBE, 0xBF, 0x2C8, 0x2C9, 0x2CC, 0x2CD, 0x2DF, 0x2E0, 0xC77, 0xC78, 0xC84, 0xC85, 0xF01, 0xF05, 0xF06, 0xF08, 0xF09, 0xF0B, 0xFD0, 0xFD2, 0xFD3, 0xFD4, 0x1806, 0x1807, 0x1FFD, 0x1FFE, 0xA874, 0xA876, 0xA8FC, 0xA8FD, 0x11175, 0x11176, 0x111DB, 0x111DC, 0x115C1, 0x115C2, 0x11660, 0x1166D, 0x119E2, 0x119E3, 0x11A3F, 0x11A40, 0x11A45, 0x11A46, 0x11A9E, 0x11AA1, 0x11C70, 0x11C71 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__BK_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x2028, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__BK_invlist[] = { /* for EBCDIC 1047 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x2028, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__BK_invlist[] = { /* for EBCDIC 037 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x2028, 0x202A }; # endif /* EBCDIC 037 */ static const UV UNI_LB__CB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFFFC, 0xFFFD }; static const UV UNI_LB__CJ_invlist[] = { /* for all charsets */ 55, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FC, 0x30FD, 0x31F0, 0x3200, 0xFF67, 0xFF71, 0x1B150, 0x1B153, 0x1B164, 0x1B168 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__CL_invlist[] = { /* for ASCII/Latin1 */ 167, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3001, 0x3003, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE11, 0xFE13, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13287, 0x13288, 0x13289, 0x1328A, 0x1337A, 0x1337C, 0x13438, 0x13439, 0x145CF, 0x145D0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__CL_invlist[] = { /* for EBCDIC 1047 */ 167, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3001, 0x3003, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE11, 0xFE13, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13287, 0x13288, 0x13289, 0x1328A, 0x1337A, 0x1337C, 0x13438, 0x13439, 0x145CF, 0x145D0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__CL_invlist[] = { /* for EBCDIC 037 */ 167, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3001, 0x3003, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE11, 0xFE13, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE53, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF62, 0xFF63, 0xFF65, 0x1325B, 0x1325E, 0x13282, 0x13283, 0x13287, 0x13288, 0x13289, 0x1328A, 0x1337A, 0x1337C, 0x13438, 0x13439, 0x145CF, 0x145D0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__CM_invlist[] = { /* for ASCII/Latin1 */ 556, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x7F, 0x85, 0x86, 0xA0, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x200E, 0x2010, 0x202A, 0x202F, 0x2066, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3035, 0x3036, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 1047 */ 560, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0xFF, 0x100, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x200E, 0x2010, 0x202A, 0x202F, 0x2066, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3035, 0x3036, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__CM_invlist[] = { /* for EBCDIC 037 */ 560, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0xFF, 0x100, 0x300, 0x34F, 0x350, 0x35C, 0x363, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x61C, 0x61D, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x200E, 0x2010, 0x202A, 0x202F, 0x2066, 0x2070, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3035, 0x3036, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFFF9, 0xFFFC, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__CP_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x29, 0x2A, 0x5D, 0x5E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__CP_invlist[] = { /* for EBCDIC 1047 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBD, 0xBE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__CP_invlist[] = { /* for EBCDIC 037 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBB, 0xBC }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__CR_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__CR_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__CR_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD, 0xE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__EX_invlist[] = { /* for ASCII/Latin1 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x22, 0x3F, 0x40, 0x5C6, 0x5C7, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x7F9, 0x7FA, 0xF0D, 0xF12, 0xF14, 0xF15, 0x1802, 0x1804, 0x1808, 0x180A, 0x1944, 0x1946, 0x2762, 0x2764, 0x2CF9, 0x2CFA, 0x2CFE, 0x2CFF, 0x2E2E, 0x2E2F, 0xA60E, 0xA60F, 0xA876, 0xA878, 0xFE15, 0xFE17, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0x115C4, 0x115C6, 0x11C71, 0x11C72 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__EX_invlist[] = { /* for EBCDIC 1047 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5A, 0x5B, 0x6F, 0x70, 0x5C6, 0x5C7, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x7F9, 0x7FA, 0xF0D, 0xF12, 0xF14, 0xF15, 0x1802, 0x1804, 0x1808, 0x180A, 0x1944, 0x1946, 0x2762, 0x2764, 0x2CF9, 0x2CFA, 0x2CFE, 0x2CFF, 0x2E2E, 0x2E2F, 0xA60E, 0xA60F, 0xA876, 0xA878, 0xFE15, 0xFE17, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0x115C4, 0x115C6, 0x11C71, 0x11C72 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__EX_invlist[] = { /* for EBCDIC 037 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5A, 0x5B, 0x6F, 0x70, 0x5C6, 0x5C7, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x7F9, 0x7FA, 0xF0D, 0xF12, 0xF14, 0xF15, 0x1802, 0x1804, 0x1808, 0x180A, 0x1944, 0x1946, 0x2762, 0x2764, 0x2CF9, 0x2CFA, 0x2CFE, 0x2CFF, 0x2E2E, 0x2E2F, 0xA60E, 0xA60F, 0xA876, 0xA878, 0xFE15, 0xFE17, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0x115C4, 0x115C6, 0x11C71, 0x11C72 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__GL_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0x34F, 0x350, 0x35C, 0x363, 0xF08, 0xF09, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xFD9, 0xFDB, 0x180E, 0x180F, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030, 0x13430, 0x13437, 0x16FE4, 0x16FE5 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 1047 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x34F, 0x350, 0x35C, 0x363, 0xF08, 0xF09, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xFD9, 0xFDB, 0x180E, 0x180F, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030, 0x13430, 0x13437, 0x16FE4, 0x16FE5 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__GL_invlist[] = { /* for EBCDIC 037 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x34F, 0x350, 0x35C, 0x363, 0xF08, 0xF09, 0xF0C, 0xF0D, 0xF12, 0xF13, 0xFD9, 0xFDB, 0x180E, 0x180F, 0x2007, 0x2008, 0x2011, 0x2012, 0x202F, 0x2030, 0x13430, 0x13437, 0x16FE4, 0x16FE5 }; # endif /* EBCDIC 037 */ static const UV UNI_LB__H2_invlist[] = { /* for all charsets */ 799, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAC00, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789 }; static const UV UNI_LB__H3_invlist[] = { /* for all charsets */ 799, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAC01, 0xAC1C, 0xAC1D, 0xAC38, 0xAC39, 0xAC54, 0xAC55, 0xAC70, 0xAC71, 0xAC8C, 0xAC8D, 0xACA8, 0xACA9, 0xACC4, 0xACC5, 0xACE0, 0xACE1, 0xACFC, 0xACFD, 0xAD18, 0xAD19, 0xAD34, 0xAD35, 0xAD50, 0xAD51, 0xAD6C, 0xAD6D, 0xAD88, 0xAD89, 0xADA4, 0xADA5, 0xADC0, 0xADC1, 0xADDC, 0xADDD, 0xADF8, 0xADF9, 0xAE14, 0xAE15, 0xAE30, 0xAE31, 0xAE4C, 0xAE4D, 0xAE68, 0xAE69, 0xAE84, 0xAE85, 0xAEA0, 0xAEA1, 0xAEBC, 0xAEBD, 0xAED8, 0xAED9, 0xAEF4, 0xAEF5, 0xAF10, 0xAF11, 0xAF2C, 0xAF2D, 0xAF48, 0xAF49, 0xAF64, 0xAF65, 0xAF80, 0xAF81, 0xAF9C, 0xAF9D, 0xAFB8, 0xAFB9, 0xAFD4, 0xAFD5, 0xAFF0, 0xAFF1, 0xB00C, 0xB00D, 0xB028, 0xB029, 0xB044, 0xB045, 0xB060, 0xB061, 0xB07C, 0xB07D, 0xB098, 0xB099, 0xB0B4, 0xB0B5, 0xB0D0, 0xB0D1, 0xB0EC, 0xB0ED, 0xB108, 0xB109, 0xB124, 0xB125, 0xB140, 0xB141, 0xB15C, 0xB15D, 0xB178, 0xB179, 0xB194, 0xB195, 0xB1B0, 0xB1B1, 0xB1CC, 0xB1CD, 0xB1E8, 0xB1E9, 0xB204, 0xB205, 0xB220, 0xB221, 0xB23C, 0xB23D, 0xB258, 0xB259, 0xB274, 0xB275, 0xB290, 0xB291, 0xB2AC, 0xB2AD, 0xB2C8, 0xB2C9, 0xB2E4, 0xB2E5, 0xB300, 0xB301, 0xB31C, 0xB31D, 0xB338, 0xB339, 0xB354, 0xB355, 0xB370, 0xB371, 0xB38C, 0xB38D, 0xB3A8, 0xB3A9, 0xB3C4, 0xB3C5, 0xB3E0, 0xB3E1, 0xB3FC, 0xB3FD, 0xB418, 0xB419, 0xB434, 0xB435, 0xB450, 0xB451, 0xB46C, 0xB46D, 0xB488, 0xB489, 0xB4A4, 0xB4A5, 0xB4C0, 0xB4C1, 0xB4DC, 0xB4DD, 0xB4F8, 0xB4F9, 0xB514, 0xB515, 0xB530, 0xB531, 0xB54C, 0xB54D, 0xB568, 0xB569, 0xB584, 0xB585, 0xB5A0, 0xB5A1, 0xB5BC, 0xB5BD, 0xB5D8, 0xB5D9, 0xB5F4, 0xB5F5, 0xB610, 0xB611, 0xB62C, 0xB62D, 0xB648, 0xB649, 0xB664, 0xB665, 0xB680, 0xB681, 0xB69C, 0xB69D, 0xB6B8, 0xB6B9, 0xB6D4, 0xB6D5, 0xB6F0, 0xB6F1, 0xB70C, 0xB70D, 0xB728, 0xB729, 0xB744, 0xB745, 0xB760, 0xB761, 0xB77C, 0xB77D, 0xB798, 0xB799, 0xB7B4, 0xB7B5, 0xB7D0, 0xB7D1, 0xB7EC, 0xB7ED, 0xB808, 0xB809, 0xB824, 0xB825, 0xB840, 0xB841, 0xB85C, 0xB85D, 0xB878, 0xB879, 0xB894, 0xB895, 0xB8B0, 0xB8B1, 0xB8CC, 0xB8CD, 0xB8E8, 0xB8E9, 0xB904, 0xB905, 0xB920, 0xB921, 0xB93C, 0xB93D, 0xB958, 0xB959, 0xB974, 0xB975, 0xB990, 0xB991, 0xB9AC, 0xB9AD, 0xB9C8, 0xB9C9, 0xB9E4, 0xB9E5, 0xBA00, 0xBA01, 0xBA1C, 0xBA1D, 0xBA38, 0xBA39, 0xBA54, 0xBA55, 0xBA70, 0xBA71, 0xBA8C, 0xBA8D, 0xBAA8, 0xBAA9, 0xBAC4, 0xBAC5, 0xBAE0, 0xBAE1, 0xBAFC, 0xBAFD, 0xBB18, 0xBB19, 0xBB34, 0xBB35, 0xBB50, 0xBB51, 0xBB6C, 0xBB6D, 0xBB88, 0xBB89, 0xBBA4, 0xBBA5, 0xBBC0, 0xBBC1, 0xBBDC, 0xBBDD, 0xBBF8, 0xBBF9, 0xBC14, 0xBC15, 0xBC30, 0xBC31, 0xBC4C, 0xBC4D, 0xBC68, 0xBC69, 0xBC84, 0xBC85, 0xBCA0, 0xBCA1, 0xBCBC, 0xBCBD, 0xBCD8, 0xBCD9, 0xBCF4, 0xBCF5, 0xBD10, 0xBD11, 0xBD2C, 0xBD2D, 0xBD48, 0xBD49, 0xBD64, 0xBD65, 0xBD80, 0xBD81, 0xBD9C, 0xBD9D, 0xBDB8, 0xBDB9, 0xBDD4, 0xBDD5, 0xBDF0, 0xBDF1, 0xBE0C, 0xBE0D, 0xBE28, 0xBE29, 0xBE44, 0xBE45, 0xBE60, 0xBE61, 0xBE7C, 0xBE7D, 0xBE98, 0xBE99, 0xBEB4, 0xBEB5, 0xBED0, 0xBED1, 0xBEEC, 0xBEED, 0xBF08, 0xBF09, 0xBF24, 0xBF25, 0xBF40, 0xBF41, 0xBF5C, 0xBF5D, 0xBF78, 0xBF79, 0xBF94, 0xBF95, 0xBFB0, 0xBFB1, 0xBFCC, 0xBFCD, 0xBFE8, 0xBFE9, 0xC004, 0xC005, 0xC020, 0xC021, 0xC03C, 0xC03D, 0xC058, 0xC059, 0xC074, 0xC075, 0xC090, 0xC091, 0xC0AC, 0xC0AD, 0xC0C8, 0xC0C9, 0xC0E4, 0xC0E5, 0xC100, 0xC101, 0xC11C, 0xC11D, 0xC138, 0xC139, 0xC154, 0xC155, 0xC170, 0xC171, 0xC18C, 0xC18D, 0xC1A8, 0xC1A9, 0xC1C4, 0xC1C5, 0xC1E0, 0xC1E1, 0xC1FC, 0xC1FD, 0xC218, 0xC219, 0xC234, 0xC235, 0xC250, 0xC251, 0xC26C, 0xC26D, 0xC288, 0xC289, 0xC2A4, 0xC2A5, 0xC2C0, 0xC2C1, 0xC2DC, 0xC2DD, 0xC2F8, 0xC2F9, 0xC314, 0xC315, 0xC330, 0xC331, 0xC34C, 0xC34D, 0xC368, 0xC369, 0xC384, 0xC385, 0xC3A0, 0xC3A1, 0xC3BC, 0xC3BD, 0xC3D8, 0xC3D9, 0xC3F4, 0xC3F5, 0xC410, 0xC411, 0xC42C, 0xC42D, 0xC448, 0xC449, 0xC464, 0xC465, 0xC480, 0xC481, 0xC49C, 0xC49D, 0xC4B8, 0xC4B9, 0xC4D4, 0xC4D5, 0xC4F0, 0xC4F1, 0xC50C, 0xC50D, 0xC528, 0xC529, 0xC544, 0xC545, 0xC560, 0xC561, 0xC57C, 0xC57D, 0xC598, 0xC599, 0xC5B4, 0xC5B5, 0xC5D0, 0xC5D1, 0xC5EC, 0xC5ED, 0xC608, 0xC609, 0xC624, 0xC625, 0xC640, 0xC641, 0xC65C, 0xC65D, 0xC678, 0xC679, 0xC694, 0xC695, 0xC6B0, 0xC6B1, 0xC6CC, 0xC6CD, 0xC6E8, 0xC6E9, 0xC704, 0xC705, 0xC720, 0xC721, 0xC73C, 0xC73D, 0xC758, 0xC759, 0xC774, 0xC775, 0xC790, 0xC791, 0xC7AC, 0xC7AD, 0xC7C8, 0xC7C9, 0xC7E4, 0xC7E5, 0xC800, 0xC801, 0xC81C, 0xC81D, 0xC838, 0xC839, 0xC854, 0xC855, 0xC870, 0xC871, 0xC88C, 0xC88D, 0xC8A8, 0xC8A9, 0xC8C4, 0xC8C5, 0xC8E0, 0xC8E1, 0xC8FC, 0xC8FD, 0xC918, 0xC919, 0xC934, 0xC935, 0xC950, 0xC951, 0xC96C, 0xC96D, 0xC988, 0xC989, 0xC9A4, 0xC9A5, 0xC9C0, 0xC9C1, 0xC9DC, 0xC9DD, 0xC9F8, 0xC9F9, 0xCA14, 0xCA15, 0xCA30, 0xCA31, 0xCA4C, 0xCA4D, 0xCA68, 0xCA69, 0xCA84, 0xCA85, 0xCAA0, 0xCAA1, 0xCABC, 0xCABD, 0xCAD8, 0xCAD9, 0xCAF4, 0xCAF5, 0xCB10, 0xCB11, 0xCB2C, 0xCB2D, 0xCB48, 0xCB49, 0xCB64, 0xCB65, 0xCB80, 0xCB81, 0xCB9C, 0xCB9D, 0xCBB8, 0xCBB9, 0xCBD4, 0xCBD5, 0xCBF0, 0xCBF1, 0xCC0C, 0xCC0D, 0xCC28, 0xCC29, 0xCC44, 0xCC45, 0xCC60, 0xCC61, 0xCC7C, 0xCC7D, 0xCC98, 0xCC99, 0xCCB4, 0xCCB5, 0xCCD0, 0xCCD1, 0xCCEC, 0xCCED, 0xCD08, 0xCD09, 0xCD24, 0xCD25, 0xCD40, 0xCD41, 0xCD5C, 0xCD5D, 0xCD78, 0xCD79, 0xCD94, 0xCD95, 0xCDB0, 0xCDB1, 0xCDCC, 0xCDCD, 0xCDE8, 0xCDE9, 0xCE04, 0xCE05, 0xCE20, 0xCE21, 0xCE3C, 0xCE3D, 0xCE58, 0xCE59, 0xCE74, 0xCE75, 0xCE90, 0xCE91, 0xCEAC, 0xCEAD, 0xCEC8, 0xCEC9, 0xCEE4, 0xCEE5, 0xCF00, 0xCF01, 0xCF1C, 0xCF1D, 0xCF38, 0xCF39, 0xCF54, 0xCF55, 0xCF70, 0xCF71, 0xCF8C, 0xCF8D, 0xCFA8, 0xCFA9, 0xCFC4, 0xCFC5, 0xCFE0, 0xCFE1, 0xCFFC, 0xCFFD, 0xD018, 0xD019, 0xD034, 0xD035, 0xD050, 0xD051, 0xD06C, 0xD06D, 0xD088, 0xD089, 0xD0A4, 0xD0A5, 0xD0C0, 0xD0C1, 0xD0DC, 0xD0DD, 0xD0F8, 0xD0F9, 0xD114, 0xD115, 0xD130, 0xD131, 0xD14C, 0xD14D, 0xD168, 0xD169, 0xD184, 0xD185, 0xD1A0, 0xD1A1, 0xD1BC, 0xD1BD, 0xD1D8, 0xD1D9, 0xD1F4, 0xD1F5, 0xD210, 0xD211, 0xD22C, 0xD22D, 0xD248, 0xD249, 0xD264, 0xD265, 0xD280, 0xD281, 0xD29C, 0xD29D, 0xD2B8, 0xD2B9, 0xD2D4, 0xD2D5, 0xD2F0, 0xD2F1, 0xD30C, 0xD30D, 0xD328, 0xD329, 0xD344, 0xD345, 0xD360, 0xD361, 0xD37C, 0xD37D, 0xD398, 0xD399, 0xD3B4, 0xD3B5, 0xD3D0, 0xD3D1, 0xD3EC, 0xD3ED, 0xD408, 0xD409, 0xD424, 0xD425, 0xD440, 0xD441, 0xD45C, 0xD45D, 0xD478, 0xD479, 0xD494, 0xD495, 0xD4B0, 0xD4B1, 0xD4CC, 0xD4CD, 0xD4E8, 0xD4E9, 0xD504, 0xD505, 0xD520, 0xD521, 0xD53C, 0xD53D, 0xD558, 0xD559, 0xD574, 0xD575, 0xD590, 0xD591, 0xD5AC, 0xD5AD, 0xD5C8, 0xD5C9, 0xD5E4, 0xD5E5, 0xD600, 0xD601, 0xD61C, 0xD61D, 0xD638, 0xD639, 0xD654, 0xD655, 0xD670, 0xD671, 0xD68C, 0xD68D, 0xD6A8, 0xD6A9, 0xD6C4, 0xD6C5, 0xD6E0, 0xD6E1, 0xD6FC, 0xD6FD, 0xD718, 0xD719, 0xD734, 0xD735, 0xD750, 0xD751, 0xD76C, 0xD76D, 0xD788, 0xD789, 0xD7A4 }; static const UV UNI_LB__HL_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB50 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__HY_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__HY_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__HY_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61 }; # endif /* EBCDIC 037 */ static const UV UNI_LB__ID_invlist[] = { /* for all charsets */ 331, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x231A, 0x231C, 0x23F0, 0x23F4, 0x2600, 0x2604, 0x2614, 0x2616, 0x2618, 0x2619, 0x261A, 0x261D, 0x261E, 0x2620, 0x2639, 0x263C, 0x2668, 0x2669, 0x267F, 0x2680, 0x26BD, 0x26C9, 0x26CD, 0x26CE, 0x26CF, 0x26D2, 0x26D3, 0x26D5, 0x26D8, 0x26DA, 0x26DC, 0x26DD, 0x26DF, 0x26E2, 0x26EA, 0x26EB, 0x26F1, 0x26F6, 0x26F7, 0x26F9, 0x26FA, 0x26FB, 0x26FD, 0x2705, 0x2708, 0x270A, 0x2764, 0x2765, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3003, 0x3005, 0x3006, 0x3008, 0x3012, 0x3014, 0x3020, 0x302A, 0x3030, 0x3035, 0x3036, 0x303B, 0x303D, 0x3040, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x309F, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x4DC0, 0x4E00, 0xA015, 0xA016, 0xA48D, 0xA490, 0xA4C7, 0xF900, 0xFB00, 0xFE30, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE51, 0xFE52, 0xFE58, 0xFE59, 0xFE5F, 0xFE67, 0xFE68, 0xFE69, 0xFE6B, 0xFE6C, 0xFF02, 0xFF04, 0xFF06, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0xFF67, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE2, 0xFFE5, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B170, 0x1B2FC, 0x1F000, 0x1F100, 0x1F10D, 0x1F110, 0x1F16D, 0x1F170, 0x1F1AD, 0x1F1E6, 0x1F200, 0x1F385, 0x1F386, 0x1F39C, 0x1F39E, 0x1F3B5, 0x1F3B7, 0x1F3BC, 0x1F3BD, 0x1F3C2, 0x1F3C5, 0x1F3C7, 0x1F3C8, 0x1F3CA, 0x1F3CD, 0x1F3FB, 0x1F400, 0x1F442, 0x1F444, 0x1F446, 0x1F451, 0x1F466, 0x1F479, 0x1F47C, 0x1F47D, 0x1F481, 0x1F484, 0x1F485, 0x1F488, 0x1F48F, 0x1F490, 0x1F491, 0x1F492, 0x1F4A0, 0x1F4A1, 0x1F4A2, 0x1F4A3, 0x1F4A4, 0x1F4A5, 0x1F4AA, 0x1F4AB, 0x1F4AF, 0x1F4B0, 0x1F4B1, 0x1F4B3, 0x1F500, 0x1F507, 0x1F517, 0x1F525, 0x1F532, 0x1F54A, 0x1F574, 0x1F576, 0x1F57A, 0x1F57B, 0x1F590, 0x1F591, 0x1F595, 0x1F597, 0x1F5D4, 0x1F5DC, 0x1F5F4, 0x1F5FA, 0x1F645, 0x1F648, 0x1F64B, 0x1F680, 0x1F6A3, 0x1F6A4, 0x1F6B4, 0x1F6B7, 0x1F6C0, 0x1F6C1, 0x1F6CC, 0x1F6CD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D5, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F900, 0x1F90D, 0x1F90F, 0x1F910, 0x1F918, 0x1F920, 0x1F926, 0x1F927, 0x1F930, 0x1F93A, 0x1F93C, 0x1F93F, 0x1F977, 0x1F978, 0x1F9B5, 0x1F9B7, 0x1F9B8, 0x1F9BA, 0x1F9BB, 0x1F9BC, 0x1F9CD, 0x1F9D0, 0x1F9D1, 0x1F9DE, 0x1FA00, 0x1FA54, 0x1FB00, 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE }; static const UV UNI_LB__IN_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2024, 0x2027, 0x22EF, 0x22F0, 0xFE19, 0xFE1A, 0x10AF6, 0x10AF7 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__IS_invlist[] = { /* for ASCII/Latin1 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C, 0x2D, 0x2E, 0x2F, 0x3A, 0x3C, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE13, 0xFE15 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__IS_invlist[] = { /* for EBCDIC 1047 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5E, 0x5F, 0x6B, 0x6C, 0x7A, 0x7B, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE13, 0xFE15 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__IS_invlist[] = { /* for EBCDIC 037 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5E, 0x5F, 0x6B, 0x6C, 0x7A, 0x7B, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE13, 0xFE15 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__LF_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__LF_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x15, 0x16 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__LF_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x25, 0x26 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__NL_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x85, 0x86 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__NL_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x25, 0x26 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__NL_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x15, 0x16 }; # endif /* EBCDIC 037 */ static const UV UNI_LB__NS_invlist[] = { /* for all charsets */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x17D6, 0x17D7, 0x203C, 0x203E, 0x2047, 0x204A, 0x3005, 0x3006, 0x301C, 0x301D, 0x303B, 0x303D, 0x309B, 0x309F, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x30FD, 0x30FF, 0xA015, 0xA016, 0xFE54, 0xFE56, 0xFF1A, 0xFF1C, 0xFF65, 0xFF66, 0xFF9E, 0xFFA0, 0x16FE0, 0x16FE4, 0x1F679, 0x1F67C }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__NU_invlist[] = { /* for ASCII/Latin1 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 1047 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__NU_invlist[] = { /* for EBCDIC 037 */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__OP_invlist[] = { /* for ASCII/Latin1 */ 171, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x28, 0x29, 0x5B, 0x5C, 0x7B, 0x7C, 0xA1, 0xA2, 0xBF, 0xC0, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E18, 0x2E19, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0x13258, 0x1325B, 0x13286, 0x13287, 0x13288, 0x13289, 0x13379, 0x1337A, 0x13437, 0x13438, 0x145CE, 0x145CF, 0x1E95E, 0x1E960 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__OP_invlist[] = { /* for EBCDIC 1047 */ 169, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xAA, 0xAC, 0xAD, 0xAE, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E18, 0x2E19, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0x13258, 0x1325B, 0x13286, 0x13287, 0x13288, 0x13289, 0x13379, 0x1337A, 0x13437, 0x13438, 0x145CE, 0x145CF, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__OP_invlist[] = { /* for EBCDIC 037 */ 169, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xAA, 0xAC, 0xBA, 0xBB, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E18, 0x2E19, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63, 0x13258, 0x1325B, 0x13286, 0x13287, 0x13288, 0x13289, 0x13379, 0x1337A, 0x13437, 0x13438, 0x145CE, 0x145CF, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__PO_invlist[] = { /* for ASCII/Latin1 */ 47, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x25, 0x26, 0xA2, 0xA3, 0xB0, 0xB1, 0x609, 0x60C, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0xD79, 0xD7A, 0x2030, 0x2038, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x2103, 0x2104, 0x2109, 0x210A, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE6A, 0xFE6B, 0xFF05, 0xFF06, 0xFFE0, 0xFFE1, 0x11FDD, 0x11FE1, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__PO_invlist[] = { /* for EBCDIC 1047 */ 47, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x6C, 0x6D, 0x90, 0x91, 0x609, 0x60C, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0xD79, 0xD7A, 0x2030, 0x2038, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x2103, 0x2104, 0x2109, 0x210A, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE6A, 0xFE6B, 0xFF05, 0xFF06, 0xFFE0, 0xFFE1, 0x11FDD, 0x11FE1, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__PO_invlist[] = { /* for EBCDIC 037 */ 47, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x6C, 0x6D, 0x90, 0x91, 0x609, 0x60C, 0x66A, 0x66B, 0x9F2, 0x9F4, 0x9F9, 0x9FA, 0xD79, 0xD7A, 0x2030, 0x2038, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x2103, 0x2104, 0x2109, 0x210A, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE6A, 0xFE6B, 0xFF05, 0xFF06, 0xFFE0, 0xFFE1, 0x11FDD, 0x11FE1, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__PR_invlist[] = { /* for ASCII/Latin1 */ 49, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x24, 0x25, 0x2B, 0x2C, 0x5C, 0x5D, 0xA3, 0xA6, 0xB1, 0xB2, 0x58F, 0x590, 0x7FE, 0x800, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x2116, 0x2117, 0x2212, 0x2214, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0x1E2FF, 0x1E300 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__PR_invlist[] = { /* for EBCDIC 1047 */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4E, 0x4F, 0x5B, 0x5C, 0x8F, 0x90, 0x9F, 0xA0, 0xB1, 0xB3, 0xE0, 0xE1, 0x58F, 0x590, 0x7FE, 0x800, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x2116, 0x2117, 0x2212, 0x2214, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0x1E2FF, 0x1E300 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__PR_invlist[] = { /* for EBCDIC 037 */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4E, 0x4F, 0x5B, 0x5C, 0x8F, 0x90, 0x9F, 0xA0, 0xB1, 0xB3, 0xE0, 0xE1, 0x58F, 0x590, 0x7FE, 0x800, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20A7, 0x20A8, 0x20B6, 0x20B7, 0x20BB, 0x20BC, 0x20BE, 0x20BF, 0x20D0, 0x2116, 0x2117, 0x2212, 0x2214, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE1, 0xFFE2, 0xFFE5, 0xFFE7, 0x1E2FF, 0x1E300 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__QU_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x22, 0x23, 0x27, 0x28, 0xAB, 0xAC, 0xBB, 0xBC, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2039, 0x203B, 0x275B, 0x2761, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x1F676, 0x1F679 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__QU_invlist[] = { /* for EBCDIC 1047 */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2039, 0x203B, 0x275B, 0x2761, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x1F676, 0x1F679 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__QU_invlist[] = { /* for EBCDIC 037 */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x2018, 0x201A, 0x201B, 0x201E, 0x201F, 0x2020, 0x2039, 0x203B, 0x275B, 0x2761, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E22, 0x1F676, 0x1F679 }; # endif /* EBCDIC 037 */ static const UV UNI_LB__SA_invlist[] = { /* for all charsets */ 71, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xEDC, 0xEE0, 0x1000, 0x1040, 0x1050, 0x1090, 0x109A, 0x10A0, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19DA, 0x19DB, 0x19DE, 0x19E0, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1AA0, 0x1AAE, 0xA9E0, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA60, 0xAAC3, 0xAADB, 0xAAE0, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x1173A, 0x1173C, 0x1173F, 0x11740 }; static const UV UNI_LB__SG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD800, 0xE000 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__SP_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x21 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__SP_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__SP_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LB__SY_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2F, 0x30 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LB__SY_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x62 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LB__SY_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x62 }; # endif /* EBCDIC 037 */ static const UV UNI_LB__WJ_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2060, 0x2061, 0xFEFF, 0xFF00 }; static const UV UNI_LB__XX_invlist[] = { /* for all charsets */ 1266, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xD800, 0xE000, 0xF900, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x1FC00, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; static const UV UNI_LB__ZW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x200B, 0x200C }; static const UV UNI_LB__ZWJ_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x200D, 0x200E }; static const UV UNI_LEPC_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C00, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C50 }; static const UV UNI_LETTERLIKESYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2100, 0x2150 }; static const UV UNI_LIMB_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x965, 0x966, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x1950 }; static const UV UNI_LINA_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10107, 0x10134, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768 }; static const UV UNI_LINB_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140 }; static const UV UNI_LINEARBIDEOGRAMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10080, 0x10100 }; static const UV UNI_LINEARBSYLLABARY_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10000, 0x10080 }; static const UV UNI_LISU_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA4D0, 0xA500, 0x11FB0, 0x11FB1 }; static const UV UNI_LISUSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FB0, 0x11FC0 }; static const UV UNI_LM_invlist[] = { /* for all charsets */ 123, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B0, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x374, 0x375, 0x37A, 0x37B, 0x559, 0x55A, 0x640, 0x641, 0x6E5, 0x6E7, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x971, 0x972, 0xE46, 0xE47, 0xEC6, 0xEC7, 0x10FC, 0x10FD, 0x17D7, 0x17D8, 0x1843, 0x1844, 0x1AA7, 0x1AA8, 0x1C78, 0x1C7E, 0x1D2C, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x3031, 0x3036, 0x303B, 0x303C, 0x309D, 0x309F, 0x30FC, 0x30FF, 0xA015, 0xA016, 0xA4F8, 0xA4FE, 0xA60C, 0xA60D, 0xA67F, 0xA680, 0xA69C, 0xA69E, 0xA717, 0xA720, 0xA770, 0xA771, 0xA788, 0xA789, 0xA7F8, 0xA7FA, 0xA9CF, 0xA9D0, 0xA9E6, 0xA9E7, 0xAA70, 0xAA71, 0xAADD, 0xAADE, 0xAAF3, 0xAAF5, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0x16B40, 0x16B44, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1E137, 0x1E13E, 0x1E94B, 0x1E94C }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_LO_invlist[] = { /* for ASCII/Latin1 */ 979, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA, 0xAB, 0xBA, 0xBB, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x800, 0x816, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x972, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE46, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1100, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17DC, 0x17DD, 0x1820, 0x1843, 0x1844, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C78, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x2135, 0x2139, 0x2D30, 0x2D68, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3006, 0x3007, 0x303C, 0x303D, 0x3041, 0x3097, 0x309F, 0x30A0, 0x30A1, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA015, 0xA016, 0xA48D, 0xA4D0, 0xA4F8, 0xA500, 0xA60C, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA66E, 0xA66F, 0xA6A0, 0xA6E6, 0xA78F, 0xA790, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9E0, 0xA9E5, 0xA9E7, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADD, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF3, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10450, 0x1049E, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1E100, 0x1E12D, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_LO_invlist[] = { /* for EBCDIC 1047 */ 977, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x800, 0x816, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x972, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE46, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1100, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17DC, 0x17DD, 0x1820, 0x1843, 0x1844, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C78, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x2135, 0x2139, 0x2D30, 0x2D68, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3006, 0x3007, 0x303C, 0x303D, 0x3041, 0x3097, 0x309F, 0x30A0, 0x30A1, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA015, 0xA016, 0xA48D, 0xA4D0, 0xA4F8, 0xA500, 0xA60C, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA66E, 0xA66F, 0xA6A0, 0xA6E6, 0xA78F, 0xA790, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9E0, 0xA9E5, 0xA9E7, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADD, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF3, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10450, 0x1049E, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1E100, 0x1E12D, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_LO_invlist[] = { /* for EBCDIC 037 */ 977, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9A, 0x9C, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x640, 0x641, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x800, 0x816, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x972, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE46, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1100, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16F1, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17DC, 0x17DD, 0x1820, 0x1843, 0x1844, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C78, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x2135, 0x2139, 0x2D30, 0x2D68, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3006, 0x3007, 0x303C, 0x303D, 0x3041, 0x3097, 0x309F, 0x30A0, 0x30A1, 0x30FB, 0x30FF, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA015, 0xA016, 0xA48D, 0xA4D0, 0xA4F8, 0xA500, 0xA60C, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA66E, 0xA66F, 0xA6A0, 0xA6E6, 0xA78F, 0xA790, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9E0, 0xA9E5, 0xA9E7, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA70, 0xAA71, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADD, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF3, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xABC0, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x10341, 0x10342, 0x1034A, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x10450, 0x1049E, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1E100, 0x1E12D, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_LOE_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE40, 0xE45, 0xEC0, 0xEC5, 0x19B5, 0x19B8, 0x19BA, 0x19BB, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABA, 0xAABB, 0xAABD }; static const UV UNI_LOWSURROGATES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDC00, 0xE000 }; static const UV UNI_LYCI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10280, 0x1029D }; static const UV UNI_LYDI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10920, 0x1093A, 0x1093F, 0x10940 }; static const UV UNI_M_invlist[] = { /* for all charsets */ 581, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0100, 0xE01F0 }; static const UV UNI_MAHJ_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x970, 0xA830, 0xA83A, 0x11150, 0x11177 }; static const UV UNI_MAHJONG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F000, 0x1F030 }; static const UV UNI_MAKA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11EE0, 0x11EF9 }; static const UV UNI_MAND_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x840, 0x85C, 0x85E, 0x85F }; static const UV UNI_MANI_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7 }; static const UV UNI_MARC_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_MATH_invlist[] = { /* for ASCII/Latin1 */ 277, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B, 0x2C, 0x3C, 0x3F, 0x5E, 0x5F, 0x7C, 0x7D, 0x7E, 0x7F, 0xAC, 0xAD, 0xB1, 0xB2, 0xD7, 0xD8, 0xF7, 0xF8, 0x3D0, 0x3D3, 0x3D5, 0x3D6, 0x3F0, 0x3F2, 0x3F4, 0x3F7, 0x606, 0x609, 0x2016, 0x2017, 0x2032, 0x2035, 0x2040, 0x2041, 0x2044, 0x2045, 0x2052, 0x2053, 0x2061, 0x2065, 0x207A, 0x207F, 0x208A, 0x208F, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20E7, 0x20EB, 0x20F0, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2128, 0x212A, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x2139, 0x213C, 0x214A, 0x214B, 0x214C, 0x2190, 0x21A8, 0x21A9, 0x21AF, 0x21B0, 0x21B2, 0x21B6, 0x21B8, 0x21BC, 0x21DC, 0x21DD, 0x21DE, 0x21E4, 0x21E6, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B6, 0x23B7, 0x23B8, 0x23D0, 0x23D1, 0x23DC, 0x23E3, 0x25A0, 0x25A2, 0x25AE, 0x25B8, 0x25BC, 0x25C2, 0x25C6, 0x25C8, 0x25CA, 0x25CC, 0x25CF, 0x25D4, 0x25E2, 0x25E3, 0x25E4, 0x25E5, 0x25E7, 0x25ED, 0x25F8, 0x2600, 0x2605, 0x2607, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2664, 0x266D, 0x2670, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE61, 0xFE67, 0xFE68, 0xFE69, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_MATH_invlist[] = { /* for EBCDIC 1047 */ 279, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4D, 0x4E, 0x50, 0x5F, 0x60, 0x6E, 0x6F, 0x7E, 0x7F, 0x8F, 0x90, 0xA1, 0xA2, 0xB0, 0xB1, 0xBF, 0xC0, 0xE1, 0xE2, 0x3D0, 0x3D3, 0x3D5, 0x3D6, 0x3F0, 0x3F2, 0x3F4, 0x3F7, 0x606, 0x609, 0x2016, 0x2017, 0x2032, 0x2035, 0x2040, 0x2041, 0x2044, 0x2045, 0x2052, 0x2053, 0x2061, 0x2065, 0x207A, 0x207F, 0x208A, 0x208F, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20E7, 0x20EB, 0x20F0, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2128, 0x212A, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x2139, 0x213C, 0x214A, 0x214B, 0x214C, 0x2190, 0x21A8, 0x21A9, 0x21AF, 0x21B0, 0x21B2, 0x21B6, 0x21B8, 0x21BC, 0x21DC, 0x21DD, 0x21DE, 0x21E4, 0x21E6, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B6, 0x23B7, 0x23B8, 0x23D0, 0x23D1, 0x23DC, 0x23E3, 0x25A0, 0x25A2, 0x25AE, 0x25B8, 0x25BC, 0x25C2, 0x25C6, 0x25C8, 0x25CA, 0x25CC, 0x25CF, 0x25D4, 0x25E2, 0x25E3, 0x25E4, 0x25E5, 0x25E7, 0x25ED, 0x25F8, 0x2600, 0x2605, 0x2607, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2664, 0x266D, 0x2670, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE61, 0xFE67, 0xFE68, 0xFE69, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_MATH_invlist[] = { /* for EBCDIC 037 */ 279, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4D, 0x4E, 0x50, 0x5F, 0x60, 0x6E, 0x6F, 0x7E, 0x7F, 0x8F, 0x90, 0xA1, 0xA2, 0xB0, 0xB1, 0xBF, 0xC0, 0xE1, 0xE2, 0x3D0, 0x3D3, 0x3D5, 0x3D6, 0x3F0, 0x3F2, 0x3F4, 0x3F7, 0x606, 0x609, 0x2016, 0x2017, 0x2032, 0x2035, 0x2040, 0x2041, 0x2044, 0x2045, 0x2052, 0x2053, 0x2061, 0x2065, 0x207A, 0x207F, 0x208A, 0x208F, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20E7, 0x20EB, 0x20F0, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2128, 0x212A, 0x212C, 0x212E, 0x212F, 0x2132, 0x2133, 0x2139, 0x213C, 0x214A, 0x214B, 0x214C, 0x2190, 0x21A8, 0x21A9, 0x21AF, 0x21B0, 0x21B2, 0x21B6, 0x21B8, 0x21BC, 0x21DC, 0x21DD, 0x21DE, 0x21E4, 0x21E6, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B6, 0x23B7, 0x23B8, 0x23D0, 0x23D1, 0x23DC, 0x23E3, 0x25A0, 0x25A2, 0x25AE, 0x25B8, 0x25BC, 0x25C2, 0x25C6, 0x25C8, 0x25CA, 0x25CC, 0x25CF, 0x25D4, 0x25E2, 0x25E3, 0x25E4, 0x25E5, 0x25E7, 0x25ED, 0x25F8, 0x2600, 0x2605, 0x2607, 0x2640, 0x2641, 0x2642, 0x2643, 0x2660, 0x2664, 0x266D, 0x2670, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE61, 0xFE67, 0xFE68, 0xFE69, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2 }; # endif /* EBCDIC 037 */ static const UV UNI_MATHALPHANUM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D400, 0x1D800 }; static const UV UNI_MATHOPERATORS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2200, 0x2300 }; static const UV UNI_MAYANNUMERALS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D2E0, 0x1D300 }; static const UV UNI_MC_invlist[] = { /* for all charsets */ 351, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x903, 0x904, 0x93B, 0x93C, 0x93E, 0x941, 0x949, 0x94D, 0x94E, 0x950, 0x982, 0x984, 0x9BE, 0x9C1, 0x9C7, 0x9C9, 0x9CB, 0x9CD, 0x9D7, 0x9D8, 0xA03, 0xA04, 0xA3E, 0xA41, 0xA83, 0xA84, 0xABE, 0xAC1, 0xAC9, 0xACA, 0xACB, 0xACD, 0xB02, 0xB04, 0xB3E, 0xB3F, 0xB40, 0xB41, 0xB47, 0xB49, 0xB4B, 0xB4D, 0xB57, 0xB58, 0xBBE, 0xBC0, 0xBC1, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCD, 0xBD7, 0xBD8, 0xC01, 0xC04, 0xC41, 0xC45, 0xC82, 0xC84, 0xCBE, 0xCBF, 0xCC0, 0xCC5, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xCD5, 0xCD7, 0xD02, 0xD04, 0xD3E, 0xD41, 0xD46, 0xD49, 0xD4A, 0xD4D, 0xD57, 0xD58, 0xD82, 0xD84, 0xDCF, 0xDD2, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xF3E, 0xF40, 0xF7F, 0xF80, 0x102B, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x1056, 0x1058, 0x1062, 0x1065, 0x1067, 0x106E, 0x1083, 0x1085, 0x1087, 0x108D, 0x108F, 0x1090, 0x109A, 0x109D, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x1923, 0x1927, 0x1929, 0x192C, 0x1930, 0x1932, 0x1933, 0x1939, 0x1A19, 0x1A1B, 0x1A55, 0x1A56, 0x1A57, 0x1A58, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1B04, 0x1B05, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B45, 0x1B82, 0x1B83, 0x1BA1, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1BF4, 0x1C24, 0x1C2C, 0x1C34, 0x1C36, 0x1CE1, 0x1CE2, 0x1CF7, 0x1CF8, 0x302E, 0x3030, 0xA823, 0xA825, 0xA827, 0xA828, 0xA880, 0xA882, 0xA8B4, 0xA8C4, 0xA952, 0xA954, 0xA983, 0xA984, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9C1, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA4D, 0xAA4E, 0xAA7B, 0xAA7C, 0xAA7D, 0xAA7E, 0xAAEB, 0xAAEC, 0xAAEE, 0xAAF0, 0xAAF5, 0xAAF6, 0xABE3, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABEB, 0xABEC, 0xABED, 0x11000, 0x11001, 0x11002, 0x11003, 0x11082, 0x11083, 0x110B0, 0x110B3, 0x110B7, 0x110B9, 0x1112C, 0x1112D, 0x11145, 0x11147, 0x11182, 0x11183, 0x111B3, 0x111B6, 0x111BF, 0x111C1, 0x111CE, 0x111CF, 0x1122C, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x112E0, 0x112E3, 0x11302, 0x11304, 0x1133E, 0x11340, 0x11341, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11435, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x114B0, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x115AF, 0x115B2, 0x115B8, 0x115BC, 0x115BE, 0x115BF, 0x11630, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x11720, 0x11722, 0x11726, 0x11727, 0x1182C, 0x1182F, 0x11838, 0x11839, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193D, 0x1193E, 0x11940, 0x11941, 0x11942, 0x11943, 0x119D1, 0x119D4, 0x119DC, 0x119E0, 0x119E4, 0x119E5, 0x11A39, 0x11A3A, 0x11A57, 0x11A59, 0x11A97, 0x11A98, 0x11C2F, 0x11C30, 0x11C3E, 0x11C3F, 0x11CA9, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11D8A, 0x11D8F, 0x11D93, 0x11D95, 0x11D96, 0x11D97, 0x11EF5, 0x11EF7, 0x16F51, 0x16F88, 0x16FF0, 0x16FF2, 0x1D165, 0x1D167, 0x1D16D, 0x1D173 }; static const UV UNI_ME_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x488, 0x48A, 0x1ABE, 0x1ABF, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0xA670, 0xA673 }; static const UV UNI_MEDF_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16E40, 0x16E9B }; static const UV UNI_MEETEIMAYEKEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAAE0, 0xAB00 }; static const UV UNI_MEND_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7 }; static const UV UNI_MERC_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109A0, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A00 }; static const UV UNI_MERO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10980, 0x109A0 }; static const UV UNI_MIAO_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0 }; static const UV UNI_MISCARROWS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B00, 0x2C00 }; static const UV UNI_MISCMATHSYMBOLSA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27C0, 0x27F0 }; static const UV UNI_MISCMATHSYMBOLSB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2980, 0x2A00 }; static const UV UNI_MISCPICTOGRAPHS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F300, 0x1F600 }; static const UV UNI_MISCSYMBOLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2600, 0x2700 }; static const UV UNI_MISCTECHNICAL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2300, 0x2400 }; static const UV UNI_MLYM_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0x1CDA, 0x1CDB, 0xA830, 0xA833 }; static const UV UNI_MN_invlist[] = { /* for all charsets */ 655, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x488, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x903, 0x93A, 0x93B, 0x93C, 0x93D, 0x941, 0x949, 0x94D, 0x94E, 0x951, 0x958, 0x962, 0x964, 0x981, 0x982, 0x9BC, 0x9BD, 0x9C1, 0x9C5, 0x9CD, 0x9CE, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA03, 0xA3C, 0xA3D, 0xA41, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA83, 0xABC, 0xABD, 0xAC1, 0xAC6, 0xAC7, 0xAC9, 0xACD, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB02, 0xB3C, 0xB3D, 0xB3F, 0xB40, 0xB41, 0xB45, 0xB4D, 0xB4E, 0xB55, 0xB57, 0xB62, 0xB64, 0xB82, 0xB83, 0xBC0, 0xBC1, 0xBCD, 0xBCE, 0xC00, 0xC01, 0xC04, 0xC05, 0xC3E, 0xC41, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC82, 0xCBC, 0xCBD, 0xCBF, 0xCC0, 0xCC6, 0xCC7, 0xCCC, 0xCCE, 0xCE2, 0xCE4, 0xD00, 0xD02, 0xD3B, 0xD3D, 0xD41, 0xD45, 0xD4D, 0xD4E, 0xD62, 0xD64, 0xD81, 0xD82, 0xDCA, 0xDCB, 0xDD2, 0xDD5, 0xDD6, 0xDD7, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF71, 0xF7F, 0xF80, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102D, 0x1031, 0x1032, 0x1038, 0x1039, 0x103B, 0x103D, 0x103F, 0x1058, 0x105A, 0x105E, 0x1061, 0x1071, 0x1075, 0x1082, 0x1083, 0x1085, 0x1087, 0x108D, 0x108E, 0x109D, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17B6, 0x17B7, 0x17BE, 0x17C6, 0x17C7, 0x17C9, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x1923, 0x1927, 0x1929, 0x1932, 0x1933, 0x1939, 0x193C, 0x1A17, 0x1A19, 0x1A1B, 0x1A1C, 0x1A56, 0x1A57, 0x1A58, 0x1A5F, 0x1A60, 0x1A61, 0x1A62, 0x1A63, 0x1A65, 0x1A6D, 0x1A73, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B04, 0x1B34, 0x1B35, 0x1B36, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B42, 0x1B43, 0x1B6B, 0x1B74, 0x1B80, 0x1B82, 0x1BA2, 0x1BA6, 0x1BA8, 0x1BAA, 0x1BAB, 0x1BAE, 0x1BE6, 0x1BE7, 0x1BE8, 0x1BEA, 0x1BED, 0x1BEE, 0x1BEF, 0x1BF2, 0x1C2C, 0x1C34, 0x1C36, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x302E, 0x3099, 0x309B, 0xA66F, 0xA670, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA825, 0xA827, 0xA82C, 0xA82D, 0xA8C4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA952, 0xA980, 0xA983, 0xA9B3, 0xA9B4, 0xA9B6, 0xA9BA, 0xA9BC, 0xA9BE, 0xA9E5, 0xA9E6, 0xAA29, 0xAA2F, 0xAA31, 0xAA33, 0xAA35, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4D, 0xAA7C, 0xAA7D, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEC, 0xAAEE, 0xAAF6, 0xAAF7, 0xABE5, 0xABE6, 0xABE8, 0xABE9, 0xABED, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11001, 0x11002, 0x11038, 0x11047, 0x1107F, 0x11082, 0x110B3, 0x110B7, 0x110B9, 0x110BB, 0x11100, 0x11103, 0x11127, 0x1112C, 0x1112D, 0x11135, 0x11173, 0x11174, 0x11180, 0x11182, 0x111B6, 0x111BF, 0x111C9, 0x111CD, 0x111CF, 0x111D0, 0x1122F, 0x11232, 0x11234, 0x11235, 0x11236, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112E0, 0x112E3, 0x112EB, 0x11300, 0x11302, 0x1133B, 0x1133D, 0x11340, 0x11341, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11438, 0x11440, 0x11442, 0x11445, 0x11446, 0x11447, 0x1145E, 0x1145F, 0x114B3, 0x114B9, 0x114BA, 0x114BB, 0x114BF, 0x114C1, 0x114C2, 0x114C4, 0x115B2, 0x115B6, 0x115BC, 0x115BE, 0x115BF, 0x115C1, 0x115DC, 0x115DE, 0x11633, 0x1163B, 0x1163D, 0x1163E, 0x1163F, 0x11641, 0x116AB, 0x116AC, 0x116AD, 0x116AE, 0x116B0, 0x116B6, 0x116B7, 0x116B8, 0x1171D, 0x11720, 0x11722, 0x11726, 0x11727, 0x1172C, 0x1182F, 0x11838, 0x11839, 0x1183B, 0x1193B, 0x1193D, 0x1193E, 0x1193F, 0x11943, 0x11944, 0x119D4, 0x119D8, 0x119DA, 0x119DC, 0x119E0, 0x119E1, 0x11A01, 0x11A0B, 0x11A33, 0x11A39, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A57, 0x11A59, 0x11A5C, 0x11A8A, 0x11A97, 0x11A98, 0x11A9A, 0x11C30, 0x11C37, 0x11C38, 0x11C3E, 0x11C3F, 0x11C40, 0x11C92, 0x11CA8, 0x11CAA, 0x11CB1, 0x11CB2, 0x11CB4, 0x11CB5, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D90, 0x11D92, 0x11D95, 0x11D96, 0x11D97, 0x11D98, 0x11EF3, 0x11EF5, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x1BC9D, 0x1BC9F, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0100, 0xE01F0 }; static const UV UNI_MODI_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA830, 0xA83A, 0x11600, 0x11645, 0x11650, 0x1165A }; static const UV UNI_MODIFIERLETTERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B0, 0x300 }; static const UV UNI_MODIFIERTONELETTERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA700, 0xA720 }; static const UV UNI_MONG_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x202F, 0x2030, 0x11660, 0x1166D }; static const UV UNI_MONGOLIANSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11660, 0x11680 }; static const UV UNI_MRO_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70 }; static const UV UNI_MTEI_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAAE0, 0xAAF7, 0xABC0, 0xABEE, 0xABF0, 0xABFA }; static const UV UNI_MULT_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA66, 0xA70, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA }; static const UV UNI_MUSIC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D100, 0x1D200 }; static const UV UNI_MYANMAREXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA60, 0xAA80 }; static const UV UNI_MYANMAREXTB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA9E0, 0xAA00 }; static const UV UNI_MYMR_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1000, 0x10A0, 0xA92E, 0xA92F, 0xA9E0, 0xA9FF, 0xAA60, 0xAA80 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_N_invlist[] = { /* for ASCII/Latin1 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0xB2, 0xB4, 0xB9, 0xBA, 0xBC, 0xBF, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_N_invlist[] = { /* for EBCDIC 1047 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_N_invlist[] = { /* for EBCDIC 037 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ static const UV UNI_NAND_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0xCE6, 0xCF0, 0x1CE9, 0x1CEA, 0x1CF2, 0x1CF3, 0x1CFA, 0x1CFB, 0xA830, 0xA836, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5 }; static const UV UNI_NARB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A80, 0x10AA0 }; static const UV UNI_NB_invlist[] = { /* for all charsets */ 110, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x870, 0x8A0, 0x2FE0, 0x2FF0, 0x10200, 0x10280, 0x103E0, 0x10400, 0x10570, 0x10600, 0x10780, 0x10800, 0x108B0, 0x108E0, 0x10940, 0x10980, 0x10AA0, 0x10AC0, 0x10BB0, 0x10C00, 0x10C50, 0x10C80, 0x10D40, 0x10E60, 0x10EC0, 0x10F00, 0x10F70, 0x10FB0, 0x11250, 0x11280, 0x11380, 0x11400, 0x114E0, 0x11580, 0x116D0, 0x11700, 0x11740, 0x11800, 0x11850, 0x118A0, 0x11960, 0x119A0, 0x11AB0, 0x11AC0, 0x11B00, 0x11C00, 0x11CC0, 0x11D00, 0x11DB0, 0x11EE0, 0x11F00, 0x11FB0, 0x12550, 0x13000, 0x13440, 0x14400, 0x14680, 0x16800, 0x16A70, 0x16AD0, 0x16B90, 0x16E40, 0x16EA0, 0x16F00, 0x16FA0, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1BC00, 0x1BCB0, 0x1D000, 0x1D250, 0x1D2E0, 0x1D380, 0x1D400, 0x1DAB0, 0x1E000, 0x1E030, 0x1E100, 0x1E150, 0x1E2C0, 0x1E300, 0x1E800, 0x1E8E0, 0x1E900, 0x1E960, 0x1EC70, 0x1ECC0, 0x1ED00, 0x1ED50, 0x1EE00, 0x1EF00, 0x1F000, 0x1FC00, 0x20000, 0x2A6E0, 0x2A700, 0x2EBF0, 0x2F800, 0x2FA20, 0x30000, 0x31350, 0xE0000, 0xE0080, 0xE0100, 0xE01F0, 0xF0000, 0x110000 }; static const UV UNI_NBAT_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10880, 0x1089F, 0x108A7, 0x108B0 }; static const UV UNI_NEWA_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11400, 0x1145C, 0x1145D, 0x11462 }; static const UV UNI_NFCQC__M_invlist[] = { /* for all charsets */ 85, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x338, 0x339, 0x342, 0x343, 0x345, 0x346, 0x653, 0x656, 0x93C, 0x93D, 0x9BE, 0x9BF, 0x9D7, 0x9D8, 0xB3E, 0xB3F, 0xB56, 0xB58, 0xBBE, 0xBBF, 0xBD7, 0xBD8, 0xC56, 0xC57, 0xCC2, 0xCC3, 0xCD5, 0xCD7, 0xD3E, 0xD3F, 0xD57, 0xD58, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDDF, 0xDE0, 0x102E, 0x102F, 0x1161, 0x1176, 0x11A8, 0x11C3, 0x1B35, 0x1B36, 0x3099, 0x309B, 0x110BA, 0x110BB, 0x11127, 0x11128, 0x1133E, 0x1133F, 0x11357, 0x11358, 0x114B0, 0x114B1, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x115AF, 0x115B0, 0x11930, 0x11931 }; static const UV UNI_NFCQC__Y_invlist[] = { /* for all charsets */ 225, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x338, 0x339, 0x340, 0x346, 0x374, 0x375, 0x37E, 0x37F, 0x387, 0x388, 0x653, 0x656, 0x93C, 0x93D, 0x958, 0x960, 0x9BE, 0x9BF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB3E, 0xB3F, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xBBE, 0xBBF, 0xBD7, 0xBD8, 0xC56, 0xC57, 0xCC2, 0xCC3, 0xCD5, 0xCD7, 0xD3E, 0xD3F, 0xD57, 0xD58, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDDF, 0xDE0, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x102E, 0x102F, 0x1161, 0x1176, 0x11A8, 0x11C3, 0x1B35, 0x1B36, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBE, 0x1FBF, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FEE, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x3099, 0x309B, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x110BA, 0x110BB, 0x11127, 0x11128, 0x1133E, 0x1133F, 0x11357, 0x11358, 0x114B0, 0x114B1, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x115AF, 0x115B0, 0x11930, 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFDQC__Y_invlist[] = { /* for ASCII/Latin1 */ 465, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE0, 0xE6, 0xE7, 0xF0, 0xF1, 0xF7, 0xF9, 0xFE, 0xFF, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 1047 */ 469, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0xBA, 0xBB, 0xCB, 0xD0, 0xDB, 0xE0, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFDQC__Y_invlist[] = { /* for EBCDIC 037 */ 469, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0xAD, 0xAE, 0xCB, 0xD0, 0xDB, 0xE0, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x134, 0x138, 0x139, 0x13F, 0x143, 0x149, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x17F, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1CD, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F1, 0x1F4, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D3, 0x3D5, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x622, 0x627, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF77, 0xF78, 0xF79, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1E00, 0x1E9A, 0x1E9B, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC1, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFE, 0x2000, 0x2002, 0x2126, 0x2127, 0x212A, 0x212C, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2ADC, 0x2ADD, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309E, 0x309F, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x30FF, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB20, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFB4F, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */ 501, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */ 507, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBB, 0xBD, 0xBE, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */ 505, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBC, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x675, 0x679, 0x958, 0x960, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB5C, 0xB5E, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x10FC, 0x10FD, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x309B, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */ 577, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x338, 0x339, 0x340, 0x346, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x653, 0x656, 0x675, 0x679, 0x93C, 0x93D, 0x958, 0x960, 0x9BE, 0x9BF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB3E, 0xB3F, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xBBE, 0xBBF, 0xBD7, 0xBD8, 0xC56, 0xC57, 0xCC2, 0xCC3, 0xCD5, 0xCD7, 0xD3E, 0xD3F, 0xD57, 0xD58, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDDF, 0xDE0, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x102E, 0x102F, 0x10FC, 0x10FD, 0x1161, 0x1176, 0x11A8, 0x11C3, 0x1B35, 0x1B36, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x3099, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x110BA, 0x110BB, 0x11127, 0x11128, 0x1133E, 0x1133F, 0x11357, 0x11358, 0x114B0, 0x114B1, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x115AF, 0x115B0, 0x11930, 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */ 583, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBB, 0xBD, 0xBE, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x338, 0x339, 0x340, 0x346, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x653, 0x656, 0x675, 0x679, 0x93C, 0x93D, 0x958, 0x960, 0x9BE, 0x9BF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB3E, 0xB3F, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xBBE, 0xBBF, 0xBD7, 0xBD8, 0xC56, 0xC57, 0xCC2, 0xCC3, 0xCD5, 0xCD7, 0xD3E, 0xD3F, 0xD57, 0xD58, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDDF, 0xDE0, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x102E, 0x102F, 0x10FC, 0x10FD, 0x1161, 0x1176, 0x11A8, 0x11C3, 0x1B35, 0x1B36, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x3099, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x110BA, 0x110BB, 0x11127, 0x11128, 0x1133E, 0x1133F, 0x11357, 0x11358, 0x114B0, 0x114B1, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x115AF, 0x115B0, 0x11930, 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */ 581, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x42, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBA, 0xBC, 0xBF, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x132, 0x134, 0x13F, 0x141, 0x149, 0x14A, 0x17F, 0x180, 0x1C4, 0x1CD, 0x1F1, 0x1F4, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x300, 0x305, 0x306, 0x30D, 0x30F, 0x310, 0x311, 0x312, 0x313, 0x315, 0x31B, 0x31C, 0x323, 0x329, 0x32D, 0x32F, 0x330, 0x332, 0x338, 0x339, 0x340, 0x346, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x386, 0x387, 0x388, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x587, 0x588, 0x653, 0x656, 0x675, 0x679, 0x93C, 0x93D, 0x958, 0x960, 0x9BE, 0x9BF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB3E, 0xB3F, 0xB56, 0xB58, 0xB5C, 0xB5E, 0xBBE, 0xBBF, 0xBD7, 0xBD8, 0xC56, 0xC57, 0xCC2, 0xCC3, 0xCD5, 0xCD7, 0xD3E, 0xD3F, 0xD57, 0xD58, 0xDCA, 0xDCB, 0xDCF, 0xDD0, 0xDDF, 0xDE0, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x102E, 0x102F, 0x10FC, 0x10FD, 0x1161, 0x1176, 0x11A8, 0x11C3, 0x1B35, 0x1B36, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E9A, 0x1E9C, 0x1F71, 0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1F76, 0x1F77, 0x1F78, 0x1F79, 0x1F7A, 0x1F7B, 0x1F7C, 0x1F7D, 0x1F7E, 0x1FBB, 0x1FBC, 0x1FBD, 0x1FC2, 0x1FC9, 0x1FCA, 0x1FCB, 0x1FCC, 0x1FCD, 0x1FD0, 0x1FD3, 0x1FD4, 0x1FDB, 0x1FDC, 0x1FDD, 0x1FE0, 0x1FE3, 0x1FE4, 0x1FEB, 0x1FEC, 0x1FED, 0x1FF0, 0x1FF9, 0x1FFA, 0x1FFB, 0x1FFC, 0x1FFD, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x222C, 0x222E, 0x222F, 0x2231, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x3099, 0x309D, 0x309F, 0x30A0, 0x30FF, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x110BA, 0x110BB, 0x11127, 0x11128, 0x1133E, 0x1133F, 0x11357, 0x11358, 0x114B0, 0x114B1, 0x114BA, 0x114BB, 0x114BD, 0x114BE, 0x115AF, 0x115B0, 0x11930, 0x11931, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */ 785, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA0, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAF, 0xB0, 0xB2, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0xC0, 0xC6, 0xC7, 0xD0, 0xD1, 0xD7, 0xD9, 0xDE, 0xE0, 0xE6, 0xE7, 0xF0, 0xF1, 0xF7, 0xF9, 0xFE, 0xFF, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */ 783, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xB7, 0xBD, 0xBE, 0xBF, 0xCB, 0xD0, 0xDA, 0xE0, 0xEA, 0xF0, 0xFA, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */ 785, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x4A, 0x51, 0x59, 0x62, 0x6A, 0x71, 0x79, 0x8D, 0x8E, 0x9A, 0x9C, 0x9D, 0x9E, 0xA0, 0xA1, 0xAD, 0xAE, 0xB7, 0xBA, 0xBC, 0xBF, 0xCB, 0xD0, 0xDA, 0xE0, 0xEA, 0xF0, 0xFA, 0xFF, 0x100, 0x110, 0x112, 0x126, 0x128, 0x131, 0x132, 0x138, 0x139, 0x141, 0x143, 0x14A, 0x14C, 0x152, 0x154, 0x166, 0x168, 0x180, 0x1A0, 0x1A2, 0x1AF, 0x1B1, 0x1C4, 0x1DD, 0x1DE, 0x1E4, 0x1E6, 0x1F6, 0x1F8, 0x21C, 0x21E, 0x220, 0x226, 0x234, 0x2B0, 0x2B9, 0x2D8, 0x2DE, 0x2E0, 0x2E5, 0x340, 0x342, 0x343, 0x345, 0x374, 0x375, 0x37A, 0x37B, 0x37E, 0x37F, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x391, 0x3AA, 0x3B1, 0x3CA, 0x3CF, 0x3D0, 0x3D7, 0x3F0, 0x3F3, 0x3F4, 0x3F6, 0x3F9, 0x3FA, 0x400, 0x402, 0x403, 0x404, 0x407, 0x408, 0x40C, 0x40F, 0x419, 0x41A, 0x439, 0x43A, 0x450, 0x452, 0x453, 0x454, 0x457, 0x458, 0x45C, 0x45F, 0x476, 0x478, 0x4C1, 0x4C3, 0x4D0, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4E0, 0x4E2, 0x4E8, 0x4EA, 0x4F6, 0x4F8, 0x4FA, 0x587, 0x588, 0x622, 0x627, 0x675, 0x679, 0x6C0, 0x6C1, 0x6C2, 0x6C3, 0x6D3, 0x6D4, 0x929, 0x92A, 0x931, 0x932, 0x934, 0x935, 0x958, 0x960, 0x9CB, 0x9CD, 0x9DC, 0x9DE, 0x9DF, 0x9E0, 0xA33, 0xA34, 0xA36, 0xA37, 0xA59, 0xA5C, 0xA5E, 0xA5F, 0xB48, 0xB49, 0xB4B, 0xB4D, 0xB5C, 0xB5E, 0xB94, 0xB95, 0xBCA, 0xBCD, 0xC48, 0xC49, 0xCC0, 0xCC1, 0xCC7, 0xCC9, 0xCCA, 0xCCC, 0xD4A, 0xD4D, 0xDDA, 0xDDB, 0xDDC, 0xDDF, 0xE33, 0xE34, 0xEB3, 0xEB4, 0xEDC, 0xEDE, 0xF0C, 0xF0D, 0xF43, 0xF44, 0xF4D, 0xF4E, 0xF52, 0xF53, 0xF57, 0xF58, 0xF5C, 0xF5D, 0xF69, 0xF6A, 0xF73, 0xF74, 0xF75, 0xF7A, 0xF81, 0xF82, 0xF93, 0xF94, 0xF9D, 0xF9E, 0xFA2, 0xFA3, 0xFA7, 0xFA8, 0xFAC, 0xFAD, 0xFB9, 0xFBA, 0x1026, 0x1027, 0x10FC, 0x10FD, 0x1B06, 0x1B07, 0x1B08, 0x1B09, 0x1B0A, 0x1B0B, 0x1B0C, 0x1B0D, 0x1B0E, 0x1B0F, 0x1B12, 0x1B13, 0x1B3B, 0x1B3C, 0x1B3D, 0x1B3E, 0x1B40, 0x1B42, 0x1B43, 0x1B44, 0x1D2C, 0x1D2F, 0x1D30, 0x1D3B, 0x1D3C, 0x1D4E, 0x1D4F, 0x1D6B, 0x1D78, 0x1D79, 0x1D9B, 0x1DC0, 0x1E00, 0x1E9C, 0x1EA0, 0x1EFA, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x200B, 0x2011, 0x2012, 0x2017, 0x2018, 0x2024, 0x2027, 0x202F, 0x2030, 0x2033, 0x2035, 0x2036, 0x2038, 0x203C, 0x203D, 0x203E, 0x203F, 0x2047, 0x204A, 0x2057, 0x2058, 0x205F, 0x2060, 0x2070, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A8, 0x20A9, 0x2100, 0x2104, 0x2105, 0x2108, 0x2109, 0x2114, 0x2115, 0x2117, 0x2119, 0x211E, 0x2120, 0x2123, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2132, 0x2133, 0x213A, 0x213B, 0x2141, 0x2145, 0x214A, 0x2150, 0x2180, 0x2189, 0x218A, 0x219A, 0x219C, 0x21AE, 0x21AF, 0x21CD, 0x21D0, 0x2204, 0x2205, 0x2209, 0x220A, 0x220C, 0x220D, 0x2224, 0x2225, 0x2226, 0x2227, 0x222C, 0x222E, 0x222F, 0x2231, 0x2241, 0x2242, 0x2244, 0x2245, 0x2247, 0x2248, 0x2249, 0x224A, 0x2260, 0x2261, 0x2262, 0x2263, 0x226D, 0x2272, 0x2274, 0x2276, 0x2278, 0x227A, 0x2280, 0x2282, 0x2284, 0x2286, 0x2288, 0x228A, 0x22AC, 0x22B0, 0x22E0, 0x22E4, 0x22EA, 0x22EE, 0x2329, 0x232B, 0x2460, 0x24EB, 0x2A0C, 0x2A0D, 0x2A74, 0x2A77, 0x2ADC, 0x2ADD, 0x2C7C, 0x2C7E, 0x2D6F, 0x2D70, 0x2E9F, 0x2EA0, 0x2EF3, 0x2EF4, 0x2F00, 0x2FD6, 0x3000, 0x3001, 0x3036, 0x3037, 0x3038, 0x303B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079, 0x307B, 0x307C, 0x307E, 0x3094, 0x3095, 0x309B, 0x309D, 0x309E, 0x30A0, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30D0, 0x30D2, 0x30D3, 0x30D5, 0x30D6, 0x30D8, 0x30D9, 0x30DB, 0x30DC, 0x30DE, 0x30F4, 0x30F5, 0x30F7, 0x30FB, 0x30FE, 0x3100, 0x3131, 0x318F, 0x3192, 0x31A0, 0x3200, 0x321F, 0x3220, 0x3248, 0x3250, 0x327F, 0x3280, 0x3400, 0xA69C, 0xA69E, 0xA770, 0xA771, 0xA7F8, 0xA7FA, 0xAB5C, 0xAB60, 0xAB69, 0xAB6A, 0xAC00, 0xD7A4, 0xF900, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFD, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE73, 0xFE74, 0xFE75, 0xFE76, 0xFEFD, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0x1109A, 0x1109B, 0x1109C, 0x1109D, 0x110AB, 0x110AC, 0x1112E, 0x11130, 0x1134B, 0x1134D, 0x114BB, 0x114BD, 0x114BE, 0x114BF, 0x115BA, 0x115BC, 0x11938, 0x11939, 0x1D15E, 0x1D165, 0x1D1BB, 0x1D1C1, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F100, 0x1F10B, 0x1F110, 0x1F12F, 0x1F130, 0x1F150, 0x1F16A, 0x1F16D, 0x1F190, 0x1F191, 0x1F200, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1FBF0, 0x1FBFA, 0x2F800, 0x2FA1E }; # endif /* EBCDIC 037 */ static const UV UNI_NKO_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7C0, 0x7FB, 0x7FD, 0x800 }; static const UV UNI_NL_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16EE, 0x16F1, 0x2160, 0x2183, 0x2185, 0x2189, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0xA6E6, 0xA6F0, 0x10140, 0x10175, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x12400, 0x1246F }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NO_invlist[] = { /* for ASCII/Latin1 */ 143, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB2, 0xB4, 0xB9, 0xBA, 0xBC, 0xBF, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1369, 0x137D, 0x17F0, 0x17FA, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2160, 0x2189, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA830, 0xA836, 0x10107, 0x10134, 0x10175, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NO_invlist[] = { /* for EBCDIC 1047 */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1369, 0x137D, 0x17F0, 0x17FA, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2160, 0x2189, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA830, 0xA836, 0x10107, 0x10134, 0x10175, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NO_invlist[] = { /* for EBCDIC 037 */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1369, 0x137D, 0x17F0, 0x17FA, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2160, 0x2189, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0xA830, 0xA836, 0x10107, 0x10134, 0x10175, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D }; # endif /* EBCDIC 037 */ static const UV UNI_NSHU_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16FE1, 0x16FE2, 0x1B170, 0x1B2FC }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NT__DI_invlist[] = { /* for ASCII/Latin1 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB2, 0xB4, 0xB9, 0xBA, 0x1369, 0x1372, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2460, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x24EA, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x2500, 0x2776, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x10A40, 0x10A44, 0x10E60, 0x10E69, 0x11052, 0x1105B, 0x1F100, 0x1F10B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NT__DI_invlist[] = { /* for EBCDIC 1047 */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x1369, 0x1372, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2460, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x24EA, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x2500, 0x2776, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x10A40, 0x10A44, 0x10E60, 0x10E69, 0x11052, 0x1105B, 0x1F100, 0x1F10B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NT__DI_invlist[] = { /* for EBCDIC 037 */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xEA, 0xEB, 0xFA, 0xFB, 0x1369, 0x1372, 0x19DA, 0x19DB, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2460, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x24EA, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x2500, 0x2776, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x10A40, 0x10A44, 0x10E60, 0x10E69, 0x11052, 0x1105B, 0x1F100, 0x1F10B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NT__NU_invlist[] = { /* for ASCII/Latin1 */ 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBC, 0xBF, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1372, 0x137D, 0x16EE, 0x16F1, 0x17F0, 0x17FA, 0x2150, 0x2183, 0x2185, 0x218A, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x249C, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A44, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E69, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x1105B, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F10B, 0x1F10D, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 1047 */ 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1372, 0x137D, 0x16EE, 0x16F1, 0x17F0, 0x17FA, 0x2150, 0x2183, 0x2185, 0x218A, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x249C, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A44, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E69, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x1105B, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F10B, 0x1F10D, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NT__NU_invlist[] = { /* for EBCDIC 037 */ 303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0x9F4, 0x9FA, 0xB72, 0xB78, 0xBF0, 0xBF3, 0xC78, 0xC7F, 0xD58, 0xD5F, 0xD70, 0xD79, 0xF2A, 0xF34, 0x1372, 0x137D, 0x16EE, 0x16F1, 0x17F0, 0x17FA, 0x2150, 0x2183, 0x2185, 0x218A, 0x2469, 0x2474, 0x247D, 0x2488, 0x2491, 0x249C, 0x24EB, 0x24F5, 0x24FE, 0x24FF, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A44, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10E69, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x1105B, 0x11066, 0x111E1, 0x111F5, 0x1173A, 0x1173C, 0x118EA, 0x118F3, 0x11C5A, 0x11C6D, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1E8C7, 0x1E8D0, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F10B, 0x1F10D, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* EBCDIC 037 */ static const UV UNI_NUMBERFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2150, 0x2190 }; static const UV UNI_NV___MINUS_1_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF33, 0xF34 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__0_invlist[] = { /* for ASCII/Latin1 */ 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x31, 0x660, 0x661, 0x6F0, 0x6F1, 0x7C0, 0x7C1, 0x966, 0x967, 0x9E6, 0x9E7, 0xA66, 0xA67, 0xAE6, 0xAE7, 0xB66, 0xB67, 0xBE6, 0xBE7, 0xC66, 0xC67, 0xC78, 0xC79, 0xCE6, 0xCE7, 0xD66, 0xD67, 0xDE6, 0xDE7, 0xE50, 0xE51, 0xED0, 0xED1, 0xF20, 0xF21, 0x1040, 0x1041, 0x1090, 0x1091, 0x17E0, 0x17E1, 0x17F0, 0x17F1, 0x1810, 0x1811, 0x1946, 0x1947, 0x19D0, 0x19D1, 0x1A80, 0x1A81, 0x1A90, 0x1A91, 0x1B50, 0x1B51, 0x1BB0, 0x1BB1, 0x1C40, 0x1C41, 0x1C50, 0x1C51, 0x2070, 0x2071, 0x2080, 0x2081, 0x2189, 0x218A, 0x24EA, 0x24EB, 0x24FF, 0x2500, 0x3007, 0x3008, 0x96F6, 0x96F7, 0xA620, 0xA621, 0xA6EF, 0xA6F0, 0xA8D0, 0xA8D1, 0xA900, 0xA901, 0xA9D0, 0xA9D1, 0xA9F0, 0xA9F1, 0xAA50, 0xAA51, 0xABF0, 0xABF1, 0xF9B2, 0xF9B3, 0xFF10, 0xFF11, 0x1018A, 0x1018B, 0x104A0, 0x104A1, 0x10D30, 0x10D31, 0x11066, 0x11067, 0x110F0, 0x110F1, 0x11136, 0x11137, 0x111D0, 0x111D1, 0x112F0, 0x112F1, 0x11450, 0x11451, 0x114D0, 0x114D1, 0x11650, 0x11651, 0x116C0, 0x116C1, 0x11730, 0x11731, 0x118E0, 0x118E1, 0x11950, 0x11951, 0x11C50, 0x11C51, 0x11D50, 0x11D51, 0x11DA0, 0x11DA1, 0x16A60, 0x16A61, 0x16B50, 0x16B51, 0x16E80, 0x16E81, 0x1D2E0, 0x1D2E1, 0x1D7CE, 0x1D7CF, 0x1D7D8, 0x1D7D9, 0x1D7E2, 0x1D7E3, 0x1D7EC, 0x1D7ED, 0x1D7F6, 0x1D7F7, 0x1E140, 0x1E141, 0x1E2F0, 0x1E2F1, 0x1E950, 0x1E951, 0x1F100, 0x1F102, 0x1F10B, 0x1F10D, 0x1FBF0, 0x1FBF1 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 1047 */ 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xF1, 0x660, 0x661, 0x6F0, 0x6F1, 0x7C0, 0x7C1, 0x966, 0x967, 0x9E6, 0x9E7, 0xA66, 0xA67, 0xAE6, 0xAE7, 0xB66, 0xB67, 0xBE6, 0xBE7, 0xC66, 0xC67, 0xC78, 0xC79, 0xCE6, 0xCE7, 0xD66, 0xD67, 0xDE6, 0xDE7, 0xE50, 0xE51, 0xED0, 0xED1, 0xF20, 0xF21, 0x1040, 0x1041, 0x1090, 0x1091, 0x17E0, 0x17E1, 0x17F0, 0x17F1, 0x1810, 0x1811, 0x1946, 0x1947, 0x19D0, 0x19D1, 0x1A80, 0x1A81, 0x1A90, 0x1A91, 0x1B50, 0x1B51, 0x1BB0, 0x1BB1, 0x1C40, 0x1C41, 0x1C50, 0x1C51, 0x2070, 0x2071, 0x2080, 0x2081, 0x2189, 0x218A, 0x24EA, 0x24EB, 0x24FF, 0x2500, 0x3007, 0x3008, 0x96F6, 0x96F7, 0xA620, 0xA621, 0xA6EF, 0xA6F0, 0xA8D0, 0xA8D1, 0xA900, 0xA901, 0xA9D0, 0xA9D1, 0xA9F0, 0xA9F1, 0xAA50, 0xAA51, 0xABF0, 0xABF1, 0xF9B2, 0xF9B3, 0xFF10, 0xFF11, 0x1018A, 0x1018B, 0x104A0, 0x104A1, 0x10D30, 0x10D31, 0x11066, 0x11067, 0x110F0, 0x110F1, 0x11136, 0x11137, 0x111D0, 0x111D1, 0x112F0, 0x112F1, 0x11450, 0x11451, 0x114D0, 0x114D1, 0x11650, 0x11651, 0x116C0, 0x116C1, 0x11730, 0x11731, 0x118E0, 0x118E1, 0x11950, 0x11951, 0x11C50, 0x11C51, 0x11D50, 0x11D51, 0x11DA0, 0x11DA1, 0x16A60, 0x16A61, 0x16B50, 0x16B51, 0x16E80, 0x16E81, 0x1D2E0, 0x1D2E1, 0x1D7CE, 0x1D7CF, 0x1D7D8, 0x1D7D9, 0x1D7E2, 0x1D7E3, 0x1D7EC, 0x1D7ED, 0x1D7F6, 0x1D7F7, 0x1E140, 0x1E141, 0x1E2F0, 0x1E2F1, 0x1E950, 0x1E951, 0x1F100, 0x1F102, 0x1F10B, 0x1F10D, 0x1FBF0, 0x1FBF1 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__0_invlist[] = { /* for EBCDIC 037 */ 163, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xF1, 0x660, 0x661, 0x6F0, 0x6F1, 0x7C0, 0x7C1, 0x966, 0x967, 0x9E6, 0x9E7, 0xA66, 0xA67, 0xAE6, 0xAE7, 0xB66, 0xB67, 0xBE6, 0xBE7, 0xC66, 0xC67, 0xC78, 0xC79, 0xCE6, 0xCE7, 0xD66, 0xD67, 0xDE6, 0xDE7, 0xE50, 0xE51, 0xED0, 0xED1, 0xF20, 0xF21, 0x1040, 0x1041, 0x1090, 0x1091, 0x17E0, 0x17E1, 0x17F0, 0x17F1, 0x1810, 0x1811, 0x1946, 0x1947, 0x19D0, 0x19D1, 0x1A80, 0x1A81, 0x1A90, 0x1A91, 0x1B50, 0x1B51, 0x1BB0, 0x1BB1, 0x1C40, 0x1C41, 0x1C50, 0x1C51, 0x2070, 0x2071, 0x2080, 0x2081, 0x2189, 0x218A, 0x24EA, 0x24EB, 0x24FF, 0x2500, 0x3007, 0x3008, 0x96F6, 0x96F7, 0xA620, 0xA621, 0xA6EF, 0xA6F0, 0xA8D0, 0xA8D1, 0xA900, 0xA901, 0xA9D0, 0xA9D1, 0xA9F0, 0xA9F1, 0xAA50, 0xAA51, 0xABF0, 0xABF1, 0xF9B2, 0xF9B3, 0xFF10, 0xFF11, 0x1018A, 0x1018B, 0x104A0, 0x104A1, 0x10D30, 0x10D31, 0x11066, 0x11067, 0x110F0, 0x110F1, 0x11136, 0x11137, 0x111D0, 0x111D1, 0x112F0, 0x112F1, 0x11450, 0x11451, 0x114D0, 0x114D1, 0x11650, 0x11651, 0x116C0, 0x116C1, 0x11730, 0x11731, 0x118E0, 0x118E1, 0x11950, 0x11951, 0x11C50, 0x11C51, 0x11D50, 0x11D51, 0x11DA0, 0x11DA1, 0x16A60, 0x16A61, 0x16B50, 0x16B51, 0x16E80, 0x16E81, 0x1D2E0, 0x1D2E1, 0x1D7CE, 0x1D7CF, 0x1D7D8, 0x1D7D9, 0x1D7E2, 0x1D7E3, 0x1D7EC, 0x1D7ED, 0x1D7F6, 0x1D7F7, 0x1E140, 0x1E141, 0x1E2F0, 0x1E2F1, 0x1E950, 0x1E951, 0x1F100, 0x1F102, 0x1F10B, 0x1F10D, 0x1FBF0, 0x1FBF1 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__1_invlist[] = { /* for ASCII/Latin1 */ 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x31, 0x32, 0xB9, 0xBA, 0x661, 0x662, 0x6F1, 0x6F2, 0x7C1, 0x7C2, 0x967, 0x968, 0x9E7, 0x9E8, 0xA67, 0xA68, 0xAE7, 0xAE8, 0xB67, 0xB68, 0xBE7, 0xBE8, 0xC67, 0xC68, 0xC79, 0xC7A, 0xC7C, 0xC7D, 0xCE7, 0xCE8, 0xD67, 0xD68, 0xDE7, 0xDE8, 0xE51, 0xE52, 0xED1, 0xED2, 0xF21, 0xF22, 0x1041, 0x1042, 0x1091, 0x1092, 0x1369, 0x136A, 0x17E1, 0x17E2, 0x17F1, 0x17F2, 0x1811, 0x1812, 0x1947, 0x1948, 0x19D1, 0x19D2, 0x19DA, 0x19DB, 0x1A81, 0x1A82, 0x1A91, 0x1A92, 0x1B51, 0x1B52, 0x1BB1, 0x1BB2, 0x1C41, 0x1C42, 0x1C51, 0x1C52, 0x2081, 0x2082, 0x215F, 0x2161, 0x2170, 0x2171, 0x2460, 0x2461, 0x2474, 0x2475, 0x2488, 0x2489, 0x24F5, 0x24F6, 0x2776, 0x2777, 0x2780, 0x2781, 0x278A, 0x278B, 0x3021, 0x3022, 0x3192, 0x3193, 0x3220, 0x3221, 0x3280, 0x3281, 0x4E00, 0x4E01, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5F0C, 0x5F0D, 0xA621, 0xA622, 0xA6E6, 0xA6E7, 0xA8D1, 0xA8D2, 0xA901, 0xA902, 0xA9D1, 0xA9D2, 0xA9F1, 0xA9F2, 0xAA51, 0xAA52, 0xABF1, 0xABF2, 0xFF11, 0xFF12, 0x10107, 0x10108, 0x10142, 0x10143, 0x10158, 0x1015B, 0x102E1, 0x102E2, 0x10320, 0x10321, 0x103D1, 0x103D2, 0x104A1, 0x104A2, 0x10858, 0x10859, 0x10879, 0x1087A, 0x108A7, 0x108A8, 0x108FB, 0x108FC, 0x10916, 0x10917, 0x109C0, 0x109C1, 0x10A40, 0x10A41, 0x10A7D, 0x10A7E, 0x10A9D, 0x10A9E, 0x10AEB, 0x10AEC, 0x10B58, 0x10B59, 0x10B78, 0x10B79, 0x10BA9, 0x10BAA, 0x10CFA, 0x10CFB, 0x10D31, 0x10D32, 0x10E60, 0x10E61, 0x10F1D, 0x10F1E, 0x10F51, 0x10F52, 0x10FC5, 0x10FC6, 0x11052, 0x11053, 0x11067, 0x11068, 0x110F1, 0x110F2, 0x11137, 0x11138, 0x111D1, 0x111D2, 0x111E1, 0x111E2, 0x112F1, 0x112F2, 0x11451, 0x11452, 0x114D1, 0x114D2, 0x11651, 0x11652, 0x116C1, 0x116C2, 0x11731, 0x11732, 0x118E1, 0x118E2, 0x11951, 0x11952, 0x11C51, 0x11C52, 0x11C5A, 0x11C5B, 0x11D51, 0x11D52, 0x11DA1, 0x11DA2, 0x12415, 0x12416, 0x1241E, 0x1241F, 0x1242C, 0x1242D, 0x12434, 0x12435, 0x1244F, 0x12450, 0x12458, 0x12459, 0x16A61, 0x16A62, 0x16B51, 0x16B52, 0x16E81, 0x16E82, 0x16E94, 0x16E95, 0x1D2E1, 0x1D2E2, 0x1D360, 0x1D361, 0x1D372, 0x1D373, 0x1D377, 0x1D378, 0x1D7CF, 0x1D7D0, 0x1D7D9, 0x1D7DA, 0x1D7E3, 0x1D7E4, 0x1D7ED, 0x1D7EE, 0x1D7F7, 0x1D7F8, 0x1E141, 0x1E142, 0x1E2F1, 0x1E2F2, 0x1E8C7, 0x1E8C8, 0x1E951, 0x1E952, 0x1EC71, 0x1EC72, 0x1ECA3, 0x1ECA4, 0x1ECB1, 0x1ECB2, 0x1ED01, 0x1ED02, 0x1F102, 0x1F103, 0x1FBF1, 0x1FBF2, 0x2092A, 0x2092B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 1047 */ 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xF1, 0xF2, 0x661, 0x662, 0x6F1, 0x6F2, 0x7C1, 0x7C2, 0x967, 0x968, 0x9E7, 0x9E8, 0xA67, 0xA68, 0xAE7, 0xAE8, 0xB67, 0xB68, 0xBE7, 0xBE8, 0xC67, 0xC68, 0xC79, 0xC7A, 0xC7C, 0xC7D, 0xCE7, 0xCE8, 0xD67, 0xD68, 0xDE7, 0xDE8, 0xE51, 0xE52, 0xED1, 0xED2, 0xF21, 0xF22, 0x1041, 0x1042, 0x1091, 0x1092, 0x1369, 0x136A, 0x17E1, 0x17E2, 0x17F1, 0x17F2, 0x1811, 0x1812, 0x1947, 0x1948, 0x19D1, 0x19D2, 0x19DA, 0x19DB, 0x1A81, 0x1A82, 0x1A91, 0x1A92, 0x1B51, 0x1B52, 0x1BB1, 0x1BB2, 0x1C41, 0x1C42, 0x1C51, 0x1C52, 0x2081, 0x2082, 0x215F, 0x2161, 0x2170, 0x2171, 0x2460, 0x2461, 0x2474, 0x2475, 0x2488, 0x2489, 0x24F5, 0x24F6, 0x2776, 0x2777, 0x2780, 0x2781, 0x278A, 0x278B, 0x3021, 0x3022, 0x3192, 0x3193, 0x3220, 0x3221, 0x3280, 0x3281, 0x4E00, 0x4E01, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5F0C, 0x5F0D, 0xA621, 0xA622, 0xA6E6, 0xA6E7, 0xA8D1, 0xA8D2, 0xA901, 0xA902, 0xA9D1, 0xA9D2, 0xA9F1, 0xA9F2, 0xAA51, 0xAA52, 0xABF1, 0xABF2, 0xFF11, 0xFF12, 0x10107, 0x10108, 0x10142, 0x10143, 0x10158, 0x1015B, 0x102E1, 0x102E2, 0x10320, 0x10321, 0x103D1, 0x103D2, 0x104A1, 0x104A2, 0x10858, 0x10859, 0x10879, 0x1087A, 0x108A7, 0x108A8, 0x108FB, 0x108FC, 0x10916, 0x10917, 0x109C0, 0x109C1, 0x10A40, 0x10A41, 0x10A7D, 0x10A7E, 0x10A9D, 0x10A9E, 0x10AEB, 0x10AEC, 0x10B58, 0x10B59, 0x10B78, 0x10B79, 0x10BA9, 0x10BAA, 0x10CFA, 0x10CFB, 0x10D31, 0x10D32, 0x10E60, 0x10E61, 0x10F1D, 0x10F1E, 0x10F51, 0x10F52, 0x10FC5, 0x10FC6, 0x11052, 0x11053, 0x11067, 0x11068, 0x110F1, 0x110F2, 0x11137, 0x11138, 0x111D1, 0x111D2, 0x111E1, 0x111E2, 0x112F1, 0x112F2, 0x11451, 0x11452, 0x114D1, 0x114D2, 0x11651, 0x11652, 0x116C1, 0x116C2, 0x11731, 0x11732, 0x118E1, 0x118E2, 0x11951, 0x11952, 0x11C51, 0x11C52, 0x11C5A, 0x11C5B, 0x11D51, 0x11D52, 0x11DA1, 0x11DA2, 0x12415, 0x12416, 0x1241E, 0x1241F, 0x1242C, 0x1242D, 0x12434, 0x12435, 0x1244F, 0x12450, 0x12458, 0x12459, 0x16A61, 0x16A62, 0x16B51, 0x16B52, 0x16E81, 0x16E82, 0x16E94, 0x16E95, 0x1D2E1, 0x1D2E2, 0x1D360, 0x1D361, 0x1D372, 0x1D373, 0x1D377, 0x1D378, 0x1D7CF, 0x1D7D0, 0x1D7D9, 0x1D7DA, 0x1D7E3, 0x1D7E4, 0x1D7ED, 0x1D7EE, 0x1D7F7, 0x1D7F8, 0x1E141, 0x1E142, 0x1E2F1, 0x1E2F2, 0x1E8C7, 0x1E8C8, 0x1E951, 0x1E952, 0x1EC71, 0x1EC72, 0x1ECA3, 0x1ECA4, 0x1ECB1, 0x1ECB2, 0x1ED01, 0x1ED02, 0x1F102, 0x1F103, 0x1FBF1, 0x1FBF2, 0x2092A, 0x2092B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__1_invlist[] = { /* for EBCDIC 037 */ 275, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xDA, 0xDB, 0xF1, 0xF2, 0x661, 0x662, 0x6F1, 0x6F2, 0x7C1, 0x7C2, 0x967, 0x968, 0x9E7, 0x9E8, 0xA67, 0xA68, 0xAE7, 0xAE8, 0xB67, 0xB68, 0xBE7, 0xBE8, 0xC67, 0xC68, 0xC79, 0xC7A, 0xC7C, 0xC7D, 0xCE7, 0xCE8, 0xD67, 0xD68, 0xDE7, 0xDE8, 0xE51, 0xE52, 0xED1, 0xED2, 0xF21, 0xF22, 0x1041, 0x1042, 0x1091, 0x1092, 0x1369, 0x136A, 0x17E1, 0x17E2, 0x17F1, 0x17F2, 0x1811, 0x1812, 0x1947, 0x1948, 0x19D1, 0x19D2, 0x19DA, 0x19DB, 0x1A81, 0x1A82, 0x1A91, 0x1A92, 0x1B51, 0x1B52, 0x1BB1, 0x1BB2, 0x1C41, 0x1C42, 0x1C51, 0x1C52, 0x2081, 0x2082, 0x215F, 0x2161, 0x2170, 0x2171, 0x2460, 0x2461, 0x2474, 0x2475, 0x2488, 0x2489, 0x24F5, 0x24F6, 0x2776, 0x2777, 0x2780, 0x2781, 0x278A, 0x278B, 0x3021, 0x3022, 0x3192, 0x3193, 0x3220, 0x3221, 0x3280, 0x3281, 0x4E00, 0x4E01, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5F0C, 0x5F0D, 0xA621, 0xA622, 0xA6E6, 0xA6E7, 0xA8D1, 0xA8D2, 0xA901, 0xA902, 0xA9D1, 0xA9D2, 0xA9F1, 0xA9F2, 0xAA51, 0xAA52, 0xABF1, 0xABF2, 0xFF11, 0xFF12, 0x10107, 0x10108, 0x10142, 0x10143, 0x10158, 0x1015B, 0x102E1, 0x102E2, 0x10320, 0x10321, 0x103D1, 0x103D2, 0x104A1, 0x104A2, 0x10858, 0x10859, 0x10879, 0x1087A, 0x108A7, 0x108A8, 0x108FB, 0x108FC, 0x10916, 0x10917, 0x109C0, 0x109C1, 0x10A40, 0x10A41, 0x10A7D, 0x10A7E, 0x10A9D, 0x10A9E, 0x10AEB, 0x10AEC, 0x10B58, 0x10B59, 0x10B78, 0x10B79, 0x10BA9, 0x10BAA, 0x10CFA, 0x10CFB, 0x10D31, 0x10D32, 0x10E60, 0x10E61, 0x10F1D, 0x10F1E, 0x10F51, 0x10F52, 0x10FC5, 0x10FC6, 0x11052, 0x11053, 0x11067, 0x11068, 0x110F1, 0x110F2, 0x11137, 0x11138, 0x111D1, 0x111D2, 0x111E1, 0x111E2, 0x112F1, 0x112F2, 0x11451, 0x11452, 0x114D1, 0x114D2, 0x11651, 0x11652, 0x116C1, 0x116C2, 0x11731, 0x11732, 0x118E1, 0x118E2, 0x11951, 0x11952, 0x11C51, 0x11C52, 0x11C5A, 0x11C5B, 0x11D51, 0x11D52, 0x11DA1, 0x11DA2, 0x12415, 0x12416, 0x1241E, 0x1241F, 0x1242C, 0x1242D, 0x12434, 0x12435, 0x1244F, 0x12450, 0x12458, 0x12459, 0x16A61, 0x16A62, 0x16B51, 0x16B52, 0x16E81, 0x16E82, 0x16E94, 0x16E95, 0x1D2E1, 0x1D2E2, 0x1D360, 0x1D361, 0x1D372, 0x1D373, 0x1D377, 0x1D378, 0x1D7CF, 0x1D7D0, 0x1D7D9, 0x1D7DA, 0x1D7E3, 0x1D7E4, 0x1D7ED, 0x1D7EE, 0x1D7F7, 0x1D7F8, 0x1E141, 0x1E142, 0x1E2F1, 0x1E2F2, 0x1E8C7, 0x1E8C8, 0x1E951, 0x1E952, 0x1EC71, 0x1EC72, 0x1ECA3, 0x1ECA4, 0x1ECB1, 0x1ECB2, 0x1ED01, 0x1ED02, 0x1F102, 0x1F103, 0x1FBF1, 0x1FBF2, 0x2092A, 0x2092B }; # endif /* EBCDIC 037 */ static const UV UNI_NV__1_SLASH_10_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD5C, 0xD5D, 0x2152, 0x2153, 0x11FCB, 0x11FCC }; static const UV UNI_NV__1_SLASH_12_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F6, 0x109F7 }; static const UV UNI_NV__1_SLASH_16_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9F4, 0x9F5, 0xB75, 0xB76, 0xD76, 0xD77, 0xA833, 0xA834, 0x11FC9, 0x11FCB }; static const UV UNI_NV__1_SLASH_160_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD58, 0xD59, 0x11FC1, 0x11FC2 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__1_SLASH_2_invlist[] = { /* for ASCII/Latin1 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBD, 0xBE, 0xB73, 0xB74, 0xD74, 0xD75, 0xF2A, 0xF2B, 0x2CFD, 0x2CFE, 0xA831, 0xA832, 0x10141, 0x10142, 0x10175, 0x10177, 0x109BD, 0x109BE, 0x109FB, 0x109FC, 0x10A48, 0x10A49, 0x10E7B, 0x10E7C, 0x10F26, 0x10F27, 0x11FD1, 0x11FD3, 0x12464, 0x12465, 0x1ECAE, 0x1ECAF, 0x1ED3C, 0x1ED3D }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__1_SLASH_2_invlist[] = { /* for EBCDIC 1047 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB8, 0xB9, 0xB73, 0xB74, 0xD74, 0xD75, 0xF2A, 0xF2B, 0x2CFD, 0x2CFE, 0xA831, 0xA832, 0x10141, 0x10142, 0x10175, 0x10177, 0x109BD, 0x109BE, 0x109FB, 0x109FC, 0x10A48, 0x10A49, 0x10E7B, 0x10E7C, 0x10F26, 0x10F27, 0x11FD1, 0x11FD3, 0x12464, 0x12465, 0x1ECAE, 0x1ECAF, 0x1ED3C, 0x1ED3D }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__1_SLASH_2_invlist[] = { /* for EBCDIC 037 */ 35, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB8, 0xB9, 0xB73, 0xB74, 0xD74, 0xD75, 0xF2A, 0xF2B, 0x2CFD, 0x2CFE, 0xA831, 0xA832, 0x10141, 0x10142, 0x10175, 0x10177, 0x109BD, 0x109BE, 0x109FB, 0x109FC, 0x10A48, 0x10A49, 0x10E7B, 0x10E7C, 0x10F26, 0x10F27, 0x11FD1, 0x11FD3, 0x12464, 0x12465, 0x1ECAE, 0x1ECAF, 0x1ED3C, 0x1ED3D }; # endif /* EBCDIC 037 */ static const UV UNI_NV__1_SLASH_20_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD5B, 0xD5C, 0x11FC8, 0x11FC9 }; static const UV UNI_NV__1_SLASH_3_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2153, 0x2154, 0x109F9, 0x109FA, 0x10E7D, 0x10E7E, 0x1245A, 0x1245B, 0x1245D, 0x1245E, 0x12465, 0x12466 }; static const UV UNI_NV__1_SLASH_32_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC5, 0x11FC6 }; static const UV UNI_NV__1_SLASH_320_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC0, 0x11FC1, 0x11FD4, 0x11FD5 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__1_SLASH_4_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBC, 0xBD, 0x9F7, 0x9F8, 0xB72, 0xB73, 0xD73, 0xD74, 0xA830, 0xA831, 0x10140, 0x10141, 0x1018B, 0x1018C, 0x109F8, 0x109F9, 0x10E7C, 0x10E7D, 0x11FD0, 0x11FD1, 0x12460, 0x12461, 0x12462, 0x12464, 0x1ECAD, 0x1ECAE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__1_SLASH_4_invlist[] = { /* for EBCDIC 1047 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xB8, 0x9F7, 0x9F8, 0xB72, 0xB73, 0xD73, 0xD74, 0xA830, 0xA831, 0x10140, 0x10141, 0x1018B, 0x1018C, 0x109F8, 0x109F9, 0x10E7C, 0x10E7D, 0x11FD0, 0x11FD1, 0x12460, 0x12461, 0x12462, 0x12464, 0x1ECAD, 0x1ECAE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__1_SLASH_4_invlist[] = { /* for EBCDIC 037 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xB8, 0x9F7, 0x9F8, 0xB72, 0xB73, 0xD73, 0xD74, 0xA830, 0xA831, 0x10140, 0x10141, 0x1018B, 0x1018C, 0x109F8, 0x109F9, 0x10E7C, 0x10E7D, 0x11FD0, 0x11FD1, 0x12460, 0x12461, 0x12462, 0x12464, 0x1ECAD, 0x1ECAE }; # endif /* EBCDIC 037 */ static const UV UNI_NV__1_SLASH_40_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD59, 0xD5A, 0x11FC4, 0x11FC5 }; static const UV UNI_NV__1_SLASH_5_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD5E, 0xD5F, 0x2155, 0x2156, 0x11FCF, 0x11FD0 }; static const UV UNI_NV__1_SLASH_6_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2159, 0x215A, 0x109F7, 0x109F8, 0x12461, 0x12462, 0x1ED3D, 0x1ED3E }; static const UV UNI_NV__1_SLASH_64_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC3, 0x11FC4 }; static const UV UNI_NV__1_SLASH_7_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2150, 0x2151 }; static const UV UNI_NV__1_SLASH_8_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9F5, 0x9F6, 0xB76, 0xB77, 0xD77, 0xD78, 0x215B, 0x215C, 0xA834, 0xA835, 0x11FCC, 0x11FCD, 0x1245F, 0x12460 }; static const UV UNI_NV__1_SLASH_80_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC2, 0x11FC3 }; static const UV UNI_NV__1_SLASH_9_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2151, 0x2152 }; static const UV UNI_NV__10_invlist[] = { /* for all charsets */ 117, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBF0, 0xBF1, 0xD70, 0xD71, 0x1372, 0x1373, 0x2169, 0x216A, 0x2179, 0x217A, 0x2469, 0x246A, 0x247D, 0x247E, 0x2491, 0x2492, 0x24FE, 0x24FF, 0x277F, 0x2780, 0x2789, 0x278A, 0x2793, 0x2794, 0x3038, 0x3039, 0x3229, 0x322A, 0x3248, 0x3249, 0x3289, 0x328A, 0x4EC0, 0x4EC1, 0x5341, 0x5342, 0x62FE, 0x62FF, 0xF973, 0xF974, 0xF9FD, 0xF9FE, 0x10110, 0x10111, 0x10149, 0x1014A, 0x10150, 0x10151, 0x10157, 0x10158, 0x10160, 0x10165, 0x102EA, 0x102EB, 0x10322, 0x10323, 0x103D3, 0x103D4, 0x1085B, 0x1085C, 0x1087E, 0x1087F, 0x108AD, 0x108AE, 0x108FD, 0x108FE, 0x10917, 0x10918, 0x109C9, 0x109CA, 0x10A44, 0x10A45, 0x10A9E, 0x10A9F, 0x10AED, 0x10AEE, 0x10B5C, 0x10B5D, 0x10B7C, 0x10B7D, 0x10BAD, 0x10BAE, 0x10CFC, 0x10CFD, 0x10E69, 0x10E6A, 0x10F22, 0x10F23, 0x10F52, 0x10F53, 0x10FC9, 0x10FCA, 0x1105B, 0x1105C, 0x111EA, 0x111EB, 0x1173A, 0x1173B, 0x118EA, 0x118EB, 0x11C63, 0x11C64, 0x16B5B, 0x16B5C, 0x16E8A, 0x16E8B, 0x1D2EA, 0x1D2EB, 0x1D369, 0x1D36A, 0x1EC7A, 0x1EC7B, 0x1ED0A, 0x1ED0B, 0x1ED37, 0x1ED38 }; static const UV UNI_NV__100_invlist[] = { /* for all charsets */ 71, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBF1, 0xBF2, 0xD71, 0xD72, 0x137B, 0x137C, 0x216D, 0x216E, 0x217D, 0x217E, 0x4F70, 0x4F71, 0x767E, 0x767F, 0x964C, 0x964D, 0x10119, 0x1011A, 0x1014B, 0x1014C, 0x10152, 0x10153, 0x1016A, 0x1016B, 0x102F3, 0x102F4, 0x103D5, 0x103D6, 0x1085D, 0x1085E, 0x108AF, 0x108B0, 0x108FF, 0x10900, 0x10919, 0x1091A, 0x109D2, 0x109D3, 0x10A46, 0x10A47, 0x10AEF, 0x10AF0, 0x10B5E, 0x10B5F, 0x10B7E, 0x10B7F, 0x10BAF, 0x10BB0, 0x10CFE, 0x10CFF, 0x10E72, 0x10E73, 0x10F25, 0x10F26, 0x10F54, 0x10F55, 0x10FCB, 0x10FCC, 0x11064, 0x11065, 0x111F3, 0x111F4, 0x11C6C, 0x11C6D, 0x16B5C, 0x16B5D, 0x1EC83, 0x1EC84, 0x1ED13, 0x1ED14 }; static const UV UNI_NV__1000_invlist[] = { /* for all charsets */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBF2, 0xBF3, 0xD72, 0xD73, 0x216F, 0x2170, 0x217F, 0x2181, 0x4EDF, 0x4EE0, 0x5343, 0x5344, 0x9621, 0x9622, 0x10122, 0x10123, 0x1014D, 0x1014E, 0x10154, 0x10155, 0x10171, 0x10172, 0x1085E, 0x1085F, 0x109DB, 0x109DC, 0x10A47, 0x10A48, 0x10B5F, 0x10B60, 0x10B7F, 0x10B80, 0x10CFF, 0x10D00, 0x11065, 0x11066, 0x111F4, 0x111F5, 0x1EC8C, 0x1EC8D, 0x1ED1C, 0x1ED1D }; static const UV UNI_NV__10000_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x137C, 0x137D, 0x2182, 0x2183, 0x4E07, 0x4E08, 0x842C, 0x842D, 0x1012B, 0x1012C, 0x10155, 0x10156, 0x1085F, 0x10860, 0x109E4, 0x109E5, 0x16B5D, 0x16B5E, 0x1EC95, 0x1EC96, 0x1ECB3, 0x1ECB4, 0x1ED25, 0x1ED26, 0x1ED3B, 0x1ED3C }; static const UV UNI_NV__100000_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2188, 0x2189, 0x109ED, 0x109EE, 0x1EC9E, 0x1EC9F, 0x1ECA0, 0x1ECA1, 0x1ECB4, 0x1ECB5 }; static const UV UNI_NV__1000000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16B5E, 0x16B5F }; static const UV UNI_NV__10000000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1ECA1, 0x1ECA2 }; static const UV UNI_NV__100000000_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4EBF, 0x4EC0, 0x5104, 0x5105, 0x16B5F, 0x16B60 }; static const UV UNI_NV__10000000000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16B60, 0x16B61 }; static const UV UNI_NV__1000000000000_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5146, 0x5147, 0x16B61, 0x16B62 }; static const UV UNI_NV__11_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x216A, 0x216B, 0x217A, 0x217B, 0x246A, 0x246B, 0x247E, 0x247F, 0x2492, 0x2493, 0x24EB, 0x24EC, 0x16E8B, 0x16E8C, 0x1D2EB, 0x1D2EC }; static const UV UNI_NV__11_SLASH_12_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109BC, 0x109BD }; static const UV UNI_NV__11_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF2F, 0xF30 }; static const UV UNI_NV__12_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x216B, 0x216C, 0x217B, 0x217C, 0x246B, 0x246C, 0x247F, 0x2480, 0x2493, 0x2494, 0x24EC, 0x24ED, 0x16E8C, 0x16E8D, 0x1D2EC, 0x1D2ED }; static const UV UNI_NV__13_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x246C, 0x246D, 0x2480, 0x2481, 0x2494, 0x2495, 0x24ED, 0x24EE, 0x16E8D, 0x16E8E, 0x1D2ED, 0x1D2EE }; static const UV UNI_NV__13_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF30, 0xF31 }; static const UV UNI_NV__14_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x246D, 0x246E, 0x2481, 0x2482, 0x2495, 0x2496, 0x24EE, 0x24EF, 0x16E8E, 0x16E8F, 0x1D2EE, 0x1D2EF }; static const UV UNI_NV__15_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x246E, 0x246F, 0x2482, 0x2483, 0x2496, 0x2497, 0x24EF, 0x24F0, 0x16E8F, 0x16E90, 0x1D2EF, 0x1D2F0 }; static const UV UNI_NV__15_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF31, 0xF32 }; static const UV UNI_NV__16_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9F9, 0x9FA, 0x246F, 0x2470, 0x2483, 0x2484, 0x2497, 0x2498, 0x24F0, 0x24F1, 0x16E90, 0x16E91, 0x1D2F0, 0x1D2F1 }; static const UV UNI_NV__17_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16EE, 0x16EF, 0x2470, 0x2471, 0x2484, 0x2485, 0x2498, 0x2499, 0x24F1, 0x24F2, 0x16E91, 0x16E92, 0x1D2F1, 0x1D2F2 }; static const UV UNI_NV__17_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF32, 0xF33 }; static const UV UNI_NV__18_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16EF, 0x16F0, 0x2471, 0x2472, 0x2485, 0x2486, 0x2499, 0x249A, 0x24F2, 0x24F3, 0x16E92, 0x16E93, 0x1D2F2, 0x1D2F3 }; static const UV UNI_NV__19_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16F0, 0x16F1, 0x2472, 0x2473, 0x2486, 0x2487, 0x249A, 0x249B, 0x24F3, 0x24F4, 0x16E93, 0x16E94, 0x1D2F3, 0x1D2F4 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__2_invlist[] = { /* for ASCII/Latin1 */ 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32, 0x33, 0xB2, 0xB3, 0x662, 0x663, 0x6F2, 0x6F3, 0x7C2, 0x7C3, 0x968, 0x969, 0x9E8, 0x9E9, 0xA68, 0xA69, 0xAE8, 0xAE9, 0xB68, 0xB69, 0xBE8, 0xBE9, 0xC68, 0xC69, 0xC7A, 0xC7B, 0xC7D, 0xC7E, 0xCE8, 0xCE9, 0xD68, 0xD69, 0xDE8, 0xDE9, 0xE52, 0xE53, 0xED2, 0xED3, 0xF22, 0xF23, 0x1042, 0x1043, 0x1092, 0x1093, 0x136A, 0x136B, 0x17E2, 0x17E3, 0x17F2, 0x17F3, 0x1812, 0x1813, 0x1948, 0x1949, 0x19D2, 0x19D3, 0x1A82, 0x1A83, 0x1A92, 0x1A93, 0x1B52, 0x1B53, 0x1BB2, 0x1BB3, 0x1C42, 0x1C43, 0x1C52, 0x1C53, 0x2082, 0x2083, 0x2161, 0x2162, 0x2171, 0x2172, 0x2461, 0x2462, 0x2475, 0x2476, 0x2489, 0x248A, 0x24F6, 0x24F7, 0x2777, 0x2778, 0x2781, 0x2782, 0x278B, 0x278C, 0x3022, 0x3023, 0x3193, 0x3194, 0x3221, 0x3222, 0x3281, 0x3282, 0x3483, 0x3484, 0x4E8C, 0x4E8D, 0x5169, 0x516A, 0x5F0D, 0x5F0E, 0x5F10, 0x5F11, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0xA622, 0xA623, 0xA6E7, 0xA6E8, 0xA8D2, 0xA8D3, 0xA902, 0xA903, 0xA9D2, 0xA9D3, 0xA9F2, 0xA9F3, 0xAA52, 0xAA53, 0xABF2, 0xABF3, 0xF978, 0xF979, 0xFF12, 0xFF13, 0x10108, 0x10109, 0x1015B, 0x1015F, 0x102E2, 0x102E3, 0x103D2, 0x103D3, 0x104A2, 0x104A3, 0x10859, 0x1085A, 0x1087A, 0x1087B, 0x108A8, 0x108A9, 0x1091A, 0x1091B, 0x109C1, 0x109C2, 0x10A41, 0x10A42, 0x10B59, 0x10B5A, 0x10B79, 0x10B7A, 0x10BAA, 0x10BAB, 0x10D32, 0x10D33, 0x10E61, 0x10E62, 0x10F1E, 0x10F1F, 0x10FC6, 0x10FC7, 0x11053, 0x11054, 0x11068, 0x11069, 0x110F2, 0x110F3, 0x11138, 0x11139, 0x111D2, 0x111D3, 0x111E2, 0x111E3, 0x112F2, 0x112F3, 0x11452, 0x11453, 0x114D2, 0x114D3, 0x11652, 0x11653, 0x116C2, 0x116C3, 0x11732, 0x11733, 0x118E2, 0x118E3, 0x11952, 0x11953, 0x11C52, 0x11C53, 0x11C5B, 0x11C5C, 0x11D52, 0x11D53, 0x11DA2, 0x11DA3, 0x12400, 0x12401, 0x12416, 0x12417, 0x1241F, 0x12420, 0x12423, 0x12424, 0x1242D, 0x1242E, 0x12435, 0x12436, 0x1244A, 0x1244B, 0x12450, 0x12451, 0x12456, 0x12457, 0x12459, 0x1245A, 0x16A62, 0x16A63, 0x16B52, 0x16B53, 0x16E82, 0x16E83, 0x16E95, 0x16E96, 0x1D2E2, 0x1D2E3, 0x1D361, 0x1D362, 0x1D373, 0x1D374, 0x1D7D0, 0x1D7D1, 0x1D7DA, 0x1D7DB, 0x1D7E4, 0x1D7E5, 0x1D7EE, 0x1D7EF, 0x1D7F8, 0x1D7F9, 0x1E142, 0x1E143, 0x1E2F2, 0x1E2F3, 0x1E8C8, 0x1E8C9, 0x1E952, 0x1E953, 0x1EC72, 0x1EC73, 0x1ECA4, 0x1ECA5, 0x1ECB2, 0x1ECB3, 0x1ED02, 0x1ED03, 0x1ED2F, 0x1ED30, 0x1F103, 0x1F104, 0x1FBF2, 0x1FBF3, 0x22390, 0x22391 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 1047 */ 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEA, 0xEB, 0xF2, 0xF3, 0x662, 0x663, 0x6F2, 0x6F3, 0x7C2, 0x7C3, 0x968, 0x969, 0x9E8, 0x9E9, 0xA68, 0xA69, 0xAE8, 0xAE9, 0xB68, 0xB69, 0xBE8, 0xBE9, 0xC68, 0xC69, 0xC7A, 0xC7B, 0xC7D, 0xC7E, 0xCE8, 0xCE9, 0xD68, 0xD69, 0xDE8, 0xDE9, 0xE52, 0xE53, 0xED2, 0xED3, 0xF22, 0xF23, 0x1042, 0x1043, 0x1092, 0x1093, 0x136A, 0x136B, 0x17E2, 0x17E3, 0x17F2, 0x17F3, 0x1812, 0x1813, 0x1948, 0x1949, 0x19D2, 0x19D3, 0x1A82, 0x1A83, 0x1A92, 0x1A93, 0x1B52, 0x1B53, 0x1BB2, 0x1BB3, 0x1C42, 0x1C43, 0x1C52, 0x1C53, 0x2082, 0x2083, 0x2161, 0x2162, 0x2171, 0x2172, 0x2461, 0x2462, 0x2475, 0x2476, 0x2489, 0x248A, 0x24F6, 0x24F7, 0x2777, 0x2778, 0x2781, 0x2782, 0x278B, 0x278C, 0x3022, 0x3023, 0x3193, 0x3194, 0x3221, 0x3222, 0x3281, 0x3282, 0x3483, 0x3484, 0x4E8C, 0x4E8D, 0x5169, 0x516A, 0x5F0D, 0x5F0E, 0x5F10, 0x5F11, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0xA622, 0xA623, 0xA6E7, 0xA6E8, 0xA8D2, 0xA8D3, 0xA902, 0xA903, 0xA9D2, 0xA9D3, 0xA9F2, 0xA9F3, 0xAA52, 0xAA53, 0xABF2, 0xABF3, 0xF978, 0xF979, 0xFF12, 0xFF13, 0x10108, 0x10109, 0x1015B, 0x1015F, 0x102E2, 0x102E3, 0x103D2, 0x103D3, 0x104A2, 0x104A3, 0x10859, 0x1085A, 0x1087A, 0x1087B, 0x108A8, 0x108A9, 0x1091A, 0x1091B, 0x109C1, 0x109C2, 0x10A41, 0x10A42, 0x10B59, 0x10B5A, 0x10B79, 0x10B7A, 0x10BAA, 0x10BAB, 0x10D32, 0x10D33, 0x10E61, 0x10E62, 0x10F1E, 0x10F1F, 0x10FC6, 0x10FC7, 0x11053, 0x11054, 0x11068, 0x11069, 0x110F2, 0x110F3, 0x11138, 0x11139, 0x111D2, 0x111D3, 0x111E2, 0x111E3, 0x112F2, 0x112F3, 0x11452, 0x11453, 0x114D2, 0x114D3, 0x11652, 0x11653, 0x116C2, 0x116C3, 0x11732, 0x11733, 0x118E2, 0x118E3, 0x11952, 0x11953, 0x11C52, 0x11C53, 0x11C5B, 0x11C5C, 0x11D52, 0x11D53, 0x11DA2, 0x11DA3, 0x12400, 0x12401, 0x12416, 0x12417, 0x1241F, 0x12420, 0x12423, 0x12424, 0x1242D, 0x1242E, 0x12435, 0x12436, 0x1244A, 0x1244B, 0x12450, 0x12451, 0x12456, 0x12457, 0x12459, 0x1245A, 0x16A62, 0x16A63, 0x16B52, 0x16B53, 0x16E82, 0x16E83, 0x16E95, 0x16E96, 0x1D2E2, 0x1D2E3, 0x1D361, 0x1D362, 0x1D373, 0x1D374, 0x1D7D0, 0x1D7D1, 0x1D7DA, 0x1D7DB, 0x1D7E4, 0x1D7E5, 0x1D7EE, 0x1D7EF, 0x1D7F8, 0x1D7F9, 0x1E142, 0x1E143, 0x1E2F2, 0x1E2F3, 0x1E8C8, 0x1E8C9, 0x1E952, 0x1E953, 0x1EC72, 0x1EC73, 0x1ECA4, 0x1ECA5, 0x1ECB2, 0x1ECB3, 0x1ED02, 0x1ED03, 0x1ED2F, 0x1ED30, 0x1F103, 0x1F104, 0x1FBF2, 0x1FBF3, 0x22390, 0x22391 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__2_invlist[] = { /* for EBCDIC 037 */ 273, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xEA, 0xEB, 0xF2, 0xF3, 0x662, 0x663, 0x6F2, 0x6F3, 0x7C2, 0x7C3, 0x968, 0x969, 0x9E8, 0x9E9, 0xA68, 0xA69, 0xAE8, 0xAE9, 0xB68, 0xB69, 0xBE8, 0xBE9, 0xC68, 0xC69, 0xC7A, 0xC7B, 0xC7D, 0xC7E, 0xCE8, 0xCE9, 0xD68, 0xD69, 0xDE8, 0xDE9, 0xE52, 0xE53, 0xED2, 0xED3, 0xF22, 0xF23, 0x1042, 0x1043, 0x1092, 0x1093, 0x136A, 0x136B, 0x17E2, 0x17E3, 0x17F2, 0x17F3, 0x1812, 0x1813, 0x1948, 0x1949, 0x19D2, 0x19D3, 0x1A82, 0x1A83, 0x1A92, 0x1A93, 0x1B52, 0x1B53, 0x1BB2, 0x1BB3, 0x1C42, 0x1C43, 0x1C52, 0x1C53, 0x2082, 0x2083, 0x2161, 0x2162, 0x2171, 0x2172, 0x2461, 0x2462, 0x2475, 0x2476, 0x2489, 0x248A, 0x24F6, 0x24F7, 0x2777, 0x2778, 0x2781, 0x2782, 0x278B, 0x278C, 0x3022, 0x3023, 0x3193, 0x3194, 0x3221, 0x3222, 0x3281, 0x3282, 0x3483, 0x3484, 0x4E8C, 0x4E8D, 0x5169, 0x516A, 0x5F0D, 0x5F0E, 0x5F10, 0x5F11, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0xA622, 0xA623, 0xA6E7, 0xA6E8, 0xA8D2, 0xA8D3, 0xA902, 0xA903, 0xA9D2, 0xA9D3, 0xA9F2, 0xA9F3, 0xAA52, 0xAA53, 0xABF2, 0xABF3, 0xF978, 0xF979, 0xFF12, 0xFF13, 0x10108, 0x10109, 0x1015B, 0x1015F, 0x102E2, 0x102E3, 0x103D2, 0x103D3, 0x104A2, 0x104A3, 0x10859, 0x1085A, 0x1087A, 0x1087B, 0x108A8, 0x108A9, 0x1091A, 0x1091B, 0x109C1, 0x109C2, 0x10A41, 0x10A42, 0x10B59, 0x10B5A, 0x10B79, 0x10B7A, 0x10BAA, 0x10BAB, 0x10D32, 0x10D33, 0x10E61, 0x10E62, 0x10F1E, 0x10F1F, 0x10FC6, 0x10FC7, 0x11053, 0x11054, 0x11068, 0x11069, 0x110F2, 0x110F3, 0x11138, 0x11139, 0x111D2, 0x111D3, 0x111E2, 0x111E3, 0x112F2, 0x112F3, 0x11452, 0x11453, 0x114D2, 0x114D3, 0x11652, 0x11653, 0x116C2, 0x116C3, 0x11732, 0x11733, 0x118E2, 0x118E3, 0x11952, 0x11953, 0x11C52, 0x11C53, 0x11C5B, 0x11C5C, 0x11D52, 0x11D53, 0x11DA2, 0x11DA3, 0x12400, 0x12401, 0x12416, 0x12417, 0x1241F, 0x12420, 0x12423, 0x12424, 0x1242D, 0x1242E, 0x12435, 0x12436, 0x1244A, 0x1244B, 0x12450, 0x12451, 0x12456, 0x12457, 0x12459, 0x1245A, 0x16A62, 0x16A63, 0x16B52, 0x16B53, 0x16E82, 0x16E83, 0x16E95, 0x16E96, 0x1D2E2, 0x1D2E3, 0x1D361, 0x1D362, 0x1D373, 0x1D374, 0x1D7D0, 0x1D7D1, 0x1D7DA, 0x1D7DB, 0x1D7E4, 0x1D7E5, 0x1D7EE, 0x1D7EF, 0x1D7F8, 0x1D7F9, 0x1E142, 0x1E143, 0x1E2F2, 0x1E2F3, 0x1E8C8, 0x1E8C9, 0x1E952, 0x1E953, 0x1EC72, 0x1EC73, 0x1ECA4, 0x1ECA5, 0x1ECB2, 0x1ECB3, 0x1ED02, 0x1ED03, 0x1ED2F, 0x1ED30, 0x1F103, 0x1F104, 0x1FBF2, 0x1FBF3, 0x22390, 0x22391 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__2_SLASH_3_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2154, 0x2155, 0x10177, 0x10178, 0x109FD, 0x109FE, 0x10E7E, 0x10E7F, 0x1245B, 0x1245C, 0x1245E, 0x1245F, 0x12466, 0x12467 }; static const UV UNI_NV__2_SLASH_5_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2156, 0x2157 }; static const UV UNI_NV__20_invlist[] = { /* for all charsets */ 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1373, 0x1374, 0x2473, 0x2474, 0x2487, 0x2488, 0x249B, 0x249C, 0x24F4, 0x24F5, 0x3039, 0x303A, 0x3249, 0x324A, 0x5344, 0x5345, 0x5EFF, 0x5F00, 0x10111, 0x10112, 0x102EB, 0x102EC, 0x103D4, 0x103D5, 0x1085C, 0x1085D, 0x1087F, 0x10880, 0x108AE, 0x108AF, 0x108FE, 0x108FF, 0x10918, 0x10919, 0x109CA, 0x109CB, 0x10A45, 0x10A46, 0x10A9F, 0x10AA0, 0x10AEE, 0x10AEF, 0x10B5D, 0x10B5E, 0x10B7D, 0x10B7E, 0x10BAE, 0x10BAF, 0x10E6A, 0x10E6B, 0x10F23, 0x10F24, 0x10F53, 0x10F54, 0x10FCA, 0x10FCB, 0x1105C, 0x1105D, 0x111EB, 0x111EC, 0x1173B, 0x1173C, 0x118EB, 0x118EC, 0x11C64, 0x11C65, 0x1D36A, 0x1D36B, 0x1EC7B, 0x1EC7C, 0x1ED0B, 0x1ED0C }; static const UV UNI_NV__200_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1011A, 0x1011B, 0x102F4, 0x102F5, 0x109D3, 0x109D4, 0x10E73, 0x10E74, 0x1EC84, 0x1EC85, 0x1ED14, 0x1ED15 }; static const UV UNI_NV__2000_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10123, 0x10124, 0x109DC, 0x109DD, 0x1EC8D, 0x1EC8E, 0x1ED1D, 0x1ED1E, 0x1ED3A, 0x1ED3B }; static const UV UNI_NV__20000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1012C, 0x1012D, 0x109E5, 0x109E6, 0x1EC96, 0x1EC97, 0x1ED26, 0x1ED27 }; static const UV UNI_NV__200000_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109EE, 0x109EF, 0x1EC9F, 0x1ECA0 }; static const UV UNI_NV__20000000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1ECA2, 0x1ECA3 }; static const UV UNI_NV__21_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3251, 0x3252 }; static const UV UNI_NV__216000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12432, 0x12433 }; static const UV UNI_NV__22_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3252, 0x3253 }; static const UV UNI_NV__23_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3253, 0x3254 }; static const UV UNI_NV__24_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3254, 0x3255 }; static const UV UNI_NV__25_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3255, 0x3256 }; static const UV UNI_NV__26_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3256, 0x3257 }; static const UV UNI_NV__27_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3257, 0x3258 }; static const UV UNI_NV__28_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3258, 0x3259 }; static const UV UNI_NV__29_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3259, 0x325A }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__3_invlist[] = { /* for ASCII/Latin1 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x33, 0x34, 0xB3, 0xB4, 0x663, 0x664, 0x6F3, 0x6F4, 0x7C3, 0x7C4, 0x969, 0x96A, 0x9E9, 0x9EA, 0xA69, 0xA6A, 0xAE9, 0xAEA, 0xB69, 0xB6A, 0xBE9, 0xBEA, 0xC69, 0xC6A, 0xC7B, 0xC7C, 0xC7E, 0xC7F, 0xCE9, 0xCEA, 0xD69, 0xD6A, 0xDE9, 0xDEA, 0xE53, 0xE54, 0xED3, 0xED4, 0xF23, 0xF24, 0x1043, 0x1044, 0x1093, 0x1094, 0x136B, 0x136C, 0x17E3, 0x17E4, 0x17F3, 0x17F4, 0x1813, 0x1814, 0x1949, 0x194A, 0x19D3, 0x19D4, 0x1A83, 0x1A84, 0x1A93, 0x1A94, 0x1B53, 0x1B54, 0x1BB3, 0x1BB4, 0x1C43, 0x1C44, 0x1C53, 0x1C54, 0x2083, 0x2084, 0x2162, 0x2163, 0x2172, 0x2173, 0x2462, 0x2463, 0x2476, 0x2477, 0x248A, 0x248B, 0x24F7, 0x24F8, 0x2778, 0x2779, 0x2782, 0x2783, 0x278C, 0x278D, 0x3023, 0x3024, 0x3194, 0x3195, 0x3222, 0x3223, 0x3282, 0x3283, 0x4E09, 0x4E0A, 0x4EE8, 0x4EE9, 0x53C1, 0x53C5, 0x5F0E, 0x5F0F, 0xA623, 0xA624, 0xA6E8, 0xA6E9, 0xA8D3, 0xA8D4, 0xA903, 0xA904, 0xA9D3, 0xA9D4, 0xA9F3, 0xA9F4, 0xAA53, 0xAA54, 0xABF3, 0xABF4, 0xF96B, 0xF96C, 0xFF13, 0xFF14, 0x10109, 0x1010A, 0x102E3, 0x102E4, 0x104A3, 0x104A4, 0x1085A, 0x1085B, 0x1087B, 0x1087C, 0x108A9, 0x108AA, 0x1091B, 0x1091C, 0x109C2, 0x109C3, 0x10A42, 0x10A43, 0x10B5A, 0x10B5B, 0x10B7A, 0x10B7B, 0x10BAB, 0x10BAC, 0x10D33, 0x10D34, 0x10E62, 0x10E63, 0x10F1F, 0x10F20, 0x10FC7, 0x10FC8, 0x11054, 0x11055, 0x11069, 0x1106A, 0x110F3, 0x110F4, 0x11139, 0x1113A, 0x111D3, 0x111D4, 0x111E3, 0x111E4, 0x112F3, 0x112F4, 0x11453, 0x11454, 0x114D3, 0x114D4, 0x11653, 0x11654, 0x116C3, 0x116C4, 0x11733, 0x11734, 0x118E3, 0x118E4, 0x11953, 0x11954, 0x11C53, 0x11C54, 0x11C5C, 0x11C5D, 0x11D53, 0x11D54, 0x11DA3, 0x11DA4, 0x12401, 0x12402, 0x12408, 0x12409, 0x12417, 0x12418, 0x12420, 0x12421, 0x12424, 0x12426, 0x1242E, 0x12430, 0x12436, 0x12438, 0x1243A, 0x1243C, 0x1244B, 0x1244C, 0x12451, 0x12452, 0x12457, 0x12458, 0x16A63, 0x16A64, 0x16B53, 0x16B54, 0x16E83, 0x16E84, 0x16E96, 0x16E97, 0x1D2E3, 0x1D2E4, 0x1D362, 0x1D363, 0x1D374, 0x1D375, 0x1D7D1, 0x1D7D2, 0x1D7DB, 0x1D7DC, 0x1D7E5, 0x1D7E6, 0x1D7EF, 0x1D7F0, 0x1D7F9, 0x1D7FA, 0x1E143, 0x1E144, 0x1E2F3, 0x1E2F4, 0x1E8C9, 0x1E8CA, 0x1E953, 0x1E954, 0x1EC73, 0x1EC74, 0x1ECA5, 0x1ECA6, 0x1ED03, 0x1ED04, 0x1ED30, 0x1ED31, 0x1F104, 0x1F105, 0x1FBF3, 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22998, 0x22999, 0x23B1B, 0x23B1C }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 1047 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF3, 0xF4, 0xFA, 0xFB, 0x663, 0x664, 0x6F3, 0x6F4, 0x7C3, 0x7C4, 0x969, 0x96A, 0x9E9, 0x9EA, 0xA69, 0xA6A, 0xAE9, 0xAEA, 0xB69, 0xB6A, 0xBE9, 0xBEA, 0xC69, 0xC6A, 0xC7B, 0xC7C, 0xC7E, 0xC7F, 0xCE9, 0xCEA, 0xD69, 0xD6A, 0xDE9, 0xDEA, 0xE53, 0xE54, 0xED3, 0xED4, 0xF23, 0xF24, 0x1043, 0x1044, 0x1093, 0x1094, 0x136B, 0x136C, 0x17E3, 0x17E4, 0x17F3, 0x17F4, 0x1813, 0x1814, 0x1949, 0x194A, 0x19D3, 0x19D4, 0x1A83, 0x1A84, 0x1A93, 0x1A94, 0x1B53, 0x1B54, 0x1BB3, 0x1BB4, 0x1C43, 0x1C44, 0x1C53, 0x1C54, 0x2083, 0x2084, 0x2162, 0x2163, 0x2172, 0x2173, 0x2462, 0x2463, 0x2476, 0x2477, 0x248A, 0x248B, 0x24F7, 0x24F8, 0x2778, 0x2779, 0x2782, 0x2783, 0x278C, 0x278D, 0x3023, 0x3024, 0x3194, 0x3195, 0x3222, 0x3223, 0x3282, 0x3283, 0x4E09, 0x4E0A, 0x4EE8, 0x4EE9, 0x53C1, 0x53C5, 0x5F0E, 0x5F0F, 0xA623, 0xA624, 0xA6E8, 0xA6E9, 0xA8D3, 0xA8D4, 0xA903, 0xA904, 0xA9D3, 0xA9D4, 0xA9F3, 0xA9F4, 0xAA53, 0xAA54, 0xABF3, 0xABF4, 0xF96B, 0xF96C, 0xFF13, 0xFF14, 0x10109, 0x1010A, 0x102E3, 0x102E4, 0x104A3, 0x104A4, 0x1085A, 0x1085B, 0x1087B, 0x1087C, 0x108A9, 0x108AA, 0x1091B, 0x1091C, 0x109C2, 0x109C3, 0x10A42, 0x10A43, 0x10B5A, 0x10B5B, 0x10B7A, 0x10B7B, 0x10BAB, 0x10BAC, 0x10D33, 0x10D34, 0x10E62, 0x10E63, 0x10F1F, 0x10F20, 0x10FC7, 0x10FC8, 0x11054, 0x11055, 0x11069, 0x1106A, 0x110F3, 0x110F4, 0x11139, 0x1113A, 0x111D3, 0x111D4, 0x111E3, 0x111E4, 0x112F3, 0x112F4, 0x11453, 0x11454, 0x114D3, 0x114D4, 0x11653, 0x11654, 0x116C3, 0x116C4, 0x11733, 0x11734, 0x118E3, 0x118E4, 0x11953, 0x11954, 0x11C53, 0x11C54, 0x11C5C, 0x11C5D, 0x11D53, 0x11D54, 0x11DA3, 0x11DA4, 0x12401, 0x12402, 0x12408, 0x12409, 0x12417, 0x12418, 0x12420, 0x12421, 0x12424, 0x12426, 0x1242E, 0x12430, 0x12436, 0x12438, 0x1243A, 0x1243C, 0x1244B, 0x1244C, 0x12451, 0x12452, 0x12457, 0x12458, 0x16A63, 0x16A64, 0x16B53, 0x16B54, 0x16E83, 0x16E84, 0x16E96, 0x16E97, 0x1D2E3, 0x1D2E4, 0x1D362, 0x1D363, 0x1D374, 0x1D375, 0x1D7D1, 0x1D7D2, 0x1D7DB, 0x1D7DC, 0x1D7E5, 0x1D7E6, 0x1D7EF, 0x1D7F0, 0x1D7F9, 0x1D7FA, 0x1E143, 0x1E144, 0x1E2F3, 0x1E2F4, 0x1E8C9, 0x1E8CA, 0x1E953, 0x1E954, 0x1EC73, 0x1EC74, 0x1ECA5, 0x1ECA6, 0x1ED03, 0x1ED04, 0x1ED30, 0x1ED31, 0x1F104, 0x1F105, 0x1FBF3, 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22998, 0x22999, 0x23B1B, 0x23B1C }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__3_invlist[] = { /* for EBCDIC 037 */ 267, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF3, 0xF4, 0xFA, 0xFB, 0x663, 0x664, 0x6F3, 0x6F4, 0x7C3, 0x7C4, 0x969, 0x96A, 0x9E9, 0x9EA, 0xA69, 0xA6A, 0xAE9, 0xAEA, 0xB69, 0xB6A, 0xBE9, 0xBEA, 0xC69, 0xC6A, 0xC7B, 0xC7C, 0xC7E, 0xC7F, 0xCE9, 0xCEA, 0xD69, 0xD6A, 0xDE9, 0xDEA, 0xE53, 0xE54, 0xED3, 0xED4, 0xF23, 0xF24, 0x1043, 0x1044, 0x1093, 0x1094, 0x136B, 0x136C, 0x17E3, 0x17E4, 0x17F3, 0x17F4, 0x1813, 0x1814, 0x1949, 0x194A, 0x19D3, 0x19D4, 0x1A83, 0x1A84, 0x1A93, 0x1A94, 0x1B53, 0x1B54, 0x1BB3, 0x1BB4, 0x1C43, 0x1C44, 0x1C53, 0x1C54, 0x2083, 0x2084, 0x2162, 0x2163, 0x2172, 0x2173, 0x2462, 0x2463, 0x2476, 0x2477, 0x248A, 0x248B, 0x24F7, 0x24F8, 0x2778, 0x2779, 0x2782, 0x2783, 0x278C, 0x278D, 0x3023, 0x3024, 0x3194, 0x3195, 0x3222, 0x3223, 0x3282, 0x3283, 0x4E09, 0x4E0A, 0x4EE8, 0x4EE9, 0x53C1, 0x53C5, 0x5F0E, 0x5F0F, 0xA623, 0xA624, 0xA6E8, 0xA6E9, 0xA8D3, 0xA8D4, 0xA903, 0xA904, 0xA9D3, 0xA9D4, 0xA9F3, 0xA9F4, 0xAA53, 0xAA54, 0xABF3, 0xABF4, 0xF96B, 0xF96C, 0xFF13, 0xFF14, 0x10109, 0x1010A, 0x102E3, 0x102E4, 0x104A3, 0x104A4, 0x1085A, 0x1085B, 0x1087B, 0x1087C, 0x108A9, 0x108AA, 0x1091B, 0x1091C, 0x109C2, 0x109C3, 0x10A42, 0x10A43, 0x10B5A, 0x10B5B, 0x10B7A, 0x10B7B, 0x10BAB, 0x10BAC, 0x10D33, 0x10D34, 0x10E62, 0x10E63, 0x10F1F, 0x10F20, 0x10FC7, 0x10FC8, 0x11054, 0x11055, 0x11069, 0x1106A, 0x110F3, 0x110F4, 0x11139, 0x1113A, 0x111D3, 0x111D4, 0x111E3, 0x111E4, 0x112F3, 0x112F4, 0x11453, 0x11454, 0x114D3, 0x114D4, 0x11653, 0x11654, 0x116C3, 0x116C4, 0x11733, 0x11734, 0x118E3, 0x118E4, 0x11953, 0x11954, 0x11C53, 0x11C54, 0x11C5C, 0x11C5D, 0x11D53, 0x11D54, 0x11DA3, 0x11DA4, 0x12401, 0x12402, 0x12408, 0x12409, 0x12417, 0x12418, 0x12420, 0x12421, 0x12424, 0x12426, 0x1242E, 0x12430, 0x12436, 0x12438, 0x1243A, 0x1243C, 0x1244B, 0x1244C, 0x12451, 0x12452, 0x12457, 0x12458, 0x16A63, 0x16A64, 0x16B53, 0x16B54, 0x16E83, 0x16E84, 0x16E96, 0x16E97, 0x1D2E3, 0x1D2E4, 0x1D362, 0x1D363, 0x1D374, 0x1D375, 0x1D7D1, 0x1D7D2, 0x1D7DB, 0x1D7DC, 0x1D7E5, 0x1D7E6, 0x1D7EF, 0x1D7F0, 0x1D7F9, 0x1D7FA, 0x1E143, 0x1E144, 0x1E2F3, 0x1E2F4, 0x1E8C9, 0x1E8CA, 0x1E953, 0x1E954, 0x1EC73, 0x1EC74, 0x1ECA5, 0x1ECA6, 0x1ED03, 0x1ED04, 0x1ED30, 0x1ED31, 0x1F104, 0x1F105, 0x1FBF3, 0x1FBF4, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22998, 0x22999, 0x23B1B, 0x23B1C }; # endif /* EBCDIC 037 */ static const UV UNI_NV__3_SLASH_16_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9F6, 0x9F7, 0xB77, 0xB78, 0xD78, 0xD79, 0xA835, 0xA836, 0x11FCE, 0x11FCF }; static const UV UNI_NV__3_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF2B, 0xF2C }; static const UV UNI_NV__3_SLASH_20_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD5D, 0xD5E, 0x11FCD, 0x11FCE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__3_SLASH_4_invlist[] = { /* for ASCII/Latin1 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBE, 0xBF, 0x9F8, 0x9F9, 0xB74, 0xB75, 0xD75, 0xD76, 0xA832, 0xA833, 0x10178, 0x10179, 0x109FE, 0x109FF, 0x11FD3, 0x11FD4, 0x1ECAF, 0x1ECB0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__3_SLASH_4_invlist[] = { /* for EBCDIC 1047 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB9, 0xBA, 0x9F8, 0x9F9, 0xB74, 0xB75, 0xD75, 0xD76, 0xA832, 0xA833, 0x10178, 0x10179, 0x109FE, 0x109FF, 0x11FD3, 0x11FD4, 0x1ECAF, 0x1ECB0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__3_SLASH_4_invlist[] = { /* for EBCDIC 037 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB9, 0xBA, 0x9F8, 0x9F9, 0xB74, 0xB75, 0xD75, 0xD76, 0xA832, 0xA833, 0x10178, 0x10179, 0x109FE, 0x109FF, 0x11FD3, 0x11FD4, 0x1ECAF, 0x1ECB0 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__3_SLASH_5_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2157, 0x2158 }; static const UV UNI_NV__3_SLASH_64_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC7, 0x11FC8 }; static const UV UNI_NV__3_SLASH_8_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x215C, 0x215D }; static const UV UNI_NV__3_SLASH_80_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD5A, 0xD5B, 0x11FC6, 0x11FC7 }; static const UV UNI_NV__30_invlist[] = { /* for all charsets */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1374, 0x1375, 0x303A, 0x303B, 0x324A, 0x324B, 0x325A, 0x325B, 0x5345, 0x5346, 0x10112, 0x10113, 0x10165, 0x10166, 0x102EC, 0x102ED, 0x109CB, 0x109CC, 0x10E6B, 0x10E6C, 0x10F24, 0x10F25, 0x1105D, 0x1105E, 0x111EC, 0x111ED, 0x118EC, 0x118ED, 0x11C65, 0x11C66, 0x1D36B, 0x1D36C, 0x1EC7C, 0x1EC7D, 0x1ED0C, 0x1ED0D, 0x20983, 0x20984 }; static const UV UNI_NV__300_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1011B, 0x1011C, 0x1016B, 0x1016C, 0x102F5, 0x102F6, 0x109D4, 0x109D5, 0x10E74, 0x10E75, 0x1EC85, 0x1EC86, 0x1ED15, 0x1ED16 }; static const UV UNI_NV__3000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10124, 0x10125, 0x109DD, 0x109DE, 0x1EC8E, 0x1EC8F, 0x1ED1E, 0x1ED1F }; static const UV UNI_NV__30000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1012D, 0x1012E, 0x109E6, 0x109E7, 0x1EC97, 0x1EC98, 0x1ED27, 0x1ED28 }; static const UV UNI_NV__300000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109EF, 0x109F0 }; static const UV UNI_NV__31_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x325B, 0x325C }; static const UV UNI_NV__32_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x325C, 0x325D }; static const UV UNI_NV__33_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x325D, 0x325E }; static const UV UNI_NV__34_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x325E, 0x325F }; static const UV UNI_NV__35_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x325F, 0x3260 }; static const UV UNI_NV__36_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B1, 0x32B2 }; static const UV UNI_NV__37_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B2, 0x32B3 }; static const UV UNI_NV__38_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B3, 0x32B4 }; static const UV UNI_NV__39_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B4, 0x32B5 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__4_invlist[] = { /* for ASCII/Latin1 */ 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x34, 0x35, 0x664, 0x665, 0x6F4, 0x6F5, 0x7C4, 0x7C5, 0x96A, 0x96B, 0x9EA, 0x9EB, 0xA6A, 0xA6B, 0xAEA, 0xAEB, 0xB6A, 0xB6B, 0xBEA, 0xBEB, 0xC6A, 0xC6B, 0xCEA, 0xCEB, 0xD6A, 0xD6B, 0xDEA, 0xDEB, 0xE54, 0xE55, 0xED4, 0xED5, 0xF24, 0xF25, 0x1044, 0x1045, 0x1094, 0x1095, 0x136C, 0x136D, 0x17E4, 0x17E5, 0x17F4, 0x17F5, 0x1814, 0x1815, 0x194A, 0x194B, 0x19D4, 0x19D5, 0x1A84, 0x1A85, 0x1A94, 0x1A95, 0x1B54, 0x1B55, 0x1BB4, 0x1BB5, 0x1C44, 0x1C45, 0x1C54, 0x1C55, 0x2074, 0x2075, 0x2084, 0x2085, 0x2163, 0x2164, 0x2173, 0x2174, 0x2463, 0x2464, 0x2477, 0x2478, 0x248B, 0x248C, 0x24F8, 0x24F9, 0x2779, 0x277A, 0x2783, 0x2784, 0x278D, 0x278E, 0x3024, 0x3025, 0x3195, 0x3196, 0x3223, 0x3224, 0x3283, 0x3284, 0x4E96, 0x4E97, 0x56DB, 0x56DC, 0x8086, 0x8087, 0xA624, 0xA625, 0xA6E9, 0xA6EA, 0xA8D4, 0xA8D5, 0xA904, 0xA905, 0xA9D4, 0xA9D5, 0xA9F4, 0xA9F5, 0xAA54, 0xAA55, 0xABF4, 0xABF5, 0xFF14, 0xFF15, 0x1010A, 0x1010B, 0x102E4, 0x102E5, 0x104A4, 0x104A5, 0x1087C, 0x1087D, 0x108AA, 0x108AC, 0x109C3, 0x109C4, 0x10A43, 0x10A44, 0x10B5B, 0x10B5C, 0x10B7B, 0x10B7C, 0x10BAC, 0x10BAD, 0x10D34, 0x10D35, 0x10E63, 0x10E64, 0x10F20, 0x10F21, 0x10FC8, 0x10FC9, 0x11055, 0x11056, 0x1106A, 0x1106B, 0x110F4, 0x110F5, 0x1113A, 0x1113B, 0x111D4, 0x111D5, 0x111E4, 0x111E5, 0x112F4, 0x112F5, 0x11454, 0x11455, 0x114D4, 0x114D5, 0x11654, 0x11655, 0x116C4, 0x116C5, 0x11734, 0x11735, 0x118E4, 0x118E5, 0x11954, 0x11955, 0x11C54, 0x11C55, 0x11C5D, 0x11C5E, 0x11D54, 0x11D55, 0x11DA4, 0x11DA5, 0x12402, 0x12403, 0x12409, 0x1240A, 0x1240F, 0x12410, 0x12418, 0x12419, 0x12421, 0x12422, 0x12426, 0x12427, 0x12430, 0x12431, 0x12438, 0x12439, 0x1243C, 0x12440, 0x1244C, 0x1244D, 0x12452, 0x12454, 0x12469, 0x1246A, 0x16A64, 0x16A65, 0x16B54, 0x16B55, 0x16E84, 0x16E85, 0x1D2E4, 0x1D2E5, 0x1D363, 0x1D364, 0x1D375, 0x1D376, 0x1D7D2, 0x1D7D3, 0x1D7DC, 0x1D7DD, 0x1D7E6, 0x1D7E7, 0x1D7F0, 0x1D7F1, 0x1D7FA, 0x1D7FB, 0x1E144, 0x1E145, 0x1E2F4, 0x1E2F5, 0x1E8CA, 0x1E8CB, 0x1E954, 0x1E955, 0x1EC74, 0x1EC75, 0x1ECA6, 0x1ECA7, 0x1ED04, 0x1ED05, 0x1ED31, 0x1ED32, 0x1F105, 0x1F106, 0x1FBF4, 0x1FBF5, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x2626D, 0x2626E }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 1047 */ 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF4, 0xF5, 0x664, 0x665, 0x6F4, 0x6F5, 0x7C4, 0x7C5, 0x96A, 0x96B, 0x9EA, 0x9EB, 0xA6A, 0xA6B, 0xAEA, 0xAEB, 0xB6A, 0xB6B, 0xBEA, 0xBEB, 0xC6A, 0xC6B, 0xCEA, 0xCEB, 0xD6A, 0xD6B, 0xDEA, 0xDEB, 0xE54, 0xE55, 0xED4, 0xED5, 0xF24, 0xF25, 0x1044, 0x1045, 0x1094, 0x1095, 0x136C, 0x136D, 0x17E4, 0x17E5, 0x17F4, 0x17F5, 0x1814, 0x1815, 0x194A, 0x194B, 0x19D4, 0x19D5, 0x1A84, 0x1A85, 0x1A94, 0x1A95, 0x1B54, 0x1B55, 0x1BB4, 0x1BB5, 0x1C44, 0x1C45, 0x1C54, 0x1C55, 0x2074, 0x2075, 0x2084, 0x2085, 0x2163, 0x2164, 0x2173, 0x2174, 0x2463, 0x2464, 0x2477, 0x2478, 0x248B, 0x248C, 0x24F8, 0x24F9, 0x2779, 0x277A, 0x2783, 0x2784, 0x278D, 0x278E, 0x3024, 0x3025, 0x3195, 0x3196, 0x3223, 0x3224, 0x3283, 0x3284, 0x4E96, 0x4E97, 0x56DB, 0x56DC, 0x8086, 0x8087, 0xA624, 0xA625, 0xA6E9, 0xA6EA, 0xA8D4, 0xA8D5, 0xA904, 0xA905, 0xA9D4, 0xA9D5, 0xA9F4, 0xA9F5, 0xAA54, 0xAA55, 0xABF4, 0xABF5, 0xFF14, 0xFF15, 0x1010A, 0x1010B, 0x102E4, 0x102E5, 0x104A4, 0x104A5, 0x1087C, 0x1087D, 0x108AA, 0x108AC, 0x109C3, 0x109C4, 0x10A43, 0x10A44, 0x10B5B, 0x10B5C, 0x10B7B, 0x10B7C, 0x10BAC, 0x10BAD, 0x10D34, 0x10D35, 0x10E63, 0x10E64, 0x10F20, 0x10F21, 0x10FC8, 0x10FC9, 0x11055, 0x11056, 0x1106A, 0x1106B, 0x110F4, 0x110F5, 0x1113A, 0x1113B, 0x111D4, 0x111D5, 0x111E4, 0x111E5, 0x112F4, 0x112F5, 0x11454, 0x11455, 0x114D4, 0x114D5, 0x11654, 0x11655, 0x116C4, 0x116C5, 0x11734, 0x11735, 0x118E4, 0x118E5, 0x11954, 0x11955, 0x11C54, 0x11C55, 0x11C5D, 0x11C5E, 0x11D54, 0x11D55, 0x11DA4, 0x11DA5, 0x12402, 0x12403, 0x12409, 0x1240A, 0x1240F, 0x12410, 0x12418, 0x12419, 0x12421, 0x12422, 0x12426, 0x12427, 0x12430, 0x12431, 0x12438, 0x12439, 0x1243C, 0x12440, 0x1244C, 0x1244D, 0x12452, 0x12454, 0x12469, 0x1246A, 0x16A64, 0x16A65, 0x16B54, 0x16B55, 0x16E84, 0x16E85, 0x1D2E4, 0x1D2E5, 0x1D363, 0x1D364, 0x1D375, 0x1D376, 0x1D7D2, 0x1D7D3, 0x1D7DC, 0x1D7DD, 0x1D7E6, 0x1D7E7, 0x1D7F0, 0x1D7F1, 0x1D7FA, 0x1D7FB, 0x1E144, 0x1E145, 0x1E2F4, 0x1E2F5, 0x1E8CA, 0x1E8CB, 0x1E954, 0x1E955, 0x1EC74, 0x1EC75, 0x1ECA6, 0x1ECA7, 0x1ED04, 0x1ED05, 0x1ED31, 0x1ED32, 0x1F105, 0x1F106, 0x1FBF4, 0x1FBF5, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x2626D, 0x2626E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__4_invlist[] = { /* for EBCDIC 037 */ 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF4, 0xF5, 0x664, 0x665, 0x6F4, 0x6F5, 0x7C4, 0x7C5, 0x96A, 0x96B, 0x9EA, 0x9EB, 0xA6A, 0xA6B, 0xAEA, 0xAEB, 0xB6A, 0xB6B, 0xBEA, 0xBEB, 0xC6A, 0xC6B, 0xCEA, 0xCEB, 0xD6A, 0xD6B, 0xDEA, 0xDEB, 0xE54, 0xE55, 0xED4, 0xED5, 0xF24, 0xF25, 0x1044, 0x1045, 0x1094, 0x1095, 0x136C, 0x136D, 0x17E4, 0x17E5, 0x17F4, 0x17F5, 0x1814, 0x1815, 0x194A, 0x194B, 0x19D4, 0x19D5, 0x1A84, 0x1A85, 0x1A94, 0x1A95, 0x1B54, 0x1B55, 0x1BB4, 0x1BB5, 0x1C44, 0x1C45, 0x1C54, 0x1C55, 0x2074, 0x2075, 0x2084, 0x2085, 0x2163, 0x2164, 0x2173, 0x2174, 0x2463, 0x2464, 0x2477, 0x2478, 0x248B, 0x248C, 0x24F8, 0x24F9, 0x2779, 0x277A, 0x2783, 0x2784, 0x278D, 0x278E, 0x3024, 0x3025, 0x3195, 0x3196, 0x3223, 0x3224, 0x3283, 0x3284, 0x4E96, 0x4E97, 0x56DB, 0x56DC, 0x8086, 0x8087, 0xA624, 0xA625, 0xA6E9, 0xA6EA, 0xA8D4, 0xA8D5, 0xA904, 0xA905, 0xA9D4, 0xA9D5, 0xA9F4, 0xA9F5, 0xAA54, 0xAA55, 0xABF4, 0xABF5, 0xFF14, 0xFF15, 0x1010A, 0x1010B, 0x102E4, 0x102E5, 0x104A4, 0x104A5, 0x1087C, 0x1087D, 0x108AA, 0x108AC, 0x109C3, 0x109C4, 0x10A43, 0x10A44, 0x10B5B, 0x10B5C, 0x10B7B, 0x10B7C, 0x10BAC, 0x10BAD, 0x10D34, 0x10D35, 0x10E63, 0x10E64, 0x10F20, 0x10F21, 0x10FC8, 0x10FC9, 0x11055, 0x11056, 0x1106A, 0x1106B, 0x110F4, 0x110F5, 0x1113A, 0x1113B, 0x111D4, 0x111D5, 0x111E4, 0x111E5, 0x112F4, 0x112F5, 0x11454, 0x11455, 0x114D4, 0x114D5, 0x11654, 0x11655, 0x116C4, 0x116C5, 0x11734, 0x11735, 0x118E4, 0x118E5, 0x11954, 0x11955, 0x11C54, 0x11C55, 0x11C5D, 0x11C5E, 0x11D54, 0x11D55, 0x11DA4, 0x11DA5, 0x12402, 0x12403, 0x12409, 0x1240A, 0x1240F, 0x12410, 0x12418, 0x12419, 0x12421, 0x12422, 0x12426, 0x12427, 0x12430, 0x12431, 0x12438, 0x12439, 0x1243C, 0x12440, 0x1244C, 0x1244D, 0x12452, 0x12454, 0x12469, 0x1246A, 0x16A64, 0x16A65, 0x16B54, 0x16B55, 0x16E84, 0x16E85, 0x1D2E4, 0x1D2E5, 0x1D363, 0x1D364, 0x1D375, 0x1D376, 0x1D7D2, 0x1D7D3, 0x1D7DC, 0x1D7DD, 0x1D7E6, 0x1D7E7, 0x1D7F0, 0x1D7F1, 0x1D7FA, 0x1D7FB, 0x1E144, 0x1E145, 0x1E2F4, 0x1E2F5, 0x1E8CA, 0x1E8CB, 0x1E954, 0x1E955, 0x1EC74, 0x1EC75, 0x1ECA6, 0x1ECA7, 0x1ED04, 0x1ED05, 0x1ED31, 0x1ED32, 0x1F105, 0x1F106, 0x1FBF4, 0x1FBF5, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x2626D, 0x2626E }; # endif /* EBCDIC 037 */ static const UV UNI_NV__4_SLASH_5_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2158, 0x2159 }; static const UV UNI_NV__40_invlist[] = { /* for all charsets */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1375, 0x1376, 0x324B, 0x324C, 0x32B5, 0x32B6, 0x534C, 0x534D, 0x10113, 0x10114, 0x102ED, 0x102EE, 0x109CC, 0x109CD, 0x10E6C, 0x10E6D, 0x1105E, 0x1105F, 0x111ED, 0x111EE, 0x118ED, 0x118EE, 0x11C66, 0x11C67, 0x12467, 0x12468, 0x1D36C, 0x1D36D, 0x1EC7D, 0x1EC7E, 0x1ED0D, 0x1ED0E, 0x2098C, 0x2098D, 0x2099C, 0x2099D }; static const UV UNI_NV__400_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1011C, 0x1011D, 0x102F6, 0x102F7, 0x109D5, 0x109D6, 0x10E75, 0x10E76, 0x1EC86, 0x1EC87, 0x1ED16, 0x1ED17, 0x1ED38, 0x1ED39 }; static const UV UNI_NV__4000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10125, 0x10126, 0x109DE, 0x109DF, 0x1EC8F, 0x1EC90, 0x1ED1F, 0x1ED20 }; static const UV UNI_NV__40000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1012E, 0x1012F, 0x109E7, 0x109E8, 0x1EC98, 0x1EC99, 0x1ED28, 0x1ED29 }; static const UV UNI_NV__400000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F0, 0x109F1 }; static const UV UNI_NV__41_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B6, 0x32B7 }; static const UV UNI_NV__42_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B7, 0x32B8 }; static const UV UNI_NV__43_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B8, 0x32B9 }; static const UV UNI_NV__432000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12433, 0x12434 }; static const UV UNI_NV__44_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32B9, 0x32BA }; static const UV UNI_NV__45_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32BA, 0x32BB }; static const UV UNI_NV__46_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32BB, 0x32BC }; static const UV UNI_NV__47_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32BC, 0x32BD }; static const UV UNI_NV__48_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32BD, 0x32BE }; static const UV UNI_NV__49_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x32BE, 0x32BF }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__5_invlist[] = { /* for ASCII/Latin1 */ 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x35, 0x36, 0x665, 0x666, 0x6F5, 0x6F6, 0x7C5, 0x7C6, 0x96B, 0x96C, 0x9EB, 0x9EC, 0xA6B, 0xA6C, 0xAEB, 0xAEC, 0xB6B, 0xB6C, 0xBEB, 0xBEC, 0xC6B, 0xC6C, 0xCEB, 0xCEC, 0xD6B, 0xD6C, 0xDEB, 0xDEC, 0xE55, 0xE56, 0xED5, 0xED6, 0xF25, 0xF26, 0x1045, 0x1046, 0x1095, 0x1096, 0x136D, 0x136E, 0x17E5, 0x17E6, 0x17F5, 0x17F6, 0x1815, 0x1816, 0x194B, 0x194C, 0x19D5, 0x19D6, 0x1A85, 0x1A86, 0x1A95, 0x1A96, 0x1B55, 0x1B56, 0x1BB5, 0x1BB6, 0x1C45, 0x1C46, 0x1C55, 0x1C56, 0x2075, 0x2076, 0x2085, 0x2086, 0x2164, 0x2165, 0x2174, 0x2175, 0x2464, 0x2465, 0x2478, 0x2479, 0x248C, 0x248D, 0x24F9, 0x24FA, 0x277A, 0x277B, 0x2784, 0x2785, 0x278E, 0x278F, 0x3025, 0x3026, 0x3224, 0x3225, 0x3284, 0x3285, 0x3405, 0x3406, 0x382A, 0x382B, 0x4E94, 0x4E95, 0x4F0D, 0x4F0E, 0xA625, 0xA626, 0xA6EA, 0xA6EB, 0xA8D5, 0xA8D6, 0xA905, 0xA906, 0xA9D5, 0xA9D6, 0xA9F5, 0xA9F6, 0xAA55, 0xAA56, 0xABF5, 0xABF6, 0xFF15, 0xFF16, 0x1010B, 0x1010C, 0x10143, 0x10144, 0x10148, 0x10149, 0x1014F, 0x10150, 0x1015F, 0x10160, 0x10173, 0x10174, 0x102E5, 0x102E6, 0x10321, 0x10322, 0x104A5, 0x104A6, 0x1087D, 0x1087E, 0x108AC, 0x108AD, 0x108FC, 0x108FD, 0x109C4, 0x109C5, 0x10AEC, 0x10AED, 0x10CFB, 0x10CFC, 0x10D35, 0x10D36, 0x10E64, 0x10E65, 0x10F21, 0x10F22, 0x11056, 0x11057, 0x1106B, 0x1106C, 0x110F5, 0x110F6, 0x1113B, 0x1113C, 0x111D5, 0x111D6, 0x111E5, 0x111E6, 0x112F5, 0x112F6, 0x11455, 0x11456, 0x114D5, 0x114D6, 0x11655, 0x11656, 0x116C5, 0x116C6, 0x11735, 0x11736, 0x118E5, 0x118E6, 0x11955, 0x11956, 0x11C55, 0x11C56, 0x11C5E, 0x11C5F, 0x11D55, 0x11D56, 0x11DA5, 0x11DA6, 0x12403, 0x12404, 0x1240A, 0x1240B, 0x12410, 0x12411, 0x12419, 0x1241A, 0x12422, 0x12423, 0x12427, 0x12428, 0x12431, 0x12432, 0x12439, 0x1243A, 0x1244D, 0x1244E, 0x12454, 0x12456, 0x1246A, 0x1246B, 0x16A65, 0x16A66, 0x16B55, 0x16B56, 0x16E85, 0x16E86, 0x1D2E5, 0x1D2E6, 0x1D364, 0x1D365, 0x1D376, 0x1D377, 0x1D378, 0x1D379, 0x1D7D3, 0x1D7D4, 0x1D7DD, 0x1D7DE, 0x1D7E7, 0x1D7E8, 0x1D7F1, 0x1D7F2, 0x1D7FB, 0x1D7FC, 0x1E145, 0x1E146, 0x1E2F5, 0x1E2F6, 0x1E8CB, 0x1E8CC, 0x1E955, 0x1E956, 0x1EC75, 0x1EC76, 0x1ECA7, 0x1ECA8, 0x1ED05, 0x1ED06, 0x1ED32, 0x1ED33, 0x1F106, 0x1F107, 0x1FBF5, 0x1FBF6, 0x20121, 0x20122 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 1047 */ 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF5, 0xF6, 0x665, 0x666, 0x6F5, 0x6F6, 0x7C5, 0x7C6, 0x96B, 0x96C, 0x9EB, 0x9EC, 0xA6B, 0xA6C, 0xAEB, 0xAEC, 0xB6B, 0xB6C, 0xBEB, 0xBEC, 0xC6B, 0xC6C, 0xCEB, 0xCEC, 0xD6B, 0xD6C, 0xDEB, 0xDEC, 0xE55, 0xE56, 0xED5, 0xED6, 0xF25, 0xF26, 0x1045, 0x1046, 0x1095, 0x1096, 0x136D, 0x136E, 0x17E5, 0x17E6, 0x17F5, 0x17F6, 0x1815, 0x1816, 0x194B, 0x194C, 0x19D5, 0x19D6, 0x1A85, 0x1A86, 0x1A95, 0x1A96, 0x1B55, 0x1B56, 0x1BB5, 0x1BB6, 0x1C45, 0x1C46, 0x1C55, 0x1C56, 0x2075, 0x2076, 0x2085, 0x2086, 0x2164, 0x2165, 0x2174, 0x2175, 0x2464, 0x2465, 0x2478, 0x2479, 0x248C, 0x248D, 0x24F9, 0x24FA, 0x277A, 0x277B, 0x2784, 0x2785, 0x278E, 0x278F, 0x3025, 0x3026, 0x3224, 0x3225, 0x3284, 0x3285, 0x3405, 0x3406, 0x382A, 0x382B, 0x4E94, 0x4E95, 0x4F0D, 0x4F0E, 0xA625, 0xA626, 0xA6EA, 0xA6EB, 0xA8D5, 0xA8D6, 0xA905, 0xA906, 0xA9D5, 0xA9D6, 0xA9F5, 0xA9F6, 0xAA55, 0xAA56, 0xABF5, 0xABF6, 0xFF15, 0xFF16, 0x1010B, 0x1010C, 0x10143, 0x10144, 0x10148, 0x10149, 0x1014F, 0x10150, 0x1015F, 0x10160, 0x10173, 0x10174, 0x102E5, 0x102E6, 0x10321, 0x10322, 0x104A5, 0x104A6, 0x1087D, 0x1087E, 0x108AC, 0x108AD, 0x108FC, 0x108FD, 0x109C4, 0x109C5, 0x10AEC, 0x10AED, 0x10CFB, 0x10CFC, 0x10D35, 0x10D36, 0x10E64, 0x10E65, 0x10F21, 0x10F22, 0x11056, 0x11057, 0x1106B, 0x1106C, 0x110F5, 0x110F6, 0x1113B, 0x1113C, 0x111D5, 0x111D6, 0x111E5, 0x111E6, 0x112F5, 0x112F6, 0x11455, 0x11456, 0x114D5, 0x114D6, 0x11655, 0x11656, 0x116C5, 0x116C6, 0x11735, 0x11736, 0x118E5, 0x118E6, 0x11955, 0x11956, 0x11C55, 0x11C56, 0x11C5E, 0x11C5F, 0x11D55, 0x11D56, 0x11DA5, 0x11DA6, 0x12403, 0x12404, 0x1240A, 0x1240B, 0x12410, 0x12411, 0x12419, 0x1241A, 0x12422, 0x12423, 0x12427, 0x12428, 0x12431, 0x12432, 0x12439, 0x1243A, 0x1244D, 0x1244E, 0x12454, 0x12456, 0x1246A, 0x1246B, 0x16A65, 0x16A66, 0x16B55, 0x16B56, 0x16E85, 0x16E86, 0x1D2E5, 0x1D2E6, 0x1D364, 0x1D365, 0x1D376, 0x1D377, 0x1D378, 0x1D379, 0x1D7D3, 0x1D7D4, 0x1D7DD, 0x1D7DE, 0x1D7E7, 0x1D7E8, 0x1D7F1, 0x1D7F2, 0x1D7FB, 0x1D7FC, 0x1E145, 0x1E146, 0x1E2F5, 0x1E2F6, 0x1E8CB, 0x1E8CC, 0x1E955, 0x1E956, 0x1EC75, 0x1EC76, 0x1ECA7, 0x1ECA8, 0x1ED05, 0x1ED06, 0x1ED32, 0x1ED33, 0x1F106, 0x1F107, 0x1FBF5, 0x1FBF6, 0x20121, 0x20122 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__5_invlist[] = { /* for EBCDIC 037 */ 257, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF5, 0xF6, 0x665, 0x666, 0x6F5, 0x6F6, 0x7C5, 0x7C6, 0x96B, 0x96C, 0x9EB, 0x9EC, 0xA6B, 0xA6C, 0xAEB, 0xAEC, 0xB6B, 0xB6C, 0xBEB, 0xBEC, 0xC6B, 0xC6C, 0xCEB, 0xCEC, 0xD6B, 0xD6C, 0xDEB, 0xDEC, 0xE55, 0xE56, 0xED5, 0xED6, 0xF25, 0xF26, 0x1045, 0x1046, 0x1095, 0x1096, 0x136D, 0x136E, 0x17E5, 0x17E6, 0x17F5, 0x17F6, 0x1815, 0x1816, 0x194B, 0x194C, 0x19D5, 0x19D6, 0x1A85, 0x1A86, 0x1A95, 0x1A96, 0x1B55, 0x1B56, 0x1BB5, 0x1BB6, 0x1C45, 0x1C46, 0x1C55, 0x1C56, 0x2075, 0x2076, 0x2085, 0x2086, 0x2164, 0x2165, 0x2174, 0x2175, 0x2464, 0x2465, 0x2478, 0x2479, 0x248C, 0x248D, 0x24F9, 0x24FA, 0x277A, 0x277B, 0x2784, 0x2785, 0x278E, 0x278F, 0x3025, 0x3026, 0x3224, 0x3225, 0x3284, 0x3285, 0x3405, 0x3406, 0x382A, 0x382B, 0x4E94, 0x4E95, 0x4F0D, 0x4F0E, 0xA625, 0xA626, 0xA6EA, 0xA6EB, 0xA8D5, 0xA8D6, 0xA905, 0xA906, 0xA9D5, 0xA9D6, 0xA9F5, 0xA9F6, 0xAA55, 0xAA56, 0xABF5, 0xABF6, 0xFF15, 0xFF16, 0x1010B, 0x1010C, 0x10143, 0x10144, 0x10148, 0x10149, 0x1014F, 0x10150, 0x1015F, 0x10160, 0x10173, 0x10174, 0x102E5, 0x102E6, 0x10321, 0x10322, 0x104A5, 0x104A6, 0x1087D, 0x1087E, 0x108AC, 0x108AD, 0x108FC, 0x108FD, 0x109C4, 0x109C5, 0x10AEC, 0x10AED, 0x10CFB, 0x10CFC, 0x10D35, 0x10D36, 0x10E64, 0x10E65, 0x10F21, 0x10F22, 0x11056, 0x11057, 0x1106B, 0x1106C, 0x110F5, 0x110F6, 0x1113B, 0x1113C, 0x111D5, 0x111D6, 0x111E5, 0x111E6, 0x112F5, 0x112F6, 0x11455, 0x11456, 0x114D5, 0x114D6, 0x11655, 0x11656, 0x116C5, 0x116C6, 0x11735, 0x11736, 0x118E5, 0x118E6, 0x11955, 0x11956, 0x11C55, 0x11C56, 0x11C5E, 0x11C5F, 0x11D55, 0x11D56, 0x11DA5, 0x11DA6, 0x12403, 0x12404, 0x1240A, 0x1240B, 0x12410, 0x12411, 0x12419, 0x1241A, 0x12422, 0x12423, 0x12427, 0x12428, 0x12431, 0x12432, 0x12439, 0x1243A, 0x1244D, 0x1244E, 0x12454, 0x12456, 0x1246A, 0x1246B, 0x16A65, 0x16A66, 0x16B55, 0x16B56, 0x16E85, 0x16E86, 0x1D2E5, 0x1D2E6, 0x1D364, 0x1D365, 0x1D376, 0x1D377, 0x1D378, 0x1D379, 0x1D7D3, 0x1D7D4, 0x1D7DD, 0x1D7DE, 0x1D7E7, 0x1D7E8, 0x1D7F1, 0x1D7F2, 0x1D7FB, 0x1D7FC, 0x1E145, 0x1E146, 0x1E2F5, 0x1E2F6, 0x1E8CB, 0x1E8CC, 0x1E955, 0x1E956, 0x1EC75, 0x1EC76, 0x1ECA7, 0x1ECA8, 0x1ED05, 0x1ED06, 0x1ED32, 0x1ED33, 0x1F106, 0x1F107, 0x1FBF5, 0x1FBF6, 0x20121, 0x20122 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__5_SLASH_12_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109FA, 0x109FB }; static const UV UNI_NV__5_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF2C, 0xF2D }; static const UV UNI_NV__5_SLASH_6_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x215A, 0x215B, 0x109FF, 0x10A00, 0x1245C, 0x1245D }; static const UV UNI_NV__5_SLASH_8_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x215D, 0x215E }; static const UV UNI_NV__50_invlist[] = { /* for all charsets */ 53, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1376, 0x1377, 0x216C, 0x216D, 0x217C, 0x217D, 0x2186, 0x2187, 0x324C, 0x324D, 0x32BF, 0x32C0, 0x10114, 0x10115, 0x10144, 0x10145, 0x1014A, 0x1014B, 0x10151, 0x10152, 0x10166, 0x1016A, 0x10174, 0x10175, 0x102EE, 0x102EF, 0x10323, 0x10324, 0x109CD, 0x109CE, 0x10A7E, 0x10A7F, 0x10CFD, 0x10CFE, 0x10E6D, 0x10E6E, 0x1105F, 0x11060, 0x111EE, 0x111EF, 0x118EE, 0x118EF, 0x11C67, 0x11C68, 0x12468, 0x12469, 0x1D36D, 0x1D36E, 0x1EC7E, 0x1EC7F, 0x1ED0E, 0x1ED0F }; static const UV UNI_NV__500_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x216E, 0x216F, 0x217E, 0x217F, 0x1011D, 0x1011E, 0x10145, 0x10146, 0x1014C, 0x1014D, 0x10153, 0x10154, 0x1016C, 0x10171, 0x102F7, 0x102F8, 0x109D6, 0x109D7, 0x10E76, 0x10E77, 0x1EC87, 0x1EC88, 0x1ED17, 0x1ED18 }; static const UV UNI_NV__5000_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2181, 0x2182, 0x10126, 0x10127, 0x10146, 0x10147, 0x1014E, 0x1014F, 0x10172, 0x10173, 0x109DF, 0x109E0, 0x1EC90, 0x1EC91, 0x1ED20, 0x1ED21 }; static const UV UNI_NV__50000_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2187, 0x2188, 0x1012F, 0x10130, 0x10147, 0x10148, 0x10156, 0x10157, 0x109E8, 0x109E9, 0x1EC99, 0x1EC9A, 0x1ED29, 0x1ED2A }; static const UV UNI_NV__500000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F1, 0x109F2 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__6_invlist[] = { /* for ASCII/Latin1 */ 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x36, 0x37, 0x666, 0x667, 0x6F6, 0x6F7, 0x7C6, 0x7C7, 0x96C, 0x96D, 0x9EC, 0x9ED, 0xA6C, 0xA6D, 0xAEC, 0xAED, 0xB6C, 0xB6D, 0xBEC, 0xBED, 0xC6C, 0xC6D, 0xCEC, 0xCED, 0xD6C, 0xD6D, 0xDEC, 0xDED, 0xE56, 0xE57, 0xED6, 0xED7, 0xF26, 0xF27, 0x1046, 0x1047, 0x1096, 0x1097, 0x136E, 0x136F, 0x17E6, 0x17E7, 0x17F6, 0x17F7, 0x1816, 0x1817, 0x194C, 0x194D, 0x19D6, 0x19D7, 0x1A86, 0x1A87, 0x1A96, 0x1A97, 0x1B56, 0x1B57, 0x1BB6, 0x1BB7, 0x1C46, 0x1C47, 0x1C56, 0x1C57, 0x2076, 0x2077, 0x2086, 0x2087, 0x2165, 0x2166, 0x2175, 0x2176, 0x2185, 0x2186, 0x2465, 0x2466, 0x2479, 0x247A, 0x248D, 0x248E, 0x24FA, 0x24FB, 0x277B, 0x277C, 0x2785, 0x2786, 0x278F, 0x2790, 0x3026, 0x3027, 0x3225, 0x3226, 0x3285, 0x3286, 0x516D, 0x516E, 0x9646, 0x9647, 0x9678, 0x9679, 0xA626, 0xA627, 0xA6EB, 0xA6EC, 0xA8D6, 0xA8D7, 0xA906, 0xA907, 0xA9D6, 0xA9D7, 0xA9F6, 0xA9F7, 0xAA56, 0xAA57, 0xABF6, 0xABF7, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xFF16, 0xFF17, 0x1010C, 0x1010D, 0x102E6, 0x102E7, 0x104A6, 0x104A7, 0x109C5, 0x109C6, 0x10D36, 0x10D37, 0x10E65, 0x10E66, 0x11057, 0x11058, 0x1106C, 0x1106D, 0x110F6, 0x110F7, 0x1113C, 0x1113D, 0x111D6, 0x111D7, 0x111E6, 0x111E7, 0x112F6, 0x112F7, 0x11456, 0x11457, 0x114D6, 0x114D7, 0x11656, 0x11657, 0x116C6, 0x116C7, 0x11736, 0x11737, 0x118E6, 0x118E7, 0x11956, 0x11957, 0x11C56, 0x11C57, 0x11C5F, 0x11C60, 0x11D56, 0x11D57, 0x11DA6, 0x11DA7, 0x12404, 0x12405, 0x1240B, 0x1240C, 0x12411, 0x12412, 0x1241A, 0x1241B, 0x12428, 0x12429, 0x12440, 0x12441, 0x1244E, 0x1244F, 0x1246B, 0x1246C, 0x16A66, 0x16A67, 0x16B56, 0x16B57, 0x16E86, 0x16E87, 0x1D2E6, 0x1D2E7, 0x1D365, 0x1D366, 0x1D7D4, 0x1D7D5, 0x1D7DE, 0x1D7DF, 0x1D7E8, 0x1D7E9, 0x1D7F2, 0x1D7F3, 0x1D7FC, 0x1D7FD, 0x1E146, 0x1E147, 0x1E2F6, 0x1E2F7, 0x1E8CC, 0x1E8CD, 0x1E956, 0x1E957, 0x1EC76, 0x1EC77, 0x1ECA8, 0x1ECA9, 0x1ED06, 0x1ED07, 0x1ED33, 0x1ED34, 0x1F107, 0x1F108, 0x1FBF6, 0x1FBF7, 0x20AEA, 0x20AEB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 1047 */ 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF6, 0xF7, 0x666, 0x667, 0x6F6, 0x6F7, 0x7C6, 0x7C7, 0x96C, 0x96D, 0x9EC, 0x9ED, 0xA6C, 0xA6D, 0xAEC, 0xAED, 0xB6C, 0xB6D, 0xBEC, 0xBED, 0xC6C, 0xC6D, 0xCEC, 0xCED, 0xD6C, 0xD6D, 0xDEC, 0xDED, 0xE56, 0xE57, 0xED6, 0xED7, 0xF26, 0xF27, 0x1046, 0x1047, 0x1096, 0x1097, 0x136E, 0x136F, 0x17E6, 0x17E7, 0x17F6, 0x17F7, 0x1816, 0x1817, 0x194C, 0x194D, 0x19D6, 0x19D7, 0x1A86, 0x1A87, 0x1A96, 0x1A97, 0x1B56, 0x1B57, 0x1BB6, 0x1BB7, 0x1C46, 0x1C47, 0x1C56, 0x1C57, 0x2076, 0x2077, 0x2086, 0x2087, 0x2165, 0x2166, 0x2175, 0x2176, 0x2185, 0x2186, 0x2465, 0x2466, 0x2479, 0x247A, 0x248D, 0x248E, 0x24FA, 0x24FB, 0x277B, 0x277C, 0x2785, 0x2786, 0x278F, 0x2790, 0x3026, 0x3027, 0x3225, 0x3226, 0x3285, 0x3286, 0x516D, 0x516E, 0x9646, 0x9647, 0x9678, 0x9679, 0xA626, 0xA627, 0xA6EB, 0xA6EC, 0xA8D6, 0xA8D7, 0xA906, 0xA907, 0xA9D6, 0xA9D7, 0xA9F6, 0xA9F7, 0xAA56, 0xAA57, 0xABF6, 0xABF7, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xFF16, 0xFF17, 0x1010C, 0x1010D, 0x102E6, 0x102E7, 0x104A6, 0x104A7, 0x109C5, 0x109C6, 0x10D36, 0x10D37, 0x10E65, 0x10E66, 0x11057, 0x11058, 0x1106C, 0x1106D, 0x110F6, 0x110F7, 0x1113C, 0x1113D, 0x111D6, 0x111D7, 0x111E6, 0x111E7, 0x112F6, 0x112F7, 0x11456, 0x11457, 0x114D6, 0x114D7, 0x11656, 0x11657, 0x116C6, 0x116C7, 0x11736, 0x11737, 0x118E6, 0x118E7, 0x11956, 0x11957, 0x11C56, 0x11C57, 0x11C5F, 0x11C60, 0x11D56, 0x11D57, 0x11DA6, 0x11DA7, 0x12404, 0x12405, 0x1240B, 0x1240C, 0x12411, 0x12412, 0x1241A, 0x1241B, 0x12428, 0x12429, 0x12440, 0x12441, 0x1244E, 0x1244F, 0x1246B, 0x1246C, 0x16A66, 0x16A67, 0x16B56, 0x16B57, 0x16E86, 0x16E87, 0x1D2E6, 0x1D2E7, 0x1D365, 0x1D366, 0x1D7D4, 0x1D7D5, 0x1D7DE, 0x1D7DF, 0x1D7E8, 0x1D7E9, 0x1D7F2, 0x1D7F3, 0x1D7FC, 0x1D7FD, 0x1E146, 0x1E147, 0x1E2F6, 0x1E2F7, 0x1E8CC, 0x1E8CD, 0x1E956, 0x1E957, 0x1EC76, 0x1EC77, 0x1ECA8, 0x1ECA9, 0x1ED06, 0x1ED07, 0x1ED33, 0x1ED34, 0x1F107, 0x1F108, 0x1FBF6, 0x1FBF7, 0x20AEA, 0x20AEB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__6_invlist[] = { /* for EBCDIC 037 */ 227, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF6, 0xF7, 0x666, 0x667, 0x6F6, 0x6F7, 0x7C6, 0x7C7, 0x96C, 0x96D, 0x9EC, 0x9ED, 0xA6C, 0xA6D, 0xAEC, 0xAED, 0xB6C, 0xB6D, 0xBEC, 0xBED, 0xC6C, 0xC6D, 0xCEC, 0xCED, 0xD6C, 0xD6D, 0xDEC, 0xDED, 0xE56, 0xE57, 0xED6, 0xED7, 0xF26, 0xF27, 0x1046, 0x1047, 0x1096, 0x1097, 0x136E, 0x136F, 0x17E6, 0x17E7, 0x17F6, 0x17F7, 0x1816, 0x1817, 0x194C, 0x194D, 0x19D6, 0x19D7, 0x1A86, 0x1A87, 0x1A96, 0x1A97, 0x1B56, 0x1B57, 0x1BB6, 0x1BB7, 0x1C46, 0x1C47, 0x1C56, 0x1C57, 0x2076, 0x2077, 0x2086, 0x2087, 0x2165, 0x2166, 0x2175, 0x2176, 0x2185, 0x2186, 0x2465, 0x2466, 0x2479, 0x247A, 0x248D, 0x248E, 0x24FA, 0x24FB, 0x277B, 0x277C, 0x2785, 0x2786, 0x278F, 0x2790, 0x3026, 0x3027, 0x3225, 0x3226, 0x3285, 0x3286, 0x516D, 0x516E, 0x9646, 0x9647, 0x9678, 0x9679, 0xA626, 0xA627, 0xA6EB, 0xA6EC, 0xA8D6, 0xA8D7, 0xA906, 0xA907, 0xA9D6, 0xA9D7, 0xA9F6, 0xA9F7, 0xAA56, 0xAA57, 0xABF6, 0xABF7, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xFF16, 0xFF17, 0x1010C, 0x1010D, 0x102E6, 0x102E7, 0x104A6, 0x104A7, 0x109C5, 0x109C6, 0x10D36, 0x10D37, 0x10E65, 0x10E66, 0x11057, 0x11058, 0x1106C, 0x1106D, 0x110F6, 0x110F7, 0x1113C, 0x1113D, 0x111D6, 0x111D7, 0x111E6, 0x111E7, 0x112F6, 0x112F7, 0x11456, 0x11457, 0x114D6, 0x114D7, 0x11656, 0x11657, 0x116C6, 0x116C7, 0x11736, 0x11737, 0x118E6, 0x118E7, 0x11956, 0x11957, 0x11C56, 0x11C57, 0x11C5F, 0x11C60, 0x11D56, 0x11D57, 0x11DA6, 0x11DA7, 0x12404, 0x12405, 0x1240B, 0x1240C, 0x12411, 0x12412, 0x1241A, 0x1241B, 0x12428, 0x12429, 0x12440, 0x12441, 0x1244E, 0x1244F, 0x1246B, 0x1246C, 0x16A66, 0x16A67, 0x16B56, 0x16B57, 0x16E86, 0x16E87, 0x1D2E6, 0x1D2E7, 0x1D365, 0x1D366, 0x1D7D4, 0x1D7D5, 0x1D7DE, 0x1D7DF, 0x1D7E8, 0x1D7E9, 0x1D7F2, 0x1D7F3, 0x1D7FC, 0x1D7FD, 0x1E146, 0x1E147, 0x1E2F6, 0x1E2F7, 0x1E8CC, 0x1E8CD, 0x1E956, 0x1E957, 0x1EC76, 0x1EC77, 0x1ECA8, 0x1ECA9, 0x1ED06, 0x1ED07, 0x1ED33, 0x1ED34, 0x1F107, 0x1F108, 0x1FBF6, 0x1FBF7, 0x20AEA, 0x20AEB }; # endif /* EBCDIC 037 */ static const UV UNI_NV__60_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1377, 0x1378, 0x324D, 0x324E, 0x10115, 0x10116, 0x102EF, 0x102F0, 0x109CE, 0x109CF, 0x10E6E, 0x10E6F, 0x11060, 0x11061, 0x111EF, 0x111F0, 0x118EF, 0x118F0, 0x11C68, 0x11C69, 0x1D36E, 0x1D36F, 0x1EC7F, 0x1EC80, 0x1ED0F, 0x1ED10 }; static const UV UNI_NV__600_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1011E, 0x1011F, 0x102F8, 0x102F9, 0x109D7, 0x109D8, 0x10E77, 0x10E78, 0x1EC88, 0x1EC89, 0x1ED18, 0x1ED19, 0x1ED39, 0x1ED3A }; static const UV UNI_NV__6000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10127, 0x10128, 0x109E0, 0x109E1, 0x1EC91, 0x1EC92, 0x1ED21, 0x1ED22 }; static const UV UNI_NV__60000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10130, 0x10131, 0x109E9, 0x109EA, 0x1EC9A, 0x1EC9B, 0x1ED2A, 0x1ED2B }; static const UV UNI_NV__600000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F2, 0x109F3 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__7_invlist[] = { /* for ASCII/Latin1 */ 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x37, 0x38, 0x667, 0x668, 0x6F7, 0x6F8, 0x7C7, 0x7C8, 0x96D, 0x96E, 0x9ED, 0x9EE, 0xA6D, 0xA6E, 0xAED, 0xAEE, 0xB6D, 0xB6E, 0xBED, 0xBEE, 0xC6D, 0xC6E, 0xCED, 0xCEE, 0xD6D, 0xD6E, 0xDED, 0xDEE, 0xE57, 0xE58, 0xED7, 0xED8, 0xF27, 0xF28, 0x1047, 0x1048, 0x1097, 0x1098, 0x136F, 0x1370, 0x17E7, 0x17E8, 0x17F7, 0x17F8, 0x1817, 0x1818, 0x194D, 0x194E, 0x19D7, 0x19D8, 0x1A87, 0x1A88, 0x1A97, 0x1A98, 0x1B57, 0x1B58, 0x1BB7, 0x1BB8, 0x1C47, 0x1C48, 0x1C57, 0x1C58, 0x2077, 0x2078, 0x2087, 0x2088, 0x2166, 0x2167, 0x2176, 0x2177, 0x2466, 0x2467, 0x247A, 0x247B, 0x248E, 0x248F, 0x24FB, 0x24FC, 0x277C, 0x277D, 0x2786, 0x2787, 0x2790, 0x2791, 0x3027, 0x3028, 0x3226, 0x3227, 0x3286, 0x3287, 0x3B4D, 0x3B4E, 0x4E03, 0x4E04, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0xA627, 0xA628, 0xA6EC, 0xA6ED, 0xA8D7, 0xA8D8, 0xA907, 0xA908, 0xA9D7, 0xA9D8, 0xA9F7, 0xA9F8, 0xAA57, 0xAA58, 0xABF7, 0xABF8, 0xFF17, 0xFF18, 0x1010D, 0x1010E, 0x102E7, 0x102E8, 0x104A7, 0x104A8, 0x109C6, 0x109C7, 0x10D37, 0x10D38, 0x10E66, 0x10E67, 0x11058, 0x11059, 0x1106D, 0x1106E, 0x110F7, 0x110F8, 0x1113D, 0x1113E, 0x111D7, 0x111D8, 0x111E7, 0x111E8, 0x112F7, 0x112F8, 0x11457, 0x11458, 0x114D7, 0x114D8, 0x11657, 0x11658, 0x116C7, 0x116C8, 0x11737, 0x11738, 0x118E7, 0x118E8, 0x11957, 0x11958, 0x11C57, 0x11C58, 0x11C60, 0x11C61, 0x11D57, 0x11D58, 0x11DA7, 0x11DA8, 0x12405, 0x12406, 0x1240C, 0x1240D, 0x12412, 0x12413, 0x1241B, 0x1241C, 0x12429, 0x1242A, 0x12441, 0x12444, 0x1246C, 0x1246D, 0x16A67, 0x16A68, 0x16B57, 0x16B58, 0x16E87, 0x16E88, 0x1D2E7, 0x1D2E8, 0x1D366, 0x1D367, 0x1D7D5, 0x1D7D6, 0x1D7DF, 0x1D7E0, 0x1D7E9, 0x1D7EA, 0x1D7F3, 0x1D7F4, 0x1D7FD, 0x1D7FE, 0x1E147, 0x1E148, 0x1E2F7, 0x1E2F8, 0x1E8CD, 0x1E8CE, 0x1E957, 0x1E958, 0x1EC77, 0x1EC78, 0x1ECA9, 0x1ECAA, 0x1ED07, 0x1ED08, 0x1ED34, 0x1ED35, 0x1F108, 0x1F109, 0x1FBF7, 0x1FBF8, 0x20001, 0x20002 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 1047 */ 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF7, 0xF8, 0x667, 0x668, 0x6F7, 0x6F8, 0x7C7, 0x7C8, 0x96D, 0x96E, 0x9ED, 0x9EE, 0xA6D, 0xA6E, 0xAED, 0xAEE, 0xB6D, 0xB6E, 0xBED, 0xBEE, 0xC6D, 0xC6E, 0xCED, 0xCEE, 0xD6D, 0xD6E, 0xDED, 0xDEE, 0xE57, 0xE58, 0xED7, 0xED8, 0xF27, 0xF28, 0x1047, 0x1048, 0x1097, 0x1098, 0x136F, 0x1370, 0x17E7, 0x17E8, 0x17F7, 0x17F8, 0x1817, 0x1818, 0x194D, 0x194E, 0x19D7, 0x19D8, 0x1A87, 0x1A88, 0x1A97, 0x1A98, 0x1B57, 0x1B58, 0x1BB7, 0x1BB8, 0x1C47, 0x1C48, 0x1C57, 0x1C58, 0x2077, 0x2078, 0x2087, 0x2088, 0x2166, 0x2167, 0x2176, 0x2177, 0x2466, 0x2467, 0x247A, 0x247B, 0x248E, 0x248F, 0x24FB, 0x24FC, 0x277C, 0x277D, 0x2786, 0x2787, 0x2790, 0x2791, 0x3027, 0x3028, 0x3226, 0x3227, 0x3286, 0x3287, 0x3B4D, 0x3B4E, 0x4E03, 0x4E04, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0xA627, 0xA628, 0xA6EC, 0xA6ED, 0xA8D7, 0xA8D8, 0xA907, 0xA908, 0xA9D7, 0xA9D8, 0xA9F7, 0xA9F8, 0xAA57, 0xAA58, 0xABF7, 0xABF8, 0xFF17, 0xFF18, 0x1010D, 0x1010E, 0x102E7, 0x102E8, 0x104A7, 0x104A8, 0x109C6, 0x109C7, 0x10D37, 0x10D38, 0x10E66, 0x10E67, 0x11058, 0x11059, 0x1106D, 0x1106E, 0x110F7, 0x110F8, 0x1113D, 0x1113E, 0x111D7, 0x111D8, 0x111E7, 0x111E8, 0x112F7, 0x112F8, 0x11457, 0x11458, 0x114D7, 0x114D8, 0x11657, 0x11658, 0x116C7, 0x116C8, 0x11737, 0x11738, 0x118E7, 0x118E8, 0x11957, 0x11958, 0x11C57, 0x11C58, 0x11C60, 0x11C61, 0x11D57, 0x11D58, 0x11DA7, 0x11DA8, 0x12405, 0x12406, 0x1240C, 0x1240D, 0x12412, 0x12413, 0x1241B, 0x1241C, 0x12429, 0x1242A, 0x12441, 0x12444, 0x1246C, 0x1246D, 0x16A67, 0x16A68, 0x16B57, 0x16B58, 0x16E87, 0x16E88, 0x1D2E7, 0x1D2E8, 0x1D366, 0x1D367, 0x1D7D5, 0x1D7D6, 0x1D7DF, 0x1D7E0, 0x1D7E9, 0x1D7EA, 0x1D7F3, 0x1D7F4, 0x1D7FD, 0x1D7FE, 0x1E147, 0x1E148, 0x1E2F7, 0x1E2F8, 0x1E8CD, 0x1E8CE, 0x1E957, 0x1E958, 0x1EC77, 0x1EC78, 0x1ECA9, 0x1ECAA, 0x1ED07, 0x1ED08, 0x1ED34, 0x1ED35, 0x1F108, 0x1F109, 0x1FBF7, 0x1FBF8, 0x20001, 0x20002 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__7_invlist[] = { /* for EBCDIC 037 */ 221, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF7, 0xF8, 0x667, 0x668, 0x6F7, 0x6F8, 0x7C7, 0x7C8, 0x96D, 0x96E, 0x9ED, 0x9EE, 0xA6D, 0xA6E, 0xAED, 0xAEE, 0xB6D, 0xB6E, 0xBED, 0xBEE, 0xC6D, 0xC6E, 0xCED, 0xCEE, 0xD6D, 0xD6E, 0xDED, 0xDEE, 0xE57, 0xE58, 0xED7, 0xED8, 0xF27, 0xF28, 0x1047, 0x1048, 0x1097, 0x1098, 0x136F, 0x1370, 0x17E7, 0x17E8, 0x17F7, 0x17F8, 0x1817, 0x1818, 0x194D, 0x194E, 0x19D7, 0x19D8, 0x1A87, 0x1A88, 0x1A97, 0x1A98, 0x1B57, 0x1B58, 0x1BB7, 0x1BB8, 0x1C47, 0x1C48, 0x1C57, 0x1C58, 0x2077, 0x2078, 0x2087, 0x2088, 0x2166, 0x2167, 0x2176, 0x2177, 0x2466, 0x2467, 0x247A, 0x247B, 0x248E, 0x248F, 0x24FB, 0x24FC, 0x277C, 0x277D, 0x2786, 0x2787, 0x2790, 0x2791, 0x3027, 0x3028, 0x3226, 0x3227, 0x3286, 0x3287, 0x3B4D, 0x3B4E, 0x4E03, 0x4E04, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0xA627, 0xA628, 0xA6EC, 0xA6ED, 0xA8D7, 0xA8D8, 0xA907, 0xA908, 0xA9D7, 0xA9D8, 0xA9F7, 0xA9F8, 0xAA57, 0xAA58, 0xABF7, 0xABF8, 0xFF17, 0xFF18, 0x1010D, 0x1010E, 0x102E7, 0x102E8, 0x104A7, 0x104A8, 0x109C6, 0x109C7, 0x10D37, 0x10D38, 0x10E66, 0x10E67, 0x11058, 0x11059, 0x1106D, 0x1106E, 0x110F7, 0x110F8, 0x1113D, 0x1113E, 0x111D7, 0x111D8, 0x111E7, 0x111E8, 0x112F7, 0x112F8, 0x11457, 0x11458, 0x114D7, 0x114D8, 0x11657, 0x11658, 0x116C7, 0x116C8, 0x11737, 0x11738, 0x118E7, 0x118E8, 0x11957, 0x11958, 0x11C57, 0x11C58, 0x11C60, 0x11C61, 0x11D57, 0x11D58, 0x11DA7, 0x11DA8, 0x12405, 0x12406, 0x1240C, 0x1240D, 0x12412, 0x12413, 0x1241B, 0x1241C, 0x12429, 0x1242A, 0x12441, 0x12444, 0x1246C, 0x1246D, 0x16A67, 0x16A68, 0x16B57, 0x16B58, 0x16E87, 0x16E88, 0x1D2E7, 0x1D2E8, 0x1D366, 0x1D367, 0x1D7D5, 0x1D7D6, 0x1D7DF, 0x1D7E0, 0x1D7E9, 0x1D7EA, 0x1D7F3, 0x1D7F4, 0x1D7FD, 0x1D7FE, 0x1E147, 0x1E148, 0x1E2F7, 0x1E2F8, 0x1E8CD, 0x1E8CE, 0x1E957, 0x1E958, 0x1EC77, 0x1EC78, 0x1ECA9, 0x1ECAA, 0x1ED07, 0x1ED08, 0x1ED34, 0x1ED35, 0x1F108, 0x1F109, 0x1FBF7, 0x1FBF8, 0x20001, 0x20002 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__7_SLASH_12_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109FC, 0x109FD }; static const UV UNI_NV__7_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF2D, 0xF2E }; static const UV UNI_NV__7_SLASH_8_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x215E, 0x215F }; static const UV UNI_NV__70_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1378, 0x1379, 0x324E, 0x324F, 0x10116, 0x10117, 0x102F0, 0x102F1, 0x109CF, 0x109D0, 0x10E6F, 0x10E70, 0x11061, 0x11062, 0x111F0, 0x111F1, 0x118F0, 0x118F1, 0x11C69, 0x11C6A, 0x1D36F, 0x1D370, 0x1EC80, 0x1EC81, 0x1ED10, 0x1ED11 }; static const UV UNI_NV__700_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1011F, 0x10120, 0x102F9, 0x102FA, 0x109D8, 0x109D9, 0x10E78, 0x10E79, 0x1EC89, 0x1EC8A, 0x1ED19, 0x1ED1A }; static const UV UNI_NV__7000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10128, 0x10129, 0x109E1, 0x109E2, 0x1EC92, 0x1EC93, 0x1ED22, 0x1ED23 }; static const UV UNI_NV__70000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10131, 0x10132, 0x109EA, 0x109EB, 0x1EC9B, 0x1EC9C, 0x1ED2B, 0x1ED2C }; static const UV UNI_NV__700000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F3, 0x109F4 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__8_invlist[] = { /* for ASCII/Latin1 */ 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x38, 0x39, 0x668, 0x669, 0x6F8, 0x6F9, 0x7C8, 0x7C9, 0x96E, 0x96F, 0x9EE, 0x9EF, 0xA6E, 0xA6F, 0xAEE, 0xAEF, 0xB6E, 0xB6F, 0xBEE, 0xBEF, 0xC6E, 0xC6F, 0xCEE, 0xCEF, 0xD6E, 0xD6F, 0xDEE, 0xDEF, 0xE58, 0xE59, 0xED8, 0xED9, 0xF28, 0xF29, 0x1048, 0x1049, 0x1098, 0x1099, 0x1370, 0x1371, 0x17E8, 0x17E9, 0x17F8, 0x17F9, 0x1818, 0x1819, 0x194E, 0x194F, 0x19D8, 0x19D9, 0x1A88, 0x1A89, 0x1A98, 0x1A99, 0x1B58, 0x1B59, 0x1BB8, 0x1BB9, 0x1C48, 0x1C49, 0x1C58, 0x1C59, 0x2078, 0x2079, 0x2088, 0x2089, 0x2167, 0x2168, 0x2177, 0x2178, 0x2467, 0x2468, 0x247B, 0x247C, 0x248F, 0x2490, 0x24FC, 0x24FD, 0x277D, 0x277E, 0x2787, 0x2788, 0x2791, 0x2792, 0x3028, 0x3029, 0x3227, 0x3228, 0x3287, 0x3288, 0x516B, 0x516C, 0x634C, 0x634D, 0xA628, 0xA629, 0xA6ED, 0xA6EE, 0xA8D8, 0xA8D9, 0xA908, 0xA909, 0xA9D8, 0xA9D9, 0xA9F8, 0xA9F9, 0xAA58, 0xAA59, 0xABF8, 0xABF9, 0xFF18, 0xFF19, 0x1010E, 0x1010F, 0x102E8, 0x102E9, 0x104A8, 0x104A9, 0x109C7, 0x109C8, 0x10D38, 0x10D39, 0x10E67, 0x10E68, 0x11059, 0x1105A, 0x1106E, 0x1106F, 0x110F8, 0x110F9, 0x1113E, 0x1113F, 0x111D8, 0x111D9, 0x111E8, 0x111E9, 0x112F8, 0x112F9, 0x11458, 0x11459, 0x114D8, 0x114D9, 0x11658, 0x11659, 0x116C8, 0x116C9, 0x11738, 0x11739, 0x118E8, 0x118E9, 0x11958, 0x11959, 0x11C58, 0x11C59, 0x11C61, 0x11C62, 0x11D58, 0x11D59, 0x11DA8, 0x11DA9, 0x12406, 0x12407, 0x1240D, 0x1240E, 0x12413, 0x12414, 0x1241C, 0x1241D, 0x1242A, 0x1242B, 0x12444, 0x12446, 0x1246D, 0x1246E, 0x16A68, 0x16A69, 0x16B58, 0x16B59, 0x16E88, 0x16E89, 0x1D2E8, 0x1D2E9, 0x1D367, 0x1D368, 0x1D7D6, 0x1D7D7, 0x1D7E0, 0x1D7E1, 0x1D7EA, 0x1D7EB, 0x1D7F4, 0x1D7F5, 0x1D7FE, 0x1D7FF, 0x1E148, 0x1E149, 0x1E2F8, 0x1E2F9, 0x1E8CE, 0x1E8CF, 0x1E958, 0x1E959, 0x1EC78, 0x1EC79, 0x1ECAA, 0x1ECAB, 0x1ED08, 0x1ED09, 0x1ED35, 0x1ED36, 0x1F109, 0x1F10A, 0x1FBF8, 0x1FBF9 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 1047 */ 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF8, 0xF9, 0x668, 0x669, 0x6F8, 0x6F9, 0x7C8, 0x7C9, 0x96E, 0x96F, 0x9EE, 0x9EF, 0xA6E, 0xA6F, 0xAEE, 0xAEF, 0xB6E, 0xB6F, 0xBEE, 0xBEF, 0xC6E, 0xC6F, 0xCEE, 0xCEF, 0xD6E, 0xD6F, 0xDEE, 0xDEF, 0xE58, 0xE59, 0xED8, 0xED9, 0xF28, 0xF29, 0x1048, 0x1049, 0x1098, 0x1099, 0x1370, 0x1371, 0x17E8, 0x17E9, 0x17F8, 0x17F9, 0x1818, 0x1819, 0x194E, 0x194F, 0x19D8, 0x19D9, 0x1A88, 0x1A89, 0x1A98, 0x1A99, 0x1B58, 0x1B59, 0x1BB8, 0x1BB9, 0x1C48, 0x1C49, 0x1C58, 0x1C59, 0x2078, 0x2079, 0x2088, 0x2089, 0x2167, 0x2168, 0x2177, 0x2178, 0x2467, 0x2468, 0x247B, 0x247C, 0x248F, 0x2490, 0x24FC, 0x24FD, 0x277D, 0x277E, 0x2787, 0x2788, 0x2791, 0x2792, 0x3028, 0x3029, 0x3227, 0x3228, 0x3287, 0x3288, 0x516B, 0x516C, 0x634C, 0x634D, 0xA628, 0xA629, 0xA6ED, 0xA6EE, 0xA8D8, 0xA8D9, 0xA908, 0xA909, 0xA9D8, 0xA9D9, 0xA9F8, 0xA9F9, 0xAA58, 0xAA59, 0xABF8, 0xABF9, 0xFF18, 0xFF19, 0x1010E, 0x1010F, 0x102E8, 0x102E9, 0x104A8, 0x104A9, 0x109C7, 0x109C8, 0x10D38, 0x10D39, 0x10E67, 0x10E68, 0x11059, 0x1105A, 0x1106E, 0x1106F, 0x110F8, 0x110F9, 0x1113E, 0x1113F, 0x111D8, 0x111D9, 0x111E8, 0x111E9, 0x112F8, 0x112F9, 0x11458, 0x11459, 0x114D8, 0x114D9, 0x11658, 0x11659, 0x116C8, 0x116C9, 0x11738, 0x11739, 0x118E8, 0x118E9, 0x11958, 0x11959, 0x11C58, 0x11C59, 0x11C61, 0x11C62, 0x11D58, 0x11D59, 0x11DA8, 0x11DA9, 0x12406, 0x12407, 0x1240D, 0x1240E, 0x12413, 0x12414, 0x1241C, 0x1241D, 0x1242A, 0x1242B, 0x12444, 0x12446, 0x1246D, 0x1246E, 0x16A68, 0x16A69, 0x16B58, 0x16B59, 0x16E88, 0x16E89, 0x1D2E8, 0x1D2E9, 0x1D367, 0x1D368, 0x1D7D6, 0x1D7D7, 0x1D7E0, 0x1D7E1, 0x1D7EA, 0x1D7EB, 0x1D7F4, 0x1D7F5, 0x1D7FE, 0x1D7FF, 0x1E148, 0x1E149, 0x1E2F8, 0x1E2F9, 0x1E8CE, 0x1E8CF, 0x1E958, 0x1E959, 0x1EC78, 0x1EC79, 0x1ECAA, 0x1ECAB, 0x1ED08, 0x1ED09, 0x1ED35, 0x1ED36, 0x1F109, 0x1F10A, 0x1FBF8, 0x1FBF9 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__8_invlist[] = { /* for EBCDIC 037 */ 215, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF8, 0xF9, 0x668, 0x669, 0x6F8, 0x6F9, 0x7C8, 0x7C9, 0x96E, 0x96F, 0x9EE, 0x9EF, 0xA6E, 0xA6F, 0xAEE, 0xAEF, 0xB6E, 0xB6F, 0xBEE, 0xBEF, 0xC6E, 0xC6F, 0xCEE, 0xCEF, 0xD6E, 0xD6F, 0xDEE, 0xDEF, 0xE58, 0xE59, 0xED8, 0xED9, 0xF28, 0xF29, 0x1048, 0x1049, 0x1098, 0x1099, 0x1370, 0x1371, 0x17E8, 0x17E9, 0x17F8, 0x17F9, 0x1818, 0x1819, 0x194E, 0x194F, 0x19D8, 0x19D9, 0x1A88, 0x1A89, 0x1A98, 0x1A99, 0x1B58, 0x1B59, 0x1BB8, 0x1BB9, 0x1C48, 0x1C49, 0x1C58, 0x1C59, 0x2078, 0x2079, 0x2088, 0x2089, 0x2167, 0x2168, 0x2177, 0x2178, 0x2467, 0x2468, 0x247B, 0x247C, 0x248F, 0x2490, 0x24FC, 0x24FD, 0x277D, 0x277E, 0x2787, 0x2788, 0x2791, 0x2792, 0x3028, 0x3029, 0x3227, 0x3228, 0x3287, 0x3288, 0x516B, 0x516C, 0x634C, 0x634D, 0xA628, 0xA629, 0xA6ED, 0xA6EE, 0xA8D8, 0xA8D9, 0xA908, 0xA909, 0xA9D8, 0xA9D9, 0xA9F8, 0xA9F9, 0xAA58, 0xAA59, 0xABF8, 0xABF9, 0xFF18, 0xFF19, 0x1010E, 0x1010F, 0x102E8, 0x102E9, 0x104A8, 0x104A9, 0x109C7, 0x109C8, 0x10D38, 0x10D39, 0x10E67, 0x10E68, 0x11059, 0x1105A, 0x1106E, 0x1106F, 0x110F8, 0x110F9, 0x1113E, 0x1113F, 0x111D8, 0x111D9, 0x111E8, 0x111E9, 0x112F8, 0x112F9, 0x11458, 0x11459, 0x114D8, 0x114D9, 0x11658, 0x11659, 0x116C8, 0x116C9, 0x11738, 0x11739, 0x118E8, 0x118E9, 0x11958, 0x11959, 0x11C58, 0x11C59, 0x11C61, 0x11C62, 0x11D58, 0x11D59, 0x11DA8, 0x11DA9, 0x12406, 0x12407, 0x1240D, 0x1240E, 0x12413, 0x12414, 0x1241C, 0x1241D, 0x1242A, 0x1242B, 0x12444, 0x12446, 0x1246D, 0x1246E, 0x16A68, 0x16A69, 0x16B58, 0x16B59, 0x16E88, 0x16E89, 0x1D2E8, 0x1D2E9, 0x1D367, 0x1D368, 0x1D7D6, 0x1D7D7, 0x1D7E0, 0x1D7E1, 0x1D7EA, 0x1D7EB, 0x1D7F4, 0x1D7F5, 0x1D7FE, 0x1D7FF, 0x1E148, 0x1E149, 0x1E2F8, 0x1E2F9, 0x1E8CE, 0x1E8CF, 0x1E958, 0x1E959, 0x1EC78, 0x1EC79, 0x1ECAA, 0x1ECAB, 0x1ED08, 0x1ED09, 0x1ED35, 0x1ED36, 0x1F109, 0x1F10A, 0x1FBF8, 0x1FBF9 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__80_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1379, 0x137A, 0x324F, 0x3250, 0x10117, 0x10118, 0x102F1, 0x102F2, 0x10E70, 0x10E71, 0x11062, 0x11063, 0x111F1, 0x111F2, 0x118F1, 0x118F2, 0x11C6A, 0x11C6B, 0x1D370, 0x1D371, 0x1EC81, 0x1EC82, 0x1ED11, 0x1ED12 }; static const UV UNI_NV__800_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10120, 0x10121, 0x102FA, 0x102FB, 0x109D9, 0x109DA, 0x10E79, 0x10E7A, 0x1EC8A, 0x1EC8B, 0x1ED1A, 0x1ED1B }; static const UV UNI_NV__8000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10129, 0x1012A, 0x109E2, 0x109E3, 0x1EC93, 0x1EC94, 0x1ED23, 0x1ED24 }; static const UV UNI_NV__80000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10132, 0x10133, 0x109EB, 0x109EC, 0x1EC9C, 0x1EC9D, 0x1ED2C, 0x1ED2D }; static const UV UNI_NV__800000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F4, 0x109F5 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__9_invlist[] = { /* for ASCII/Latin1 */ 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x39, 0x3A, 0x669, 0x66A, 0x6F9, 0x6FA, 0x7C9, 0x7CA, 0x96F, 0x970, 0x9EF, 0x9F0, 0xA6F, 0xA70, 0xAEF, 0xAF0, 0xB6F, 0xB70, 0xBEF, 0xBF0, 0xC6F, 0xC70, 0xCEF, 0xCF0, 0xD6F, 0xD70, 0xDEF, 0xDF0, 0xE59, 0xE5A, 0xED9, 0xEDA, 0xF29, 0xF2A, 0x1049, 0x104A, 0x1099, 0x109A, 0x1371, 0x1372, 0x17E9, 0x17EA, 0x17F9, 0x17FA, 0x1819, 0x181A, 0x194F, 0x1950, 0x19D9, 0x19DA, 0x1A89, 0x1A8A, 0x1A99, 0x1A9A, 0x1B59, 0x1B5A, 0x1BB9, 0x1BBA, 0x1C49, 0x1C4A, 0x1C59, 0x1C5A, 0x2079, 0x207A, 0x2089, 0x208A, 0x2168, 0x2169, 0x2178, 0x2179, 0x2468, 0x2469, 0x247C, 0x247D, 0x2490, 0x2491, 0x24FD, 0x24FE, 0x277E, 0x277F, 0x2788, 0x2789, 0x2792, 0x2793, 0x3029, 0x302A, 0x3228, 0x3229, 0x3288, 0x3289, 0x4E5D, 0x4E5E, 0x5EFE, 0x5EFF, 0x7396, 0x7397, 0xA629, 0xA62A, 0xA6EE, 0xA6EF, 0xA8D9, 0xA8DA, 0xA909, 0xA90A, 0xA9D9, 0xA9DA, 0xA9F9, 0xA9FA, 0xAA59, 0xAA5A, 0xABF9, 0xABFA, 0xFF19, 0xFF1A, 0x1010F, 0x10110, 0x102E9, 0x102EA, 0x104A9, 0x104AA, 0x109C8, 0x109C9, 0x10D39, 0x10D3A, 0x10E68, 0x10E69, 0x1105A, 0x1105B, 0x1106F, 0x11070, 0x110F9, 0x110FA, 0x1113F, 0x11140, 0x111D9, 0x111DA, 0x111E9, 0x111EA, 0x112F9, 0x112FA, 0x11459, 0x1145A, 0x114D9, 0x114DA, 0x11659, 0x1165A, 0x116C9, 0x116CA, 0x11739, 0x1173A, 0x118E9, 0x118EA, 0x11959, 0x1195A, 0x11C59, 0x11C5A, 0x11C62, 0x11C63, 0x11D59, 0x11D5A, 0x11DA9, 0x11DAA, 0x12407, 0x12408, 0x1240E, 0x1240F, 0x12414, 0x12415, 0x1241D, 0x1241E, 0x1242B, 0x1242C, 0x12446, 0x1244A, 0x1246E, 0x1246F, 0x16A69, 0x16A6A, 0x16B59, 0x16B5A, 0x16E89, 0x16E8A, 0x1D2E9, 0x1D2EA, 0x1D368, 0x1D369, 0x1D7D7, 0x1D7D8, 0x1D7E1, 0x1D7E2, 0x1D7EB, 0x1D7EC, 0x1D7F5, 0x1D7F6, 0x1D7FF, 0x1D800, 0x1E149, 0x1E14A, 0x1E2F9, 0x1E2FA, 0x1E8CF, 0x1E8D0, 0x1E959, 0x1E95A, 0x1EC79, 0x1EC7A, 0x1ECAB, 0x1ECAC, 0x1ED09, 0x1ED0A, 0x1ED36, 0x1ED37, 0x1F10A, 0x1F10B, 0x1FBF9, 0x1FBFA, 0x2F890, 0x2F891 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 1047 */ 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF9, 0xFA, 0x669, 0x66A, 0x6F9, 0x6FA, 0x7C9, 0x7CA, 0x96F, 0x970, 0x9EF, 0x9F0, 0xA6F, 0xA70, 0xAEF, 0xAF0, 0xB6F, 0xB70, 0xBEF, 0xBF0, 0xC6F, 0xC70, 0xCEF, 0xCF0, 0xD6F, 0xD70, 0xDEF, 0xDF0, 0xE59, 0xE5A, 0xED9, 0xEDA, 0xF29, 0xF2A, 0x1049, 0x104A, 0x1099, 0x109A, 0x1371, 0x1372, 0x17E9, 0x17EA, 0x17F9, 0x17FA, 0x1819, 0x181A, 0x194F, 0x1950, 0x19D9, 0x19DA, 0x1A89, 0x1A8A, 0x1A99, 0x1A9A, 0x1B59, 0x1B5A, 0x1BB9, 0x1BBA, 0x1C49, 0x1C4A, 0x1C59, 0x1C5A, 0x2079, 0x207A, 0x2089, 0x208A, 0x2168, 0x2169, 0x2178, 0x2179, 0x2468, 0x2469, 0x247C, 0x247D, 0x2490, 0x2491, 0x24FD, 0x24FE, 0x277E, 0x277F, 0x2788, 0x2789, 0x2792, 0x2793, 0x3029, 0x302A, 0x3228, 0x3229, 0x3288, 0x3289, 0x4E5D, 0x4E5E, 0x5EFE, 0x5EFF, 0x7396, 0x7397, 0xA629, 0xA62A, 0xA6EE, 0xA6EF, 0xA8D9, 0xA8DA, 0xA909, 0xA90A, 0xA9D9, 0xA9DA, 0xA9F9, 0xA9FA, 0xAA59, 0xAA5A, 0xABF9, 0xABFA, 0xFF19, 0xFF1A, 0x1010F, 0x10110, 0x102E9, 0x102EA, 0x104A9, 0x104AA, 0x109C8, 0x109C9, 0x10D39, 0x10D3A, 0x10E68, 0x10E69, 0x1105A, 0x1105B, 0x1106F, 0x11070, 0x110F9, 0x110FA, 0x1113F, 0x11140, 0x111D9, 0x111DA, 0x111E9, 0x111EA, 0x112F9, 0x112FA, 0x11459, 0x1145A, 0x114D9, 0x114DA, 0x11659, 0x1165A, 0x116C9, 0x116CA, 0x11739, 0x1173A, 0x118E9, 0x118EA, 0x11959, 0x1195A, 0x11C59, 0x11C5A, 0x11C62, 0x11C63, 0x11D59, 0x11D5A, 0x11DA9, 0x11DAA, 0x12407, 0x12408, 0x1240E, 0x1240F, 0x12414, 0x12415, 0x1241D, 0x1241E, 0x1242B, 0x1242C, 0x12446, 0x1244A, 0x1246E, 0x1246F, 0x16A69, 0x16A6A, 0x16B59, 0x16B5A, 0x16E89, 0x16E8A, 0x1D2E9, 0x1D2EA, 0x1D368, 0x1D369, 0x1D7D7, 0x1D7D8, 0x1D7E1, 0x1D7E2, 0x1D7EB, 0x1D7EC, 0x1D7F5, 0x1D7F6, 0x1D7FF, 0x1D800, 0x1E149, 0x1E14A, 0x1E2F9, 0x1E2FA, 0x1E8CF, 0x1E8D0, 0x1E959, 0x1E95A, 0x1EC79, 0x1EC7A, 0x1ECAB, 0x1ECAC, 0x1ED09, 0x1ED0A, 0x1ED36, 0x1ED37, 0x1F10A, 0x1F10B, 0x1FBF9, 0x1FBFA, 0x2F890, 0x2F891 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__9_invlist[] = { /* for EBCDIC 037 */ 219, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF9, 0xFA, 0x669, 0x66A, 0x6F9, 0x6FA, 0x7C9, 0x7CA, 0x96F, 0x970, 0x9EF, 0x9F0, 0xA6F, 0xA70, 0xAEF, 0xAF0, 0xB6F, 0xB70, 0xBEF, 0xBF0, 0xC6F, 0xC70, 0xCEF, 0xCF0, 0xD6F, 0xD70, 0xDEF, 0xDF0, 0xE59, 0xE5A, 0xED9, 0xEDA, 0xF29, 0xF2A, 0x1049, 0x104A, 0x1099, 0x109A, 0x1371, 0x1372, 0x17E9, 0x17EA, 0x17F9, 0x17FA, 0x1819, 0x181A, 0x194F, 0x1950, 0x19D9, 0x19DA, 0x1A89, 0x1A8A, 0x1A99, 0x1A9A, 0x1B59, 0x1B5A, 0x1BB9, 0x1BBA, 0x1C49, 0x1C4A, 0x1C59, 0x1C5A, 0x2079, 0x207A, 0x2089, 0x208A, 0x2168, 0x2169, 0x2178, 0x2179, 0x2468, 0x2469, 0x247C, 0x247D, 0x2490, 0x2491, 0x24FD, 0x24FE, 0x277E, 0x277F, 0x2788, 0x2789, 0x2792, 0x2793, 0x3029, 0x302A, 0x3228, 0x3229, 0x3288, 0x3289, 0x4E5D, 0x4E5E, 0x5EFE, 0x5EFF, 0x7396, 0x7397, 0xA629, 0xA62A, 0xA6EE, 0xA6EF, 0xA8D9, 0xA8DA, 0xA909, 0xA90A, 0xA9D9, 0xA9DA, 0xA9F9, 0xA9FA, 0xAA59, 0xAA5A, 0xABF9, 0xABFA, 0xFF19, 0xFF1A, 0x1010F, 0x10110, 0x102E9, 0x102EA, 0x104A9, 0x104AA, 0x109C8, 0x109C9, 0x10D39, 0x10D3A, 0x10E68, 0x10E69, 0x1105A, 0x1105B, 0x1106F, 0x11070, 0x110F9, 0x110FA, 0x1113F, 0x11140, 0x111D9, 0x111DA, 0x111E9, 0x111EA, 0x112F9, 0x112FA, 0x11459, 0x1145A, 0x114D9, 0x114DA, 0x11659, 0x1165A, 0x116C9, 0x116CA, 0x11739, 0x1173A, 0x118E9, 0x118EA, 0x11959, 0x1195A, 0x11C59, 0x11C5A, 0x11C62, 0x11C63, 0x11D59, 0x11D5A, 0x11DA9, 0x11DAA, 0x12407, 0x12408, 0x1240E, 0x1240F, 0x12414, 0x12415, 0x1241D, 0x1241E, 0x1242B, 0x1242C, 0x12446, 0x1244A, 0x1246E, 0x1246F, 0x16A69, 0x16A6A, 0x16B59, 0x16B5A, 0x16E89, 0x16E8A, 0x1D2E9, 0x1D2EA, 0x1D368, 0x1D369, 0x1D7D7, 0x1D7D8, 0x1D7E1, 0x1D7E2, 0x1D7EB, 0x1D7EC, 0x1D7F5, 0x1D7F6, 0x1D7FF, 0x1D800, 0x1E149, 0x1E14A, 0x1E2F9, 0x1E2FA, 0x1E8CF, 0x1E8D0, 0x1E959, 0x1E95A, 0x1EC79, 0x1EC7A, 0x1ECAB, 0x1ECAC, 0x1ED09, 0x1ED0A, 0x1ED36, 0x1ED37, 0x1F10A, 0x1F10B, 0x1FBF9, 0x1FBFA, 0x2F890, 0x2F891 }; # endif /* EBCDIC 037 */ static const UV UNI_NV__9_SLASH_2_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF2E, 0xF2F }; static const UV UNI_NV__90_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x137A, 0x137B, 0x10118, 0x10119, 0x102F2, 0x102F3, 0x10341, 0x10342, 0x10E71, 0x10E72, 0x11063, 0x11064, 0x111F2, 0x111F3, 0x118F2, 0x118F3, 0x11C6B, 0x11C6C, 0x1D371, 0x1D372, 0x1EC82, 0x1EC83, 0x1ED12, 0x1ED13 }; static const UV UNI_NV__900_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10121, 0x10122, 0x102FB, 0x102FC, 0x1034A, 0x1034B, 0x109DA, 0x109DB, 0x10E7A, 0x10E7B, 0x1EC8B, 0x1EC8C, 0x1ED1B, 0x1ED1C }; static const UV UNI_NV__9000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1012A, 0x1012B, 0x109E3, 0x109E4, 0x1EC94, 0x1EC95, 0x1ED24, 0x1ED25 }; static const UV UNI_NV__90000_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10133, 0x10134, 0x109EC, 0x109ED, 0x1EC9D, 0x1EC9E, 0x1ED2D, 0x1ED2E }; static const UV UNI_NV__900000_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x109F5, 0x109F6 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_NV__NAN_invlist[] = { /* for ASCII/Latin1 */ 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0xB2, 0xB4, 0xB9, 0xBA, 0xBC, 0xBF, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 1047 */ 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_NV__NAN_invlist[] = { /* for EBCDIC 037 */ 411, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB7, 0xBA, 0xDA, 0xDB, 0xEA, 0xEB, 0xF0, 0xFB, 0x660, 0x66A, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0x9F4, 0x9FA, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xB72, 0xB78, 0xBE6, 0xBF3, 0xC66, 0xC70, 0xC78, 0xC7F, 0xCE6, 0xCF0, 0xD58, 0xD5F, 0xD66, 0xD79, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF34, 0x1040, 0x104A, 0x1090, 0x109A, 0x1369, 0x137D, 0x16EE, 0x16F1, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DB, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0x2070, 0x2071, 0x2074, 0x207A, 0x2080, 0x208A, 0x2150, 0x2183, 0x2185, 0x218A, 0x2460, 0x249C, 0x24EA, 0x2500, 0x2776, 0x2794, 0x2CFD, 0x2CFE, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303B, 0x3192, 0x3196, 0x3220, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3405, 0x3406, 0x3483, 0x3484, 0x382A, 0x382B, 0x3B4D, 0x3B4E, 0x4E00, 0x4E01, 0x4E03, 0x4E04, 0x4E07, 0x4E08, 0x4E09, 0x4E0A, 0x4E5D, 0x4E5E, 0x4E8C, 0x4E8D, 0x4E94, 0x4E95, 0x4E96, 0x4E97, 0x4EBF, 0x4EC1, 0x4EDF, 0x4EE0, 0x4EE8, 0x4EE9, 0x4F0D, 0x4F0E, 0x4F70, 0x4F71, 0x5104, 0x5105, 0x5146, 0x5147, 0x5169, 0x516A, 0x516B, 0x516C, 0x516D, 0x516E, 0x5341, 0x5342, 0x5343, 0x5346, 0x534C, 0x534D, 0x53C1, 0x53C5, 0x56DB, 0x56DC, 0x58F1, 0x58F2, 0x58F9, 0x58FA, 0x5E7A, 0x5E7B, 0x5EFE, 0x5F00, 0x5F0C, 0x5F0F, 0x5F10, 0x5F11, 0x62FE, 0x62FF, 0x634C, 0x634D, 0x67D2, 0x67D3, 0x6F06, 0x6F07, 0x7396, 0x7397, 0x767E, 0x767F, 0x8086, 0x8087, 0x842C, 0x842D, 0x8CAE, 0x8CAF, 0x8CB3, 0x8CB4, 0x8D30, 0x8D31, 0x9621, 0x9622, 0x9646, 0x9647, 0x964C, 0x964D, 0x9678, 0x9679, 0x96F6, 0x96F7, 0xA620, 0xA62A, 0xA6E6, 0xA6F0, 0xA830, 0xA836, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xF96B, 0xF96C, 0xF973, 0xF974, 0xF978, 0xF979, 0xF9B2, 0xF9B3, 0xF9D1, 0xF9D2, 0xF9D3, 0xF9D4, 0xF9FD, 0xF9FE, 0xFF10, 0xFF1A, 0x10107, 0x10134, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x102E1, 0x102FC, 0x10320, 0x10324, 0x10341, 0x10342, 0x1034A, 0x1034B, 0x103D1, 0x103D6, 0x104A0, 0x104AA, 0x10858, 0x10860, 0x10879, 0x10880, 0x108A7, 0x108B0, 0x108FB, 0x10900, 0x10916, 0x1091C, 0x109BC, 0x109BE, 0x109C0, 0x109D0, 0x109D2, 0x10A00, 0x10A40, 0x10A49, 0x10A7D, 0x10A7F, 0x10A9D, 0x10AA0, 0x10AEB, 0x10AF0, 0x10B58, 0x10B60, 0x10B78, 0x10B80, 0x10BA9, 0x10BB0, 0x10CFA, 0x10D00, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10F1D, 0x10F27, 0x10F51, 0x10F55, 0x10FC5, 0x10FCC, 0x11052, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x111E1, 0x111F5, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173C, 0x118E0, 0x118F3, 0x11950, 0x1195A, 0x11C50, 0x11C6D, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x11FC0, 0x11FD5, 0x12400, 0x1246F, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16E80, 0x16E97, 0x1D2E0, 0x1D2F4, 0x1D360, 0x1D379, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E8C7, 0x1E8D0, 0x1E950, 0x1E95A, 0x1EC71, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ECB5, 0x1ED01, 0x1ED2E, 0x1ED2F, 0x1ED3E, 0x1F100, 0x1F10D, 0x1FBF0, 0x1FBFA, 0x20001, 0x20002, 0x20064, 0x20065, 0x200E2, 0x200E3, 0x20121, 0x20122, 0x2092A, 0x2092B, 0x20983, 0x20984, 0x2098C, 0x2098D, 0x2099C, 0x2099D, 0x20AEA, 0x20AEB, 0x20AFD, 0x20AFE, 0x20B19, 0x20B1A, 0x22390, 0x22391, 0x22998, 0x22999, 0x23B1B, 0x23B1C, 0x2626D, 0x2626E, 0x2F890, 0x2F891 }; # endif /* EBCDIC 037 */ static const UV UNI_OCR_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2440, 0x2460 }; static const UV UNI_OGAM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1680, 0x169D }; static const UV UNI_OLCK_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1C50, 0x1C80 }; static const UV UNI_ORKH_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10C00, 0x10C49 }; static const UV UNI_ORNAMENTALDINGBATS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F650, 0x1F680 }; static const UV UNI_ORYA_invlist[] = { /* for all charsets */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0x1CDA, 0x1CDB, 0x1CF2, 0x1CF3 }; static const UV UNI_OSGE_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x104B0, 0x104D4, 0x104D8, 0x104FC }; static const UV UNI_OSMA_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10480, 0x1049E, 0x104A0, 0x104AA }; static const UV UNI_OTTOMANSIYAQNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1ED00, 0x1ED50 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_P_invlist[] = { /* for ASCII/Latin1 */ 371, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x24, 0x25, 0x2B, 0x2C, 0x30, 0x3A, 0x3C, 0x3F, 0x41, 0x5B, 0x5E, 0x5F, 0x60, 0x7B, 0x7C, 0x7D, 0x7E, 0xA1, 0xA2, 0xA7, 0xA8, 0xAB, 0xAC, 0xB6, 0xB8, 0xBB, 0xBC, 0xBF, 0xC0, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_P_invlist[] = { /* for EBCDIC 1047 */ 379, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x4D, 0x4E, 0x50, 0x51, 0x5A, 0x5B, 0x5C, 0x5F, 0x60, 0x62, 0x6B, 0x6E, 0x6F, 0x70, 0x7A, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0xAA, 0xAC, 0xAD, 0xAE, 0xB3, 0xB4, 0xB5, 0xB7, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_P_invlist[] = { /* for EBCDIC 037 */ 377, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x4D, 0x4E, 0x50, 0x51, 0x5A, 0x5B, 0x5C, 0x5F, 0x60, 0x62, 0x6B, 0x6E, 0x6F, 0x70, 0x7A, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0xAA, 0xAC, 0xB3, 0xB4, 0xB5, 0xB7, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58B, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF3A, 0xF3E, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x1400, 0x1401, 0x166E, 0x166F, 0x169B, 0x169D, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2010, 0x2028, 0x2030, 0x2044, 0x2045, 0x2052, 0x2053, 0x205F, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E2F, 0x2E30, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x303D, 0x303E, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE62, 0xFE63, 0xFE64, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3B, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10EAD, 0x10EAE, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 037 */ static const UV UNI_PALM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10860, 0x10880 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PATSYN_invlist[] = { /* for ASCII/Latin1 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0x7F, 0xA1, 0xA8, 0xA9, 0xAA, 0xAB, 0xAD, 0xAE, 0xAF, 0xB0, 0xB2, 0xB6, 0xB7, 0xBB, 0xBC, 0xBF, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2010, 0x2028, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0x205F, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3001, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0xFD3E, 0xFD40, 0xFE45, 0xFE47 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PATSYN_invlist[] = { /* for EBCDIC 1047 */ 61, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xB7, 0xBD, 0xBE, 0xBF, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2010, 0x2028, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0x205F, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3001, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0xFD3E, 0xFD40, 0xFE45, 0xFE47 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PATSYN_invlist[] = { /* for EBCDIC 037 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xB7, 0xBA, 0xBC, 0xBF, 0xC1, 0xD0, 0xD1, 0xE0, 0xE2, 0x2010, 0x2028, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0x205F, 0x2190, 0x2460, 0x2500, 0x2776, 0x2794, 0x2C00, 0x2E00, 0x2E80, 0x3001, 0x3004, 0x3008, 0x3021, 0x3030, 0x3031, 0xFD3E, 0xFD40, 0xFE45, 0xFE47 }; # endif /* EBCDIC 037 */ static const UV UNI_PAUC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11AC0, 0x11AF9 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PC_invlist[] = { /* for ASCII/Latin1 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5F, 0x60, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PC_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PC_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* EBCDIC 037 */ static const UV UNI_PCM_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x606, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x110BD, 0x110BE, 0x110CD, 0x110CE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PD_invlist[] = { /* for ASCII/Latin1 */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D, 0x2E, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PD_invlist[] = { /* for EBCDIC 1047 */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PD_invlist[] = { /* for EBCDIC 037 */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x58A, 0x58B, 0x5BE, 0x5BF, 0x1400, 0x1401, 0x1806, 0x1807, 0x2010, 0x2016, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x301C, 0x301D, 0x3030, 0x3031, 0x30A0, 0x30A1, 0xFE31, 0xFE33, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0D, 0xFF0E, 0x10EAD, 0x10EAE }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PE_invlist[] = { /* for ASCII/Latin1 */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x29, 0x2A, 0x5D, 0x5E, 0x7D, 0x7E, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PE_invlist[] = { /* for EBCDIC 1047 */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBD, 0xBE, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PE_invlist[] = { /* for EBCDIC 037 */ 145, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5D, 0x5E, 0xBB, 0xBC, 0xD0, 0xD1, 0xF3B, 0xF3C, 0xF3D, 0xF3E, 0x169C, 0x169D, 0x2046, 0x2047, 0x207E, 0x207F, 0x208E, 0x208F, 0x2309, 0x230A, 0x230B, 0x230C, 0x232A, 0x232B, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x2776, 0x27C6, 0x27C7, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x27F0, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x2999, 0x29D9, 0x29DA, 0x29DB, 0x29DC, 0x29FD, 0x29FE, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E2A, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3012, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301C, 0x301E, 0x3020, 0xFD3E, 0xFD3F, 0xFE18, 0xFE19, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE45, 0xFE48, 0xFE49, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFE5F, 0xFF09, 0xFF0A, 0xFF3D, 0xFF3E, 0xFF5D, 0xFF5E, 0xFF60, 0xFF61, 0xFF63, 0xFF64 }; # endif /* EBCDIC 037 */ static const UV UNI_PERM_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x483, 0x484, 0x10350, 0x1037B }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PF_invlist[] = { /* for ASCII/Latin1 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xBB, 0xBC, 0x2019, 0x201A, 0x201D, 0x201E, 0x203A, 0x203B, 0x2E03, 0x2E04, 0x2E05, 0x2E06, 0x2E0A, 0x2E0B, 0x2E0D, 0x2E0E, 0x2E1D, 0x2E1E, 0x2E21, 0x2E22 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PF_invlist[] = { /* for EBCDIC 1047 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8B, 0x8C, 0x2019, 0x201A, 0x201D, 0x201E, 0x203A, 0x203B, 0x2E03, 0x2E04, 0x2E05, 0x2E06, 0x2E0A, 0x2E0B, 0x2E0D, 0x2E0E, 0x2E1D, 0x2E1E, 0x2E21, 0x2E22 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PF_invlist[] = { /* for EBCDIC 037 */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8B, 0x8C, 0x2019, 0x201A, 0x201D, 0x201E, 0x203A, 0x203B, 0x2E03, 0x2E04, 0x2E05, 0x2E06, 0x2E0A, 0x2E0B, 0x2E0D, 0x2E0E, 0x2E1D, 0x2E1E, 0x2E21, 0x2E22 }; # endif /* EBCDIC 037 */ static const UV UNI_PHAG_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1802, 0x1804, 0x1805, 0x1806, 0xA840, 0xA878 }; static const UV UNI_PHAISTOS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x101D0, 0x10200 }; static const UV UNI_PHLI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B60, 0x10B73, 0x10B78, 0x10B80 }; static const UV UNI_PHLP_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0 }; static const UV UNI_PHNX_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10900, 0x1091C, 0x1091F, 0x10920 }; static const UV UNI_PHONETICEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D00, 0x1D80 }; static const UV UNI_PHONETICEXTSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D80, 0x1DC0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PI_invlist[] = { /* for ASCII/Latin1 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAB, 0xAC, 0x2018, 0x2019, 0x201B, 0x201D, 0x201F, 0x2020, 0x2039, 0x203A, 0x2E02, 0x2E03, 0x2E04, 0x2E05, 0x2E09, 0x2E0A, 0x2E0C, 0x2E0D, 0x2E1C, 0x2E1D, 0x2E20, 0x2E21 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PI_invlist[] = { /* for EBCDIC 1047 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8A, 0x8B, 0x2018, 0x2019, 0x201B, 0x201D, 0x201F, 0x2020, 0x2039, 0x203A, 0x2E02, 0x2E03, 0x2E04, 0x2E05, 0x2E09, 0x2E0A, 0x2E0C, 0x2E0D, 0x2E1C, 0x2E1D, 0x2E20, 0x2E21 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PI_invlist[] = { /* for EBCDIC 037 */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8A, 0x8B, 0x2018, 0x2019, 0x201B, 0x201D, 0x201F, 0x2020, 0x2039, 0x203A, 0x2E02, 0x2E03, 0x2E04, 0x2E05, 0x2E09, 0x2E0A, 0x2E0C, 0x2E0D, 0x2E1C, 0x2E1D, 0x2E20, 0x2E21 }; # endif /* EBCDIC 037 */ static const UV UNI_PLAYINGCARDS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F0A0, 0x1F100 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PO_invlist[] = { /* for ASCII/Latin1 */ 363, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x24, 0x25, 0x28, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x30, 0x3A, 0x3C, 0x3F, 0x41, 0x5C, 0x5D, 0xA1, 0xA2, 0xA7, 0xA8, 0xB6, 0xB8, 0xBF, 0xC0, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58A, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x1806, 0x1807, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2016, 0x2018, 0x2020, 0x2028, 0x2030, 0x2039, 0x203B, 0x203F, 0x2041, 0x2044, 0x2047, 0x2052, 0x2053, 0x2054, 0x2055, 0x205F, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2F, 0x2E30, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x2E42, 0x2E43, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x303D, 0x303E, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE10, 0xFE17, 0xFE19, 0xFE1A, 0xFE30, 0xFE31, 0xFE45, 0xFE47, 0xFE49, 0xFE4D, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFE5F, 0xFE62, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF08, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3C, 0xFF3D, 0xFF61, 0xFF62, 0xFF64, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PO_invlist[] = { /* for EBCDIC 1047 */ 367, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x50, 0x51, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x61, 0x62, 0x6B, 0x6D, 0x6F, 0x70, 0x7A, 0x7E, 0x7F, 0x80, 0xAA, 0xAC, 0xB3, 0xB4, 0xB5, 0xB7, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58A, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x1806, 0x1807, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2016, 0x2018, 0x2020, 0x2028, 0x2030, 0x2039, 0x203B, 0x203F, 0x2041, 0x2044, 0x2047, 0x2052, 0x2053, 0x2054, 0x2055, 0x205F, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2F, 0x2E30, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x2E42, 0x2E43, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x303D, 0x303E, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE10, 0xFE17, 0xFE19, 0xFE1A, 0xFE30, 0xFE31, 0xFE45, 0xFE47, 0xFE49, 0xFE4D, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFE5F, 0xFE62, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF08, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3C, 0xFF3D, 0xFF61, 0xFF62, 0xFF64, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PO_invlist[] = { /* for EBCDIC 037 */ 367, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x50, 0x51, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x61, 0x62, 0x6B, 0x6D, 0x6F, 0x70, 0x7A, 0x7E, 0x7F, 0x80, 0xAA, 0xAC, 0xB3, 0xB4, 0xB5, 0xB7, 0xE0, 0xE1, 0x37E, 0x37F, 0x387, 0x388, 0x55A, 0x560, 0x589, 0x58A, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5F3, 0x5F5, 0x609, 0x60B, 0x60C, 0x60E, 0x61B, 0x61C, 0x61E, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x700, 0x70E, 0x7F7, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0x970, 0x971, 0x9FD, 0x9FE, 0xA76, 0xA77, 0xAF0, 0xAF1, 0xC77, 0xC78, 0xC84, 0xC85, 0xDF4, 0xDF5, 0xE4F, 0xE50, 0xE5A, 0xE5C, 0xF04, 0xF13, 0xF14, 0xF15, 0xF85, 0xF86, 0xFD0, 0xFD5, 0xFD9, 0xFDB, 0x104A, 0x1050, 0x10FB, 0x10FC, 0x1360, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17D8, 0x17DB, 0x1800, 0x1806, 0x1807, 0x180B, 0x1944, 0x1946, 0x1A1E, 0x1A20, 0x1AA0, 0x1AA7, 0x1AA8, 0x1AAE, 0x1B5A, 0x1B61, 0x1BFC, 0x1C00, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x1CC0, 0x1CC8, 0x1CD3, 0x1CD4, 0x2016, 0x2018, 0x2020, 0x2028, 0x2030, 0x2039, 0x203B, 0x203F, 0x2041, 0x2044, 0x2047, 0x2052, 0x2053, 0x2054, 0x2055, 0x205F, 0x2CF9, 0x2CFD, 0x2CFE, 0x2D00, 0x2D70, 0x2D71, 0x2E00, 0x2E02, 0x2E06, 0x2E09, 0x2E0B, 0x2E0C, 0x2E0E, 0x2E17, 0x2E18, 0x2E1A, 0x2E1B, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2F, 0x2E30, 0x2E3A, 0x2E3C, 0x2E40, 0x2E41, 0x2E42, 0x2E43, 0x2E50, 0x2E52, 0x2E53, 0x3001, 0x3004, 0x303D, 0x303E, 0x30FB, 0x30FC, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F8, 0xA874, 0xA878, 0xA8CE, 0xA8D0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA95F, 0xA960, 0xA9C1, 0xA9CE, 0xA9DE, 0xA9E0, 0xAA5C, 0xAA60, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE10, 0xFE17, 0xFE19, 0xFE1A, 0xFE30, 0xFE31, 0xFE45, 0xFE47, 0xFE49, 0xFE4D, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFE5F, 0xFE62, 0xFE68, 0xFE69, 0xFE6A, 0xFE6C, 0xFF01, 0xFF04, 0xFF05, 0xFF08, 0xFF0A, 0xFF0B, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF10, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF21, 0xFF3C, 0xFF3D, 0xFF61, 0xFF62, 0xFF64, 0xFF66, 0x10100, 0x10103, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x1056F, 0x10570, 0x10857, 0x10858, 0x1091F, 0x10920, 0x1093F, 0x10940, 0x10A50, 0x10A59, 0x10A7F, 0x10A80, 0x10AF0, 0x10AF7, 0x10B39, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BB, 0x110BD, 0x110BE, 0x110C2, 0x11140, 0x11144, 0x11174, 0x11176, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x111E0, 0x11238, 0x1123E, 0x112A9, 0x112AA, 0x1144B, 0x11450, 0x1145A, 0x1145C, 0x1145D, 0x1145E, 0x114C6, 0x114C7, 0x115C1, 0x115D8, 0x11641, 0x11644, 0x11660, 0x1166D, 0x1173C, 0x1173F, 0x1183B, 0x1183C, 0x11944, 0x11947, 0x119E2, 0x119E3, 0x11A3F, 0x11A47, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AA3, 0x11C41, 0x11C46, 0x11C70, 0x11C72, 0x11EF7, 0x11EF9, 0x11FFF, 0x12000, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3C, 0x16B44, 0x16B45, 0x16E97, 0x16E9B, 0x16FE2, 0x16FE3, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8C, 0x1E95E, 0x1E960 }; # endif /* EBCDIC 037 */ static const UV UNI_PRTI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B40, 0x10B56, 0x10B58, 0x10B60 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_PS_invlist[] = { /* for ASCII/Latin1 */ 151, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x28, 0x29, 0x5B, 0x5C, 0x7B, 0x7C, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_PS_invlist[] = { /* for EBCDIC 1047 */ 151, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xAD, 0xAE, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_PS_invlist[] = { /* for EBCDIC 037 */ 151, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0xBA, 0xBB, 0xC0, 0xC1, 0xF3A, 0xF3B, 0xF3C, 0xF3D, 0x169B, 0x169C, 0x201A, 0x201B, 0x201E, 0x201F, 0x2045, 0x2046, 0x207D, 0x207E, 0x208D, 0x208E, 0x2308, 0x2309, 0x230A, 0x230B, 0x2329, 0x232A, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0x2772, 0x2773, 0x2774, 0x2775, 0x27C5, 0x27C6, 0x27E6, 0x27E7, 0x27E8, 0x27E9, 0x27EA, 0x27EB, 0x27EC, 0x27ED, 0x27EE, 0x27EF, 0x2983, 0x2984, 0x2985, 0x2986, 0x2987, 0x2988, 0x2989, 0x298A, 0x298B, 0x298C, 0x298D, 0x298E, 0x298F, 0x2990, 0x2991, 0x2992, 0x2993, 0x2994, 0x2995, 0x2996, 0x2997, 0x2998, 0x29D8, 0x29D9, 0x29DA, 0x29DB, 0x29FC, 0x29FD, 0x2E22, 0x2E23, 0x2E24, 0x2E25, 0x2E26, 0x2E27, 0x2E28, 0x2E29, 0x2E42, 0x2E43, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0x3014, 0x3015, 0x3016, 0x3017, 0x3018, 0x3019, 0x301A, 0x301B, 0x301D, 0x301E, 0xFD3F, 0xFD40, 0xFE17, 0xFE18, 0xFE35, 0xFE36, 0xFE37, 0xFE38, 0xFE39, 0xFE3A, 0xFE3B, 0xFE3C, 0xFE3D, 0xFE3E, 0xFE3F, 0xFE40, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE47, 0xFE48, 0xFE59, 0xFE5A, 0xFE5B, 0xFE5C, 0xFE5D, 0xFE5E, 0xFF08, 0xFF09, 0xFF3B, 0xFF3C, 0xFF5B, 0xFF5C, 0xFF5F, 0xFF60, 0xFF62, 0xFF63 }; # endif /* EBCDIC 037 */ static const UV UNI_PUA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE000, 0xF900 }; static const UV UNI_QAAI_invlist[] = { /* for all charsets */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x342, 0x343, 0x345, 0x346, 0x363, 0x953, 0x955, 0x1AB0, 0x1AC1, 0x1DC2, 0x1DF8, 0x1DF9, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200E, 0x20D0, 0x20F0, 0xFE00, 0xFE10, 0xFE20, 0xFE2E, 0x101FD, 0x101FE, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0xE0100, 0xE01F0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_QMARK_invlist[] = { /* for ASCII/Latin1 */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x22, 0x23, 0x27, 0x28, 0xAB, 0xAC, 0xBB, 0xBC, 0x2018, 0x2020, 0x2039, 0x203B, 0x2E42, 0x2E43, 0x300C, 0x3010, 0x301D, 0x3020, 0xFE41, 0xFE45, 0xFF02, 0xFF03, 0xFF07, 0xFF08, 0xFF62, 0xFF64 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_QMARK_invlist[] = { /* for EBCDIC 1047 */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x2018, 0x2020, 0x2039, 0x203B, 0x2E42, 0x2E43, 0x300C, 0x3010, 0x301D, 0x3020, 0xFE41, 0xFE45, 0xFF02, 0xFF03, 0xFF07, 0xFF08, 0xFF62, 0xFF64 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_QMARK_invlist[] = { /* for EBCDIC 037 */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0x2018, 0x2020, 0x2039, 0x203B, 0x2E42, 0x2E43, 0x300C, 0x3010, 0x301D, 0x3020, 0xFE41, 0xFE45, 0xFF02, 0xFF03, 0xFF07, 0xFF08, 0xFF62, 0xFF64 }; # endif /* EBCDIC 037 */ static const UV UNI_RADICAL_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6 }; static const UV UNI_RI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F1E6, 0x1F200 }; static const UV UNI_RJNG_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA930, 0xA954, 0xA95F, 0xA960 }; static const UV UNI_ROHG_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x640, 0x641, 0x6D4, 0x6D5, 0x10D00, 0x10D28, 0x10D30, 0x10D3A }; static const UV UNI_RUMI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10E60, 0x10E80 }; static const UV UNI_RUNR_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16A0, 0x16EB, 0x16EE, 0x16F9 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_S_invlist[] = { /* for ASCII/Latin1 */ 459, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x24, 0x25, 0x2B, 0x2C, 0x3C, 0x3F, 0x5E, 0x5F, 0x60, 0x61, 0x7C, 0x7D, 0x7E, 0x7F, 0xA2, 0xA7, 0xA8, 0xAA, 0xAC, 0xAD, 0xAE, 0xB2, 0xB4, 0xB5, 0xB8, 0xB9, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x3F6, 0x3F7, 0x482, 0x483, 0x58D, 0x590, 0x606, 0x609, 0x60B, 0x60C, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FA, 0x9FC, 0xAF1, 0xAF2, 0xB70, 0xB71, 0xBF3, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xE3F, 0xE40, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x17DB, 0x17DC, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x20A0, 0x20C0, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x2308, 0x230C, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x309B, 0x309D, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA836, 0xA83A, 0xAA77, 0xAA7A, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, 0xFBC2, 0xFDFC, 0xFDFE, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ED2E, 0x1ED2F, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_S_invlist[] = { /* for EBCDIC 1047 */ 465, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x50, 0x5B, 0x5C, 0x5F, 0x60, 0x6A, 0x6B, 0x6E, 0x6F, 0x79, 0x7A, 0x7E, 0x7F, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAF, 0xB3, 0xB4, 0xB5, 0xBB, 0xBD, 0xBE, 0xC0, 0xE1, 0xE2, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x3F6, 0x3F7, 0x482, 0x483, 0x58D, 0x590, 0x606, 0x609, 0x60B, 0x60C, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FA, 0x9FC, 0xAF1, 0xAF2, 0xB70, 0xB71, 0xBF3, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xE3F, 0xE40, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x17DB, 0x17DC, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x20A0, 0x20C0, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x2308, 0x230C, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x309B, 0x309D, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA836, 0xA83A, 0xAA77, 0xAA7A, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, 0xFBC2, 0xFDFC, 0xFDFE, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ED2E, 0x1ED2F, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_S_invlist[] = { /* for EBCDIC 037 */ 463, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x50, 0x5B, 0x5C, 0x5F, 0x60, 0x6A, 0x6B, 0x6E, 0x6F, 0x79, 0x7A, 0x7E, 0x7F, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAF, 0xB3, 0xB4, 0xB5, 0xBC, 0xC0, 0xE1, 0xE2, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x3F6, 0x3F7, 0x482, 0x483, 0x58D, 0x590, 0x606, 0x609, 0x60B, 0x60C, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FA, 0x9FC, 0xAF1, 0xAF2, 0xB70, 0xB71, 0xBF3, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xE3F, 0xE40, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x17DB, 0x17DC, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x20A0, 0x20C0, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2190, 0x2308, 0x230C, 0x2329, 0x232B, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x2768, 0x2794, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x309B, 0x309D, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA828, 0xA82C, 0xA836, 0xA83A, 0xAA77, 0xAA7A, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFB29, 0xFB2A, 0xFBB2, 0xFBC2, 0xFDFC, 0xFDFE, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1E2FF, 0x1E300, 0x1ECAC, 0x1ECAD, 0x1ECB0, 0x1ECB1, 0x1ED2E, 0x1ED2F, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 037 */ static const UV UNI_SAMR_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x800, 0x82E, 0x830, 0x83F }; static const UV UNI_SARB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A60, 0x10A80 }; static const UV UNI_SAUR_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__AT_invlist[] = { /* for ASCII/Latin1 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E, 0x2F, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF0E, 0xFF0F }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__AT_invlist[] = { /* for EBCDIC 1047 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF0E, 0xFF0F }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__AT_invlist[] = { /* for EBCDIC 037 */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF0E, 0xFF0F }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__CL_invlist[] = { /* for ASCII/Latin1 */ 89, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x22, 0x23, 0x27, 0x2A, 0x5B, 0x5C, 0x5D, 0x5E, 0x7B, 0x7C, 0x7D, 0x7E, 0xAB, 0xAC, 0xBB, 0xBC, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2018, 0x2020, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E42, 0x2E43, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0xFD3E, 0xFD40, 0xFE17, 0xFE19, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1F676, 0x1F679 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__CL_invlist[] = { /* for EBCDIC 1047 */ 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0x5D, 0x5E, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0xAD, 0xAE, 0xBD, 0xBE, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2018, 0x2020, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E42, 0x2E43, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0xFD3E, 0xFD40, 0xFE17, 0xFE19, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1F676, 0x1F679 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__CL_invlist[] = { /* for EBCDIC 037 */ 89, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4D, 0x4E, 0x5D, 0x5E, 0x7D, 0x7E, 0x7F, 0x80, 0x8A, 0x8C, 0xBA, 0xBC, 0xC0, 0xC1, 0xD0, 0xD1, 0xF3A, 0xF3E, 0x169B, 0x169D, 0x2018, 0x2020, 0x2039, 0x203B, 0x2045, 0x2047, 0x207D, 0x207F, 0x208D, 0x208F, 0x2308, 0x230C, 0x2329, 0x232B, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2E00, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E42, 0x2E43, 0x3008, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0xFD3E, 0xFD40, 0xFE17, 0xFE19, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF5B, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF61, 0xFF62, 0xFF64, 0x1F676, 0x1F679 }; # endif /* EBCDIC 037 */ static const UV UNI_SB__EX_invlist[] = { /* for all charsets */ 587, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200E, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFF9E, 0xFFA0, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__FO_invlist[] = { /* for ASCII/Latin1 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__FO_invlist[] = { /* for EBCDIC 1047 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__FO_invlist[] = { /* for EBCDIC 037 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200B, 0x200C, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* EBCDIC 037 */ static const UV UNI_SB__LE_invlist[] = { /* for all charsets */ 1039, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BB, 0x1BC, 0x1C0, 0x1C4, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C6, 0x2D2, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x374, 0x375, 0x559, 0x55A, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE34, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x2135, 0x2139, 0x2180, 0x2183, 0x2185, 0x2189, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA66E, 0xA66F, 0xA67F, 0xA680, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA788, 0xA789, 0xA78F, 0xA790, 0xA7F7, 0xA7F8, 0xA7FB, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB69, 0xAB6A, 0xABC0, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10450, 0x1049E, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__LO_invlist[] = { /* for ASCII/Latin1 */ 1299, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xDF, 0xF7, 0xF8, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 1047 */ 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__LO_invlist[] = { /* for EBCDIC 037 */ 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x70, 0x71, 0x81, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0xA0, 0xA1, 0xA2, 0xAA, 0xCB, 0xD0, 0xDB, 0xE0, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BB, 0x1BD, 0x1C0, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x294, 0x295, 0x2B9, 0x2C0, 0x2C2, 0x2E0, 0x2E5, 0x371, 0x372, 0x373, 0x374, 0x377, 0x378, 0x37A, 0x37E, 0x390, 0x391, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F6, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x482, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x530, 0x560, 0x589, 0x13F8, 0x13FE, 0x1C80, 0x1C89, 0x1D00, 0x1DC0, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F16, 0x1F20, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F46, 0x1F50, 0x1F58, 0x1F60, 0x1F68, 0x1F70, 0x1F7E, 0x1F80, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB5, 0x1FB6, 0x1FB8, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FC8, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FD8, 0x1FE0, 0x1FE8, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FF8, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x210A, 0x210B, 0x210E, 0x2110, 0x2113, 0x2114, 0x212F, 0x2130, 0x2134, 0x2135, 0x2139, 0x213A, 0x213C, 0x213E, 0x2146, 0x214A, 0x214E, 0x214F, 0x2170, 0x2180, 0x2184, 0x2185, 0x24D0, 0x24EA, 0x2C30, 0x2C5F, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CE5, 0x2CEC, 0x2CED, 0x2CEE, 0x2CEF, 0x2CF3, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA66E, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA69E, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA788, 0xA78C, 0xA78D, 0xA78E, 0xA78F, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7CB, 0xA7F6, 0xA7F7, 0xA7F8, 0xA7FB, 0xAB30, 0xAB5B, 0xAB5C, 0xAB69, 0xAB70, 0xABC0, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFF41, 0xFF5B, 0x10428, 0x10450, 0x104D8, 0x104FC, 0x10CC0, 0x10CF3, 0x118C0, 0x118E0, 0x16E60, 0x16E80, 0x1D41A, 0x1D434, 0x1D44E, 0x1D455, 0x1D456, 0x1D468, 0x1D482, 0x1D49C, 0x1D4B6, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D51E, 0x1D538, 0x1D552, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A6, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6E2, 0x1D6FC, 0x1D715, 0x1D716, 0x1D71C, 0x1D736, 0x1D74F, 0x1D750, 0x1D756, 0x1D770, 0x1D789, 0x1D78A, 0x1D790, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CA, 0x1D7CB, 0x1D7CC, 0x1E922, 0x1E944 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__NU_invlist[] = { /* for ASCII/Latin1 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 1047 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__NU_invlist[] = { /* for EBCDIC 037 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66D, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__SC_invlist[] = { /* for ASCII/Latin1 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C, 0x2E, 0x3A, 0x3B, 0x55D, 0x55E, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x1802, 0x1803, 0x1808, 0x1809, 0x2013, 0x2015, 0x3001, 0x3002, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE31, 0xFE33, 0xFE50, 0xFE52, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0C, 0xFF0E, 0xFF1A, 0xFF1B, 0xFF64, 0xFF65 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__SC_invlist[] = { /* for EBCDIC 1047 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x6B, 0x6C, 0x7A, 0x7B, 0x55D, 0x55E, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x1802, 0x1803, 0x1808, 0x1809, 0x2013, 0x2015, 0x3001, 0x3002, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE31, 0xFE33, 0xFE50, 0xFE52, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0C, 0xFF0E, 0xFF1A, 0xFF1B, 0xFF64, 0xFF65 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__SC_invlist[] = { /* for EBCDIC 037 */ 41, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60, 0x61, 0x6B, 0x6C, 0x7A, 0x7B, 0x55D, 0x55E, 0x60C, 0x60E, 0x7F8, 0x7F9, 0x1802, 0x1803, 0x1808, 0x1809, 0x2013, 0x2015, 0x3001, 0x3002, 0xFE10, 0xFE12, 0xFE13, 0xFE14, 0xFE31, 0xFE33, 0xFE50, 0xFE52, 0xFE55, 0xFE56, 0xFE58, 0xFE59, 0xFE63, 0xFE64, 0xFF0C, 0xFF0E, 0xFF1A, 0xFF1B, 0xFF64, 0xFF65 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__SE_invlist[] = { /* for ASCII/Latin1 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x85, 0x86, 0x2028, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__SE_invlist[] = { /* for EBCDIC 1047 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x25, 0x26, 0x2028, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__SE_invlist[] = { /* for EBCDIC 037 */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x15, 0x16, 0x2028, 0x202A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__SP_invlist[] = { /* for ASCII/Latin1 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xA, 0xB, 0xD, 0x20, 0x21, 0xA0, 0xA1, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__SP_invlist[] = { /* for EBCDIC 1047 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__SP_invlist[] = { /* for EBCDIC 037 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xD, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__ST_invlist[] = { /* for ASCII/Latin1 */ 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x22, 0x3F, 0x40, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 1047 */ 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5A, 0x5B, 0x6F, 0x70, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__ST_invlist[] = { /* for EBCDIC 037 */ 147, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5A, 0x5B, 0x6F, 0x70, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__UP_invlist[] = { /* for ASCII/Latin1 */ 1289, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0xC0, 0xD7, 0xD8, 0xDF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 1047 */ 1307, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__UP_invlist[] = { /* for EBCDIC 037 */ 1303, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x62, 0x6A, 0x71, 0x79, 0x80, 0x81, 0x9E, 0x9F, 0xAC, 0xAF, 0xC1, 0xCA, 0xD1, 0xDA, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x101, 0x102, 0x103, 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B, 0x10C, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117, 0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125, 0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133, 0x134, 0x135, 0x136, 0x137, 0x139, 0x13A, 0x13B, 0x13C, 0x13D, 0x13E, 0x13F, 0x140, 0x141, 0x142, 0x143, 0x144, 0x145, 0x146, 0x147, 0x148, 0x14A, 0x14B, 0x14C, 0x14D, 0x14E, 0x14F, 0x150, 0x151, 0x152, 0x153, 0x154, 0x155, 0x156, 0x157, 0x158, 0x159, 0x15A, 0x15B, 0x15C, 0x15D, 0x15E, 0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0x16B, 0x16C, 0x16D, 0x16E, 0x16F, 0x170, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x177, 0x178, 0x17A, 0x17B, 0x17C, 0x17D, 0x17E, 0x181, 0x183, 0x184, 0x185, 0x186, 0x188, 0x189, 0x18C, 0x18E, 0x192, 0x193, 0x195, 0x196, 0x199, 0x19C, 0x19E, 0x19F, 0x1A1, 0x1A2, 0x1A3, 0x1A4, 0x1A5, 0x1A6, 0x1A8, 0x1A9, 0x1AA, 0x1AC, 0x1AD, 0x1AE, 0x1B0, 0x1B1, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B9, 0x1BC, 0x1BD, 0x1C4, 0x1C6, 0x1C7, 0x1C9, 0x1CA, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3, 0x1D4, 0x1D5, 0x1D6, 0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DE, 0x1DF, 0x1E0, 0x1E1, 0x1E2, 0x1E3, 0x1E4, 0x1E5, 0x1E6, 0x1E7, 0x1E8, 0x1E9, 0x1EA, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1EF, 0x1F1, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F9, 0x1FA, 0x1FB, 0x1FC, 0x1FD, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20D, 0x20E, 0x20F, 0x210, 0x211, 0x212, 0x213, 0x214, 0x215, 0x216, 0x217, 0x218, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x21E, 0x21F, 0x220, 0x221, 0x222, 0x223, 0x224, 0x225, 0x226, 0x227, 0x228, 0x229, 0x22A, 0x22B, 0x22C, 0x22D, 0x22E, 0x22F, 0x230, 0x231, 0x232, 0x233, 0x23A, 0x23C, 0x23D, 0x23F, 0x241, 0x242, 0x243, 0x247, 0x248, 0x249, 0x24A, 0x24B, 0x24C, 0x24D, 0x24E, 0x24F, 0x370, 0x371, 0x372, 0x373, 0x376, 0x377, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x390, 0x391, 0x3A2, 0x3A3, 0x3AC, 0x3CF, 0x3D0, 0x3D2, 0x3D5, 0x3D8, 0x3D9, 0x3DA, 0x3DB, 0x3DC, 0x3DD, 0x3DE, 0x3DF, 0x3E0, 0x3E1, 0x3E2, 0x3E3, 0x3E4, 0x3E5, 0x3E6, 0x3E7, 0x3E8, 0x3E9, 0x3EA, 0x3EB, 0x3EC, 0x3ED, 0x3EE, 0x3EF, 0x3F4, 0x3F5, 0x3F7, 0x3F8, 0x3F9, 0x3FB, 0x3FD, 0x430, 0x460, 0x461, 0x462, 0x463, 0x464, 0x465, 0x466, 0x467, 0x468, 0x469, 0x46A, 0x46B, 0x46C, 0x46D, 0x46E, 0x46F, 0x470, 0x471, 0x472, 0x473, 0x474, 0x475, 0x476, 0x477, 0x478, 0x479, 0x47A, 0x47B, 0x47C, 0x47D, 0x47E, 0x47F, 0x480, 0x481, 0x48A, 0x48B, 0x48C, 0x48D, 0x48E, 0x48F, 0x490, 0x491, 0x492, 0x493, 0x494, 0x495, 0x496, 0x497, 0x498, 0x499, 0x49A, 0x49B, 0x49C, 0x49D, 0x49E, 0x49F, 0x4A0, 0x4A1, 0x4A2, 0x4A3, 0x4A4, 0x4A5, 0x4A6, 0x4A7, 0x4A8, 0x4A9, 0x4AA, 0x4AB, 0x4AC, 0x4AD, 0x4AE, 0x4AF, 0x4B0, 0x4B1, 0x4B2, 0x4B3, 0x4B4, 0x4B5, 0x4B6, 0x4B7, 0x4B8, 0x4B9, 0x4BA, 0x4BB, 0x4BC, 0x4BD, 0x4BE, 0x4BF, 0x4C0, 0x4C2, 0x4C3, 0x4C4, 0x4C5, 0x4C6, 0x4C7, 0x4C8, 0x4C9, 0x4CA, 0x4CB, 0x4CC, 0x4CD, 0x4CE, 0x4D0, 0x4D1, 0x4D2, 0x4D3, 0x4D4, 0x4D5, 0x4D6, 0x4D7, 0x4D8, 0x4D9, 0x4DA, 0x4DB, 0x4DC, 0x4DD, 0x4DE, 0x4DF, 0x4E0, 0x4E1, 0x4E2, 0x4E3, 0x4E4, 0x4E5, 0x4E6, 0x4E7, 0x4E8, 0x4E9, 0x4EA, 0x4EB, 0x4EC, 0x4ED, 0x4EE, 0x4EF, 0x4F0, 0x4F1, 0x4F2, 0x4F3, 0x4F4, 0x4F5, 0x4F6, 0x4F7, 0x4F8, 0x4F9, 0x4FA, 0x4FB, 0x4FC, 0x4FD, 0x4FE, 0x4FF, 0x500, 0x501, 0x502, 0x503, 0x504, 0x505, 0x506, 0x507, 0x508, 0x509, 0x50A, 0x50B, 0x50C, 0x50D, 0x50E, 0x50F, 0x510, 0x511, 0x512, 0x513, 0x514, 0x515, 0x516, 0x517, 0x518, 0x519, 0x51A, 0x51B, 0x51C, 0x51D, 0x51E, 0x51F, 0x520, 0x521, 0x522, 0x523, 0x524, 0x525, 0x526, 0x527, 0x528, 0x529, 0x52A, 0x52B, 0x52C, 0x52D, 0x52E, 0x52F, 0x531, 0x557, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x13A0, 0x13F6, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F, 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37, 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F, 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47, 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F, 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57, 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F, 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67, 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F, 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77, 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F, 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87, 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F, 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9E, 0x1E9F, 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7, 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF, 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7, 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF, 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7, 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF, 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7, 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF, 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7, 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF, 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7, 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF, 0x1F08, 0x1F10, 0x1F18, 0x1F1E, 0x1F28, 0x1F30, 0x1F38, 0x1F40, 0x1F48, 0x1F4E, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F60, 0x1F68, 0x1F70, 0x1F88, 0x1F90, 0x1F98, 0x1FA0, 0x1FA8, 0x1FB0, 0x1FB8, 0x1FBD, 0x1FC8, 0x1FCD, 0x1FD8, 0x1FDC, 0x1FE8, 0x1FED, 0x1FF8, 0x1FFD, 0x2102, 0x2103, 0x2107, 0x2108, 0x210B, 0x210E, 0x2110, 0x2113, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x2130, 0x2134, 0x213E, 0x2140, 0x2145, 0x2146, 0x2160, 0x2170, 0x2183, 0x2184, 0x24B6, 0x24D0, 0x2C00, 0x2C2F, 0x2C60, 0x2C61, 0x2C62, 0x2C65, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C71, 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87, 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F, 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97, 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F, 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7, 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF, 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7, 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF, 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7, 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF, 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7, 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF, 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE, 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645, 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D, 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655, 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D, 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665, 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D, 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687, 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F, 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697, 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725, 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D, 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737, 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F, 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F, 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757, 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F, 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767, 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0xA77F, 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787, 0xA78B, 0xA78C, 0xA78D, 0xA78E, 0xA790, 0xA791, 0xA792, 0xA793, 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D, 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5, 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0xA7AF, 0xA7B0, 0xA7B5, 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD, 0xA7BE, 0xA7BF, 0xA7C2, 0xA7C3, 0xA7C4, 0xA7C8, 0xA7C9, 0xA7CA, 0xA7F5, 0xA7F6, 0xFF21, 0xFF3B, 0x10400, 0x10428, 0x104B0, 0x104D4, 0x10C80, 0x10CB3, 0x118A0, 0x118C0, 0x16E40, 0x16E60, 0x1D400, 0x1D41A, 0x1D434, 0x1D44E, 0x1D468, 0x1D482, 0x1D49C, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4B6, 0x1D4D0, 0x1D4EA, 0x1D504, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D538, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D56C, 0x1D586, 0x1D5A0, 0x1D5BA, 0x1D5D4, 0x1D5EE, 0x1D608, 0x1D622, 0x1D63C, 0x1D656, 0x1D670, 0x1D68A, 0x1D6A8, 0x1D6C1, 0x1D6E2, 0x1D6FB, 0x1D71C, 0x1D735, 0x1D756, 0x1D76F, 0x1D790, 0x1D7A9, 0x1D7CA, 0x1D7CB, 0x1E900, 0x1E922, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SB__XX_invlist[] = { /* for ASCII/Latin1 */ 1611, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x23, 0x27, 0x2A, 0x2C, 0x2F, 0x30, 0x3B, 0x3F, 0x40, 0x41, 0x5C, 0x5D, 0x5E, 0x61, 0x7C, 0x7D, 0x7E, 0x85, 0x86, 0xA0, 0xA1, 0xAA, 0xAC, 0xAD, 0xAE, 0xB5, 0xB6, 0xBA, 0xBC, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x66A, 0x66B, 0x66D, 0x66E, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x703, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104C, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1808, 0x180A, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x204A, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3003, 0x3005, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA60D, 0xA60E, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA92F, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE53, 0xFE55, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF10, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF65, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11049, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11141, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C7, 0x111C9, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115DE, 0x11600, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9B, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B39, 0x16B40, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 1047 */ 1631, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x51, 0x5B, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6B, 0x6C, 0x6F, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xBA, 0xBB, 0xBD, 0xBE, 0xC0, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x66A, 0x66B, 0x66D, 0x66E, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x703, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104C, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1808, 0x180A, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x204A, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3003, 0x3005, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA60D, 0xA60E, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA92F, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE53, 0xFE55, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF10, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF65, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11049, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11141, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C7, 0x111C9, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115DE, 0x11600, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9B, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B39, 0x16B40, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SB__XX_invlist[] = { /* for EBCDIC 037 */ 1629, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x51, 0x5B, 0x5D, 0x5E, 0x60, 0x61, 0x62, 0x6A, 0x6B, 0x6C, 0x6F, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xBA, 0xBC, 0xC0, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x55D, 0x55E, 0x560, 0x58A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F4, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x61E, 0x66A, 0x66B, 0x66D, 0x66E, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x703, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104C, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1362, 0x1363, 0x1367, 0x1369, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166E, 0x169D, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x1802, 0x1804, 0x1808, 0x180A, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AAC, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5C, 0x1B5E, 0x1B60, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C3B, 0x1C3D, 0x1C40, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2010, 0x2013, 0x2015, 0x2018, 0x2020, 0x2024, 0x2025, 0x2028, 0x2030, 0x2039, 0x203B, 0x203C, 0x203E, 0x2045, 0x204A, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207D, 0x2080, 0x208D, 0x208F, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2308, 0x230C, 0x2329, 0x232B, 0x24B6, 0x24EA, 0x275B, 0x2761, 0x2768, 0x2776, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E0E, 0x2E1C, 0x2E1E, 0x2E20, 0x2E2A, 0x2E2E, 0x2E30, 0x2E3C, 0x2E3D, 0x2E42, 0x2E43, 0x3000, 0x3003, 0x3005, 0x3012, 0x3014, 0x301C, 0x301D, 0x3020, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA4FF, 0xA60D, 0xA60E, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA876, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA92F, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9C8, 0xA9CA, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5D, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE12, 0xFE13, 0xFE14, 0xFE17, 0xFE19, 0xFE20, 0xFE30, 0xFE31, 0xFE33, 0xFE35, 0xFE45, 0xFE47, 0xFE49, 0xFE50, 0xFE53, 0xFE55, 0xFE5F, 0xFE63, 0xFE64, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF10, 0xFF1B, 0xFF1F, 0xFF20, 0xFF21, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF41, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFF65, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A56, 0x10A58, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10F55, 0x10F5A, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11049, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11141, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C7, 0x111C9, 0x111DB, 0x111DC, 0x111DD, 0x111DE, 0x111E0, 0x11200, 0x11212, 0x11213, 0x1123A, 0x1123B, 0x1123D, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144D, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115C2, 0x115C4, 0x115C9, 0x115DE, 0x11600, 0x11643, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x1173C, 0x1173F, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11945, 0x11946, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A42, 0x11A44, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9B, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C43, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B39, 0x16B40, 0x16B45, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16E98, 0x16E99, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA88, 0x1DA89, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F676, 0x1F679, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SC_invlist[] = { /* for ASCII/Latin1 */ 43, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x24, 0x25, 0xA2, 0xA6, 0x58F, 0x590, 0x60B, 0x60C, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20C0, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300, 0x1ECB0, 0x1ECB1 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SC_invlist[] = { /* for EBCDIC 1047 */ 47, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x5B, 0x5C, 0x9F, 0xA0, 0xB1, 0xB3, 0x58F, 0x590, 0x60B, 0x60C, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20C0, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300, 0x1ECB0, 0x1ECB1 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SC_invlist[] = { /* for EBCDIC 037 */ 47, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4A, 0x4B, 0x5B, 0x5C, 0x9F, 0xA0, 0xB1, 0xB3, 0x58F, 0x590, 0x60B, 0x60C, 0x7FE, 0x800, 0x9F2, 0x9F4, 0x9FB, 0x9FC, 0xAF1, 0xAF2, 0xBF9, 0xBFA, 0xE3F, 0xE40, 0x17DB, 0x17DC, 0x20A0, 0x20C0, 0xA838, 0xA839, 0xFDFC, 0xFDFD, 0xFE69, 0xFE6A, 0xFF04, 0xFF05, 0xFFE0, 0xFFE2, 0xFFE5, 0xFFE7, 0x11FDD, 0x11FE1, 0x1E2FF, 0x1E300, 0x1ECB0, 0x1ECB1 }; # endif /* EBCDIC 037 */ static const UV UNI_SC__ADLM_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960 }; static const UV UNI_SC__ARAB_invlist[] = { /* for all charsets */ 115, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x600, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61D, 0x61E, 0x61F, 0x620, 0x640, 0x641, 0x64B, 0x656, 0x670, 0x671, 0x6DD, 0x6DE, 0x700, 0x750, 0x780, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x900, 0xFB50, 0xFBC2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0x10E60, 0x10E7F, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2 }; static const UV UNI_SC__BENG_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x980, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF }; static const UV UNI_SC__BOPO_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2EA, 0x2EC, 0x3105, 0x3130, 0x31A0, 0x31C0 }; static const UV UNI_SC__BUGI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1A00, 0x1A1C, 0x1A1E, 0x1A20 }; static const UV UNI_SC__BUHD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1740, 0x1754 }; static const UV UNI_SC__CAKM_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11100, 0x11135, 0x11136, 0x11148 }; static const UV UNI_SC__COPT_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3E2, 0x3F0, 0x2C80, 0x2CF4, 0x2CF9, 0x2D00 }; static const UV UNI_SC__CPRT_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10840 }; static const UV UNI_SC__CYRL_invlist[] = { /* for all charsets */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x400, 0x485, 0x487, 0x530, 0x1C80, 0x1C89, 0x1D2B, 0x1D2C, 0x1D78, 0x1D79, 0x2DE0, 0x2E00, 0xA640, 0xA6A0, 0xFE2E, 0xFE30 }; static const UV UNI_SC__DEVA_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x900, 0x951, 0x955, 0x964, 0x966, 0x980, 0xA8E0, 0xA900 }; static const UV UNI_SC__DOGR_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11800, 0x1183C }; static const UV UNI_SC__DUPL_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA0 }; static const UV UNI_SC__GEOR_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1100, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E }; static const UV UNI_SC__GLAG_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B }; static const UV UNI_SC__GONG_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA }; static const UV UNI_SC__GONM_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A }; static const UV UNI_SC__GRAN_invlist[] = { /* for all charsets */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133C, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375 }; static const UV UNI_SC__GREK_invlist[] = { /* for all charsets */ 73, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x370, 0x374, 0x375, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x384, 0x385, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3E2, 0x3F0, 0x400, 0x1D26, 0x1D2B, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1DBF, 0x1DC0, 0x1F00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2126, 0x2127, 0xAB65, 0xAB66, 0x10140, 0x1018F, 0x101A0, 0x101A1, 0x1D200, 0x1D246 }; static const UV UNI_SC__GUJR_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00 }; static const UV UNI_SC__GURU_invlist[] = { /* for all charsets */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77 }; static const UV UNI_SC__HAN_invlist[] = { /* for all charsets */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x3005, 0x3006, 0x3007, 0x3008, 0x3021, 0x302A, 0x3038, 0x303C, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0x16FF0, 0x16FF2, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; static const UV UNI_SC__HANG_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1100, 0x1200, 0x302E, 0x3030, 0x3131, 0x318F, 0x3200, 0x321F, 0x3260, 0x327F, 0xA960, 0xA97D, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD }; static const UV UNI_SC__HANO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1720, 0x1735 }; static const UV UNI_SC__HIRA_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3041, 0x3097, 0x309D, 0x30A0, 0x1B001, 0x1B11F, 0x1B150, 0x1B153, 0x1F200, 0x1F201 }; static const UV UNI_SC__JAVA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA980, 0xA9CE, 0xA9D0, 0xA9DA, 0xA9DE, 0xA9E0 }; static const UV UNI_SC__KALI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA900, 0xA92E, 0xA92F, 0xA930 }; static const UV UNI_SC__KANA_invlist[] = { /* for all charsets */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30A1, 0x30FB, 0x30FD, 0x3100, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0x1B000, 0x1B001, 0x1B164, 0x1B168 }; static const UV UNI_SC__KHOJ_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11200, 0x11212, 0x11213, 0x1123F }; static const UV UNI_SC__KNDA_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC80, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3 }; static const UV UNI_SC__KTHI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11080, 0x110C2, 0x110CD, 0x110CE }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SC__LATN_invlist[] = { /* for ASCII/Latin1 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SC__LATN_invlist[] = { /* for EBCDIC 1047 */ 91, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SC__LATN_invlist[] = { /* for EBCDIC 037 */ 87, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x1D00, 0x1D26, 0x1D2C, 0x1D5D, 0x1D62, 0x1D66, 0x1D6B, 0x1D78, 0x1D79, 0x1DBF, 0x1E00, 0x1F00, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C60, 0x2C80, 0xA722, 0xA788, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA800, 0xAB30, 0xAB5B, 0xAB5C, 0xAB65, 0xAB66, 0xAB6A, 0xFB00, 0xFB07, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B }; # endif /* EBCDIC 037 */ static const UV UNI_SC__LIMB_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x1950 }; static const UV UNI_SC__LINA_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768 }; static const UV UNI_SC__LINB_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB }; static const UV UNI_SC__MAHJ_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11150, 0x11177 }; static const UV UNI_SC__MAND_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x840, 0x85C, 0x85E, 0x85F }; static const UV UNI_SC__MANI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7 }; static const UV UNI_SC__MLYM_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80 }; static const UV UNI_SC__MODI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11600, 0x11645, 0x11650, 0x1165A }; static const UV UNI_SC__MONG_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1800, 0x1802, 0x1804, 0x1805, 0x1806, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x11660, 0x1166D }; static const UV UNI_SC__MULT_invlist[] = { /* for all charsets */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA }; static const UV UNI_SC__MYMR_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1000, 0x10A0, 0xA9E0, 0xA9FF, 0xAA60, 0xAA80 }; static const UV UNI_SC__NAND_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5 }; static const UV UNI_SC__ORYA_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78 }; static const UV UNI_SC__PERM_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10350, 0x1037B }; static const UV UNI_SC__PHAG_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA840, 0xA878 }; static const UV UNI_SC__PHLP_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10B80, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0 }; static const UV UNI_SC__QAAI_invlist[] = { /* for all charsets */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x485, 0x487, 0x64B, 0x656, 0x670, 0x671, 0x951, 0x955, 0x1AB0, 0x1AC1, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200E, 0x20D0, 0x20F1, 0x302A, 0x302E, 0x3099, 0x309B, 0xFE00, 0xFE10, 0xFE20, 0xFE2E, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x1133B, 0x1133C, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0xE0100, 0xE01F0 }; static const UV UNI_SC__ROHG_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10D00, 0x10D28, 0x10D30, 0x10D3A }; static const UV UNI_SC__SHRD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11180, 0x111E0 }; static const UV UNI_SC__SIND_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x112B0, 0x112EB, 0x112F0, 0x112FA }; static const UV UNI_SC__SINH_invlist[] = { /* for all charsets */ 27, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0x111E1, 0x111F5 }; static const UV UNI_SC__SOGD_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10F30, 0x10F5A }; static const UV UNI_SC__SYLO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA800, 0xA82D }; static const UV UNI_SC__SYRC_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x860, 0x86B }; static const UV UNI_SC__TAGB_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774 }; static const UV UNI_SC__TAKR_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11680, 0x116B9, 0x116C0, 0x116CA }; static const UV UNI_SC__TALE_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1950, 0x196E, 0x1970, 0x1975 }; static const UV UNI_SC__TAML_invlist[] = { /* for all charsets */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000 }; static const UV UNI_SC__TELU_invlist[] = { /* for all charsets */ 25, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC80 }; static const UV UNI_SC__TGLG_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1700, 0x170D, 0x170E, 0x1715 }; static const UV UNI_SC__THAA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x780, 0x7B2 }; static const UV UNI_SC__TIRH_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11480, 0x114C8, 0x114D0, 0x114DA }; static const UV UNI_SC__YEZI_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2 }; static const UV UNI_SC__YI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA000, 0xA48D, 0xA490, 0xA4C7 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */ 346, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x640, 0x641, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0x964, 0x966, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x10FB, 0x10FC, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x1802, 0x1804, 0x1805, 0x1806, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x2000, 0x200C, 0x200E, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3006, 0x3007, 0x3008, 0x3021, 0x3030, 0x3038, 0x303C, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FD, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x3220, 0x3260, 0x327F, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3400, 0x4DC0, 0x4E00, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA830, 0xA83A, 0xA92E, 0xA92F, 0xA9CF, 0xA9D0, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x16FE2, 0x16FE4, 0x1BCA0, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */ 372, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x640, 0x641, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0x964, 0x966, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x10FB, 0x10FC, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x1802, 0x1804, 0x1805, 0x1806, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x2000, 0x200C, 0x200E, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3006, 0x3007, 0x3008, 0x3021, 0x3030, 0x3038, 0x303C, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FD, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x3220, 0x3260, 0x327F, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3400, 0x4DC0, 0x4E00, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA830, 0xA83A, 0xA92E, 0xA92F, 0xA9CF, 0xA9D0, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x16FE2, 0x16FE4, 0x1BCA0, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */ 368, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x640, 0x641, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0x964, 0x966, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x10FB, 0x10FC, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x1802, 0x1804, 0x1805, 0x1806, 0x1CD3, 0x1CD4, 0x1CE1, 0x1CE2, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF8, 0x1CFA, 0x1CFB, 0x2000, 0x200C, 0x200E, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3005, 0x3006, 0x3007, 0x3008, 0x3021, 0x3030, 0x3038, 0x303C, 0x3040, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FD, 0x3190, 0x31A0, 0x31C0, 0x31E4, 0x3220, 0x3260, 0x327F, 0x32D0, 0x32FF, 0x3300, 0x3358, 0x3400, 0x4DC0, 0x4E00, 0xA700, 0xA722, 0xA788, 0xA78B, 0xA830, 0xA83A, 0xA92E, 0xA92F, 0xA9CF, 0xA9D0, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF70, 0xFF71, 0xFF9E, 0xFFA0, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x10140, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x102E1, 0x102FC, 0x16FE2, 0x16FE4, 0x1BCA0, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SD_invlist[] = { /* for ASCII/Latin1 */ 63, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x69, 0x6B, 0x12F, 0x130, 0x249, 0x24A, 0x268, 0x269, 0x29D, 0x29E, 0x2B2, 0x2B3, 0x3F3, 0x3F4, 0x456, 0x457, 0x458, 0x459, 0x1D62, 0x1D63, 0x1D96, 0x1D97, 0x1DA4, 0x1DA5, 0x1DA8, 0x1DA9, 0x1E2D, 0x1E2E, 0x1ECB, 0x1ECC, 0x2071, 0x2072, 0x2148, 0x214A, 0x2C7C, 0x2C7D, 0x1D422, 0x1D424, 0x1D456, 0x1D458, 0x1D48A, 0x1D48C, 0x1D4BE, 0x1D4C0, 0x1D4F2, 0x1D4F4, 0x1D526, 0x1D528, 0x1D55A, 0x1D55C, 0x1D58E, 0x1D590, 0x1D5C2, 0x1D5C4, 0x1D5F6, 0x1D5F8, 0x1D62A, 0x1D62C, 0x1D65E, 0x1D660, 0x1D692, 0x1D694 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SD_invlist[] = { /* for EBCDIC 1047 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x89, 0x8A, 0x91, 0x92, 0x12F, 0x130, 0x249, 0x24A, 0x268, 0x269, 0x29D, 0x29E, 0x2B2, 0x2B3, 0x3F3, 0x3F4, 0x456, 0x457, 0x458, 0x459, 0x1D62, 0x1D63, 0x1D96, 0x1D97, 0x1DA4, 0x1DA5, 0x1DA8, 0x1DA9, 0x1E2D, 0x1E2E, 0x1ECB, 0x1ECC, 0x2071, 0x2072, 0x2148, 0x214A, 0x2C7C, 0x2C7D, 0x1D422, 0x1D424, 0x1D456, 0x1D458, 0x1D48A, 0x1D48C, 0x1D4BE, 0x1D4C0, 0x1D4F2, 0x1D4F4, 0x1D526, 0x1D528, 0x1D55A, 0x1D55C, 0x1D58E, 0x1D590, 0x1D5C2, 0x1D5C4, 0x1D5F6, 0x1D5F8, 0x1D62A, 0x1D62C, 0x1D65E, 0x1D660, 0x1D692, 0x1D694 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SD_invlist[] = { /* for EBCDIC 037 */ 65, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x89, 0x8A, 0x91, 0x92, 0x12F, 0x130, 0x249, 0x24A, 0x268, 0x269, 0x29D, 0x29E, 0x2B2, 0x2B3, 0x3F3, 0x3F4, 0x456, 0x457, 0x458, 0x459, 0x1D62, 0x1D63, 0x1D96, 0x1D97, 0x1DA4, 0x1DA5, 0x1DA8, 0x1DA9, 0x1E2D, 0x1E2E, 0x1ECB, 0x1ECC, 0x2071, 0x2072, 0x2148, 0x214A, 0x2C7C, 0x2C7D, 0x1D422, 0x1D424, 0x1D456, 0x1D458, 0x1D48A, 0x1D48C, 0x1D4BE, 0x1D4C0, 0x1D4F2, 0x1D4F4, 0x1D526, 0x1D528, 0x1D55A, 0x1D55C, 0x1D58E, 0x1D590, 0x1D5C2, 0x1D5C4, 0x1D5F6, 0x1D5F8, 0x1D62A, 0x1D62C, 0x1D65E, 0x1D660, 0x1D692, 0x1D694 }; # endif /* EBCDIC 037 */ static const UV UNI_SGNW_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D800, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0 }; static const UV UNI_SHAW_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10450, 0x10480 }; static const UV UNI_SHORTHANDFORMATCONTROLS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1BCA0, 0x1BCB0 }; static const UV UNI_SHRD_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x952, 0x1CD7, 0x1CD8, 0x1CD9, 0x1CDA, 0x1CDC, 0x1CDE, 0x1CE0, 0x1CE1, 0x11180, 0x111E0 }; static const UV UNI_SIDD_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11580, 0x115B6, 0x115B8, 0x115DE }; static const UV UNI_SIND_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0xA830, 0xA83A, 0x112B0, 0x112EB, 0x112F0, 0x112FA }; static const UV UNI_SINH_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0x111E1, 0x111F5 }; static const UV UNI_SINHALAARCHAICNUMBERS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x111E0, 0x11200 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SK_invlist[] = { /* for ASCII/Latin1 */ 61, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5E, 0x5F, 0x60, 0x61, 0xA8, 0xA9, 0xAF, 0xB0, 0xB4, 0xB5, 0xB8, 0xB9, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x309B, 0x309D, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFFE3, 0xFFE4, 0x1F3FB, 0x1F400 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SK_invlist[] = { /* for EBCDIC 1047 */ 59, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5F, 0x60, 0x79, 0x7A, 0x9D, 0x9E, 0xBB, 0xBD, 0xBE, 0xBF, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x309B, 0x309D, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFFE3, 0xFFE4, 0x1F3FB, 0x1F400 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SK_invlist[] = { /* for EBCDIC 037 */ 57, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x79, 0x7A, 0x9D, 0x9E, 0xB0, 0xB1, 0xBC, 0xBF, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x384, 0x386, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FCD, 0x1FD0, 0x1FDD, 0x1FE0, 0x1FED, 0x1FF0, 0x1FFD, 0x1FFF, 0x309B, 0x309D, 0xA700, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFBB2, 0xFBC2, 0xFF3E, 0xFF3F, 0xFF40, 0xFF41, 0xFFE3, 0xFFE4, 0x1F3FB, 0x1F400 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SM_invlist[] = { /* for ASCII/Latin1 */ 129, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2B, 0x2C, 0x3C, 0x3F, 0x7C, 0x7D, 0x7E, 0x7F, 0xAC, 0xAD, 0xB1, 0xB2, 0xD7, 0xD8, 0xF7, 0xF8, 0x3F6, 0x3F7, 0x606, 0x609, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x2118, 0x2119, 0x2140, 0x2145, 0x214B, 0x214C, 0x2190, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x27C0, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2800, 0x2900, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SM_invlist[] = { /* for EBCDIC 1047 */ 131, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4D, 0x4E, 0x50, 0x6E, 0x6F, 0x7E, 0x7F, 0x8F, 0x90, 0xA1, 0xA2, 0xB0, 0xB1, 0xBF, 0xC0, 0xE1, 0xE2, 0x3F6, 0x3F7, 0x606, 0x609, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x2118, 0x2119, 0x2140, 0x2145, 0x214B, 0x214C, 0x2190, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x27C0, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2800, 0x2900, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SM_invlist[] = { /* for EBCDIC 037 */ 131, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4C, 0x4D, 0x4E, 0x50, 0x5F, 0x60, 0x6E, 0x6F, 0x7E, 0x7F, 0x8F, 0x90, 0xA1, 0xA2, 0xBF, 0xC0, 0xE1, 0xE2, 0x3F6, 0x3F7, 0x606, 0x609, 0x2044, 0x2045, 0x2052, 0x2053, 0x207A, 0x207D, 0x208A, 0x208D, 0x2118, 0x2119, 0x2140, 0x2145, 0x214B, 0x214C, 0x2190, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2320, 0x2322, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x27C0, 0x27C5, 0x27C7, 0x27E6, 0x27F0, 0x2800, 0x2900, 0x2983, 0x2999, 0x29D8, 0x29DC, 0x29FC, 0x29FE, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0xFB29, 0xFB2A, 0xFE62, 0xFE63, 0xFE64, 0xFE67, 0xFF0B, 0xFF0C, 0xFF1C, 0xFF1F, 0xFF5C, 0xFF5D, 0xFF5E, 0xFF5F, 0xFFE2, 0xFFE3, 0xFFE9, 0xFFED, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1EEF0, 0x1EEF2 }; # endif /* EBCDIC 037 */ static const UV UNI_SMALLFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE50, 0xFE70 }; static const UV UNI_SMALLKANAEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B130, 0x1B170 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_SO_invlist[] = { /* for ASCII/Latin1 */ 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA6, 0xA7, 0xA9, 0xAA, 0xAE, 0xAF, 0xB0, 0xB1, 0x482, 0x483, 0x58D, 0x58F, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x9FA, 0x9FB, 0xB70, 0xB71, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x214A, 0x214B, 0x214C, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x2768, 0x2794, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA828, 0xA82C, 0xA836, 0xA838, 0xA839, 0xA83A, 0xAA77, 0xAA7A, 0xFDFD, 0xFDFE, 0xFFE4, 0xFFE5, 0xFFE8, 0xFFE9, 0xFFED, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1ECAC, 0x1ECAD, 0x1ED2E, 0x1ED2F, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F3FB, 0x1F400, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_SO_invlist[] = { /* for EBCDIC 1047 */ 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6A, 0x6B, 0x90, 0x91, 0xAF, 0xB0, 0xB4, 0xB5, 0x482, 0x483, 0x58D, 0x58F, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x9FA, 0x9FB, 0xB70, 0xB71, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x214A, 0x214B, 0x214C, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x2768, 0x2794, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA828, 0xA82C, 0xA836, 0xA838, 0xA839, 0xA83A, 0xAA77, 0xAA7A, 0xFDFD, 0xFDFE, 0xFFE4, 0xFFE5, 0xFFE8, 0xFFE9, 0xFFED, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1ECAC, 0x1ECAD, 0x1ED2E, 0x1ED2F, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F3FB, 0x1F400, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_SO_invlist[] = { /* for EBCDIC 037 */ 365, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6A, 0x6B, 0x90, 0x91, 0xAF, 0xB0, 0xB4, 0xB5, 0x482, 0x483, 0x58D, 0x58F, 0x60E, 0x610, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x7F6, 0x7F7, 0x9FA, 0x9FB, 0xB70, 0xB71, 0xBF3, 0xBF9, 0xBFA, 0xBFB, 0xC7F, 0xC80, 0xD4F, 0xD50, 0xD79, 0xD7A, 0xF01, 0xF04, 0xF13, 0xF14, 0xF15, 0xF18, 0xF1A, 0xF20, 0xF34, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xFBE, 0xFC6, 0xFC7, 0xFCD, 0xFCE, 0xFD0, 0xFD5, 0xFD9, 0x109E, 0x10A0, 0x1390, 0x139A, 0x166D, 0x166E, 0x1940, 0x1941, 0x19DE, 0x1A00, 0x1B61, 0x1B6B, 0x1B74, 0x1B7D, 0x2100, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x214A, 0x214B, 0x214C, 0x214E, 0x214F, 0x2150, 0x218A, 0x218C, 0x2195, 0x219A, 0x219C, 0x21A0, 0x21A1, 0x21A3, 0x21A4, 0x21A6, 0x21A7, 0x21AE, 0x21AF, 0x21CE, 0x21D0, 0x21D2, 0x21D3, 0x21D4, 0x21D5, 0x21F4, 0x2300, 0x2308, 0x230C, 0x2320, 0x2322, 0x2329, 0x232B, 0x237C, 0x237D, 0x239B, 0x23B4, 0x23DC, 0x23E2, 0x2427, 0x2440, 0x244B, 0x249C, 0x24EA, 0x2500, 0x25B7, 0x25B8, 0x25C1, 0x25C2, 0x25F8, 0x2600, 0x266F, 0x2670, 0x2768, 0x2794, 0x27C0, 0x2800, 0x2900, 0x2B00, 0x2B30, 0x2B45, 0x2B47, 0x2B4D, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2CE5, 0x2CEB, 0x2E50, 0x2E52, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3004, 0x3005, 0x3012, 0x3014, 0x3020, 0x3021, 0x3036, 0x3038, 0x303E, 0x3040, 0x3190, 0x3192, 0x3196, 0x31A0, 0x31C0, 0x31E4, 0x3200, 0x321F, 0x322A, 0x3248, 0x3250, 0x3251, 0x3260, 0x3280, 0x328A, 0x32B1, 0x32C0, 0x3400, 0x4DC0, 0x4E00, 0xA490, 0xA4C7, 0xA828, 0xA82C, 0xA836, 0xA838, 0xA839, 0xA83A, 0xAA77, 0xAA7A, 0xFDFD, 0xFDFE, 0xFFE4, 0xFFE5, 0xFFE8, 0xFFE9, 0xFFED, 0xFFEF, 0xFFFC, 0xFFFE, 0x10137, 0x10140, 0x10179, 0x1018A, 0x1018C, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FD, 0x10877, 0x10879, 0x10AC8, 0x10AC9, 0x1173F, 0x11740, 0x11FD5, 0x11FDD, 0x11FE1, 0x11FF2, 0x16B3C, 0x16B40, 0x16B45, 0x16B46, 0x1BC9C, 0x1BC9D, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D200, 0x1D242, 0x1D245, 0x1D246, 0x1D300, 0x1D357, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA87, 0x1E14F, 0x1E150, 0x1ECAC, 0x1ECAD, 0x1ED2E, 0x1ED2F, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F10D, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F3FB, 0x1F400, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB }; # endif /* EBCDIC 037 */ static const UV UNI_SOGD_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x640, 0x641, 0x10F30, 0x10F5A }; static const UV UNI_SOGO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10F00, 0x10F28 }; static const UV UNI_SORA_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x110D0, 0x110E9, 0x110F0, 0x110FA }; static const UV UNI_SOYO_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11A50, 0x11AA3 }; static const UV UNI_SPECIALS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFFF0, 0x10000 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_STERM_invlist[] = { /* for ASCII/Latin1 */ 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x22, 0x2E, 0x2F, 0x3F, 0x40, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE52, 0xFE53, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF0E, 0xFF0F, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_STERM_invlist[] = { /* for EBCDIC 1047 */ 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5A, 0x5B, 0x6F, 0x70, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE52, 0xFE53, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF0E, 0xFF0F, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_STERM_invlist[] = { /* for EBCDIC 037 */ 153, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5A, 0x5B, 0x6F, 0x70, 0x589, 0x58A, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x703, 0x7F9, 0x7FA, 0x837, 0x838, 0x839, 0x83A, 0x83D, 0x83F, 0x964, 0x966, 0x104A, 0x104C, 0x1362, 0x1363, 0x1367, 0x1369, 0x166E, 0x166F, 0x1735, 0x1737, 0x1803, 0x1804, 0x1809, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5E, 0x1B60, 0x1C3B, 0x1C3D, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x3002, 0x3003, 0xA4FF, 0xA500, 0xA60E, 0xA610, 0xA6F3, 0xA6F4, 0xA6F7, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C8, 0xA9CA, 0xAA5D, 0xAA60, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE52, 0xFE53, 0xFE56, 0xFE58, 0xFF01, 0xFF02, 0xFF0E, 0xFF0F, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0x10A56, 0x10A58, 0x10F55, 0x10F5A, 0x11047, 0x11049, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123A, 0x1123B, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144D, 0x115C2, 0x115C4, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11C41, 0x11C43, 0x11EF7, 0x11EF9, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B39, 0x16B44, 0x16B45, 0x16E98, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA88, 0x1DA89 }; # endif /* EBCDIC 037 */ static const UV UNI_SUND_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1B80, 0x1BC0, 0x1CC0, 0x1CC8 }; static const UV UNI_SUNDANESESUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1CC0, 0x1CD0 }; static const UV UNI_SUPARROWSA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27F0, 0x2800 }; static const UV UNI_SUPARROWSB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2900, 0x2980 }; static const UV UNI_SUPARROWSC_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F800, 0x1F900 }; static const UV UNI_SUPERANDSUB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2070, 0x20A0 }; static const UV UNI_SUPMATHOPERATORS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2A00, 0x2B00 }; static const UV UNI_SUPPUAA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0000, 0x100000 }; static const UV UNI_SUPPUAB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x100000, 0x110000 }; static const UV UNI_SUPPUNCTUATION_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E00, 0x2E80 }; static const UV UNI_SUPSYMBOLSANDPICTOGRAPHS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F900, 0x1FA00 }; static const UV UNI_SUTTONSIGNWRITING_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D800, 0x1DAB0 }; static const UV UNI_SYLO_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0x9E6, 0x9F0, 0xA800, 0xA82D }; static const UV UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1FA70, 0x1FB00 }; static const UV UNI_SYMBOLSFORLEGACYCOMPUTING_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1FB00, 0x1FC00 }; static const UV UNI_SYRC_invlist[] = { /* for all charsets */ 23, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60C, 0x60D, 0x61B, 0x61D, 0x61F, 0x620, 0x640, 0x641, 0x64B, 0x656, 0x670, 0x671, 0x700, 0x70E, 0x70F, 0x74B, 0x74D, 0x750, 0x860, 0x86B, 0x1DF8, 0x1DF9 }; static const UV UNI_SYRIACSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x860, 0x870 }; static const UV UNI_TAGB_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1735, 0x1737, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774 }; static const UV UNI_TAGS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE0000, 0xE0080 }; static const UV UNI_TAIXUANJING_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1D300, 0x1D360 }; static const UV UNI_TAKR_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x964, 0x966, 0xA830, 0xA83A, 0x11680, 0x116B9, 0x116C0, 0x116CA }; static const UV UNI_TALE_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1040, 0x104A, 0x1950, 0x196E, 0x1970, 0x1975 }; static const UV UNI_TALU_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x19E0 }; static const UV UNI_TAMILSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11FC0, 0x12000 }; static const UV UNI_TAML_invlist[] = { /* for all charsets */ 51, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0x1CDA, 0x1CDB, 0xA8F3, 0xA8F4, 0x11301, 0x11302, 0x11303, 0x11304, 0x1133B, 0x1133D, 0x11FC0, 0x11FF2, 0x11FFF, 0x12000 }; static const UV UNI_TANG_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x16FE0, 0x16FE1, 0x17000, 0x187F8, 0x18800, 0x18B00, 0x18D00, 0x18D09 }; static const UV UNI_TANGUTCOMPONENTS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x18800, 0x18B00 }; static const UV UNI_TANGUTSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x18D00, 0x18D90 }; static const UV UNI_TAVT_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAA80, 0xAAC3, 0xAADB, 0xAAE0 }; static const UV UNI_TELU_invlist[] = { /* for all charsets */ 33, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC80, 0x1CDA, 0x1CDB, 0x1CF2, 0x1CF3 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_TERM_invlist[] = { /* for ASCII/Latin1 */ 209, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x21, 0x22, 0x2C, 0x2D, 0x2E, 0x2F, 0x3A, 0x3C, 0x3F, 0x40, 0x37E, 0x37F, 0x387, 0x388, 0x589, 0x58A, 0x5C3, 0x5C4, 0x60C, 0x60D, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x70B, 0x70C, 0x70D, 0x7F8, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0xE5A, 0xE5C, 0xF08, 0xF09, 0xF0D, 0xF13, 0x104A, 0x104C, 0x1361, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17DA, 0x17DB, 0x1802, 0x1806, 0x1808, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B60, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x2E41, 0x2E42, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3001, 0x3003, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA6F3, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAADF, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFF01, 0xFF02, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A56, 0x10A58, 0x10AF0, 0x10AF6, 0x10B3A, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144E, 0x1145A, 0x1145C, 0x115C2, 0x115C6, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C44, 0x11C71, 0x11C72, 0x11EF7, 0x11EF9, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_TERM_invlist[] = { /* for EBCDIC 1047 */ 211, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5A, 0x5B, 0x5E, 0x5F, 0x6B, 0x6C, 0x6F, 0x70, 0x7A, 0x7B, 0x37E, 0x37F, 0x387, 0x388, 0x589, 0x58A, 0x5C3, 0x5C4, 0x60C, 0x60D, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x70B, 0x70C, 0x70D, 0x7F8, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0xE5A, 0xE5C, 0xF08, 0xF09, 0xF0D, 0xF13, 0x104A, 0x104C, 0x1361, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17DA, 0x17DB, 0x1802, 0x1806, 0x1808, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B60, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x2E41, 0x2E42, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3001, 0x3003, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA6F3, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAADF, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFF01, 0xFF02, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A56, 0x10A58, 0x10AF0, 0x10AF6, 0x10B3A, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144E, 0x1145A, 0x1145C, 0x115C2, 0x115C6, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C44, 0x11C71, 0x11C72, 0x11EF7, 0x11EF9, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_TERM_invlist[] = { /* for EBCDIC 037 */ 211, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x5A, 0x5B, 0x5E, 0x5F, 0x6B, 0x6C, 0x6F, 0x70, 0x7A, 0x7B, 0x37E, 0x37F, 0x387, 0x388, 0x589, 0x58A, 0x5C3, 0x5C4, 0x60C, 0x60D, 0x61B, 0x61C, 0x61E, 0x620, 0x6D4, 0x6D5, 0x700, 0x70B, 0x70C, 0x70D, 0x7F8, 0x7FA, 0x830, 0x83F, 0x85E, 0x85F, 0x964, 0x966, 0xE5A, 0xE5C, 0xF08, 0xF09, 0xF0D, 0xF13, 0x104A, 0x104C, 0x1361, 0x1369, 0x166E, 0x166F, 0x16EB, 0x16EE, 0x1735, 0x1737, 0x17D4, 0x17D7, 0x17DA, 0x17DB, 0x1802, 0x1806, 0x1808, 0x180A, 0x1944, 0x1946, 0x1AA8, 0x1AAC, 0x1B5A, 0x1B5C, 0x1B5D, 0x1B60, 0x1C3B, 0x1C40, 0x1C7E, 0x1C80, 0x203C, 0x203E, 0x2047, 0x204A, 0x2E2E, 0x2E2F, 0x2E3C, 0x2E3D, 0x2E41, 0x2E42, 0x2E4C, 0x2E4D, 0x2E4E, 0x2E50, 0x3001, 0x3003, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA6F3, 0xA6F8, 0xA876, 0xA878, 0xA8CE, 0xA8D0, 0xA92F, 0xA930, 0xA9C7, 0xA9CA, 0xAA5D, 0xAA60, 0xAADF, 0xAAE0, 0xAAF0, 0xAAF2, 0xABEB, 0xABEC, 0xFE50, 0xFE53, 0xFE54, 0xFE58, 0xFF01, 0xFF02, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1A, 0xFF1C, 0xFF1F, 0xFF20, 0xFF61, 0xFF62, 0xFF64, 0xFF65, 0x1039F, 0x103A0, 0x103D0, 0x103D1, 0x10857, 0x10858, 0x1091F, 0x10920, 0x10A56, 0x10A58, 0x10AF0, 0x10AF6, 0x10B3A, 0x10B40, 0x10B99, 0x10B9D, 0x10F55, 0x10F5A, 0x11047, 0x1104E, 0x110BE, 0x110C2, 0x11141, 0x11144, 0x111C5, 0x111C7, 0x111CD, 0x111CE, 0x111DE, 0x111E0, 0x11238, 0x1123D, 0x112A9, 0x112AA, 0x1144B, 0x1144E, 0x1145A, 0x1145C, 0x115C2, 0x115C6, 0x115C9, 0x115D8, 0x11641, 0x11643, 0x1173C, 0x1173F, 0x11944, 0x11945, 0x11946, 0x11947, 0x11A42, 0x11A44, 0x11A9B, 0x11A9D, 0x11AA1, 0x11AA3, 0x11C41, 0x11C44, 0x11C71, 0x11C72, 0x11EF7, 0x11EF9, 0x12470, 0x12475, 0x16A6E, 0x16A70, 0x16AF5, 0x16AF6, 0x16B37, 0x16B3A, 0x16B44, 0x16B45, 0x16E97, 0x16E99, 0x1BC9F, 0x1BCA0, 0x1DA87, 0x1DA8B }; # endif /* EBCDIC 037 */ static const UV UNI_TFNG_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D80 }; static const UV UNI_TGLG_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1700, 0x170D, 0x170E, 0x1715, 0x1735, 0x1737 }; static const UV UNI_THAA_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60C, 0x60D, 0x61B, 0x61D, 0x61F, 0x620, 0x660, 0x66A, 0x780, 0x7B2, 0xFDF2, 0xFDF3, 0xFDFD, 0xFDFE }; static const UV UNI_THAI_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE01, 0xE3B, 0xE40, 0xE5C }; static const UV UNI_TIBT_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFD5, 0xFD9, 0xFDB }; static const UV UNI_TIRH_invlist[] = { /* for all charsets */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x951, 0x953, 0x964, 0x966, 0x1CF2, 0x1CF3, 0xA830, 0xA83A, 0x11480, 0x114C8, 0x114D0, 0x114DA }; static const UV UNI_TRANSPORTANDMAP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1F680, 0x1F700 }; static const UV UNI_UCAS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1400, 0x1680 }; static const UV UNI_UCASEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x18B0, 0x1900 }; static const UV UNI_UGAR_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x10380, 0x1039E, 0x1039F, 0x103A0 }; static const UV UNI_UIDEO_invlist[] = { /* for all charsets */ 31, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xFA0E, 0xFA10, 0xFA11, 0xFA12, 0xFA13, 0xFA15, 0xFA1F, 0xFA20, 0xFA21, 0xFA22, 0xFA23, 0xFA25, 0xFA27, 0xFA2A, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x30000, 0x3134B }; static const UV UNI_VAI_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA500, 0xA62C }; static const UV UNI_VEDICEXT_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1CD0, 0x1D00 }; static const UV UNI_VERTICALFORMS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFE10, 0xFE20 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_VO__R_invlist[] = { /* for ASCII/Latin1 */ 177, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA7, 0xA8, 0xA9, 0xAA, 0xAE, 0xAF, 0xB1, 0xB2, 0xBC, 0xBF, 0xD7, 0xD8, 0xF7, 0xF8, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE50, 0xFE58, 0xFE59, 0xFE63, 0xFE67, 0xFE70, 0xFF01, 0xFF0D, 0xFF0E, 0xFF1C, 0xFF1F, 0xFF61, 0xFFE0, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 1047 */ 175, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8F, 0x90, 0xAF, 0xB0, 0xB4, 0xB6, 0xB7, 0xBA, 0xBF, 0xC0, 0xE1, 0xE2, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE50, 0xFE58, 0xFE59, 0xFE63, 0xFE67, 0xFE70, 0xFF01, 0xFF0D, 0xFF0E, 0xFF1C, 0xFF1F, 0xFF61, 0xFFE0, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_VO__R_invlist[] = { /* for EBCDIC 037 */ 175, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8F, 0x90, 0xAF, 0xB0, 0xB4, 0xB6, 0xB7, 0xBA, 0xBF, 0xC0, 0xE1, 0xE2, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE50, 0xFE58, 0xFE59, 0xFE63, 0xFE67, 0xFE70, 0xFF01, 0xFF0D, 0xFF0E, 0xFF1C, 0xFF1F, 0xFF61, 0xFFE0, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ static const UV UNI_VO__TR_invlist[] = { /* for all charsets */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2329, 0x232B, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x30A0, 0x30A1, 0x30FC, 0x30FD, 0xFE59, 0xFE5F, 0xFF08, 0xFF0A, 0xFF1A, 0xFF1C, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFF61, 0xFFE3, 0xFFE4 }; static const UV UNI_VO__TU_invlist[] = { /* for all charsets */ 69, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3001, 0x3003, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x309B, 0x309D, 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x3127, 0x3128, 0x31F0, 0x3200, 0x32FF, 0x3358, 0x337B, 0x3380, 0xFE50, 0xFE53, 0xFF01, 0xFF02, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF1F, 0xFF20, 0x1F200, 0x1F202 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_VO__U_invlist[] = { /* for ASCII/Latin1 */ 255, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA7, 0xA8, 0xA9, 0xAA, 0xAE, 0xAF, 0xB1, 0xB2, 0xBC, 0xBF, 0xD7, 0xD8, 0xF7, 0xF8, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x2329, 0x232B, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0x3001, 0x3003, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x309B, 0x309D, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FC, 0x30FD, 0x3127, 0x3128, 0x31F0, 0x3200, 0x32FF, 0x3358, 0x337B, 0x3380, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE53, 0xFE58, 0xFE5F, 0xFE63, 0xFE67, 0xFE70, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF1A, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFFE0, 0xFFE3, 0xFFE4, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F200, 0x1F202, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 1047 */ 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8F, 0x90, 0xAF, 0xB0, 0xB4, 0xB6, 0xB7, 0xBA, 0xBF, 0xC0, 0xE1, 0xE2, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x2329, 0x232B, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0x3001, 0x3003, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x309B, 0x309D, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FC, 0x30FD, 0x3127, 0x3128, 0x31F0, 0x3200, 0x32FF, 0x3358, 0x337B, 0x3380, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE53, 0xFE58, 0xFE5F, 0xFE63, 0xFE67, 0xFE70, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF1A, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFFE0, 0xFFE3, 0xFFE4, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F200, 0x1F202, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_VO__U_invlist[] = { /* for EBCDIC 037 */ 253, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x8F, 0x90, 0xAF, 0xB0, 0xB4, 0xB6, 0xB7, 0xBA, 0xBF, 0xC0, 0xE1, 0xE2, 0x2EA, 0x2EC, 0x1100, 0x1200, 0x1401, 0x1680, 0x18B0, 0x1900, 0x2016, 0x2017, 0x2020, 0x2022, 0x2030, 0x2032, 0x203B, 0x203D, 0x2042, 0x2043, 0x2047, 0x204A, 0x2051, 0x2052, 0x2065, 0x2066, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x2100, 0x2102, 0x2103, 0x210A, 0x210F, 0x2110, 0x2113, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x2135, 0x2140, 0x2145, 0x214B, 0x214C, 0x214E, 0x214F, 0x218A, 0x218C, 0x2190, 0x221E, 0x221F, 0x2234, 0x2236, 0x2300, 0x2308, 0x230C, 0x2320, 0x2324, 0x2329, 0x232B, 0x232C, 0x237D, 0x239B, 0x23BE, 0x23CE, 0x23CF, 0x23D0, 0x23D1, 0x23DC, 0x23E2, 0x2423, 0x2424, 0x2500, 0x25A0, 0x261A, 0x2620, 0x2768, 0x2776, 0x2794, 0x2B12, 0x2B30, 0x2B50, 0x2B5A, 0x2B97, 0x2B98, 0x2BB8, 0x2BD2, 0x2BD3, 0x2BEC, 0x2BF0, 0x2C00, 0x2E50, 0x2E52, 0x2E80, 0x3001, 0x3003, 0x3008, 0x3012, 0x3014, 0x3020, 0x3030, 0x3031, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x3063, 0x3064, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x308E, 0x308F, 0x3095, 0x3097, 0x309B, 0x309D, 0x30A0, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30C3, 0x30C4, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30EE, 0x30EF, 0x30F5, 0x30F7, 0x30FC, 0x30FD, 0x3127, 0x3128, 0x31F0, 0x3200, 0x32FF, 0x3358, 0x337B, 0x3380, 0xA4D0, 0xA960, 0xA980, 0xAC00, 0xD800, 0xE000, 0xFB00, 0xFE10, 0xFE20, 0xFE30, 0xFE49, 0xFE53, 0xFE58, 0xFE5F, 0xFE63, 0xFE67, 0xFE70, 0xFF02, 0xFF08, 0xFF0A, 0xFF0C, 0xFF0F, 0xFF1A, 0xFF20, 0xFF3B, 0xFF3C, 0xFF3D, 0xFF3E, 0xFF3F, 0xFF40, 0xFF5B, 0xFFE0, 0xFFE3, 0xFFE4, 0xFFE8, 0xFFF0, 0xFFF9, 0xFFFC, 0xFFFE, 0x10980, 0x109A0, 0x11580, 0x11600, 0x11A00, 0x11AB0, 0x13000, 0x13440, 0x14400, 0x14680, 0x16FE0, 0x18D90, 0x1B000, 0x1B300, 0x1D000, 0x1D200, 0x1D2E0, 0x1D380, 0x1D800, 0x1DAB0, 0x1F000, 0x1F200, 0x1F202, 0x1F800, 0x1F900, 0x1FB00, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE }; # endif /* EBCDIC 037 */ static const UV UNI_VS_invlist[] = { /* for all charsets */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x180B, 0x180E, 0xFE00, 0xFE10, 0xE0100, 0xE01F0 }; static const UV UNI_VSSUP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xE0100, 0xE01F0 }; static const UV UNI_WARA_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x118A0, 0x118F3, 0x118FF, 0x11900 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__DQ_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x22, 0x23 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__DQ_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7F, 0x80 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__DQ_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7F, 0x80 }; # endif /* EBCDIC 037 */ static const UV UNI_WB__EB_invlist[] = { /* for ASCII/Latin1 */ 0, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__EX_invlist[] = { /* for ASCII/Latin1 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5F, 0x60, 0x202F, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__EX_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x202F, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__EX_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x6D, 0x6E, 0x202F, 0x2030, 0x203F, 0x2041, 0x2054, 0x2055, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFF3F, 0xFF40 }; # endif /* EBCDIC 037 */ static const UV UNI_WB__EXTEND_invlist[] = { /* for all charsets */ 589, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x300, 0x370, 0x483, 0x48A, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x610, 0x61B, 0x64B, 0x660, 0x670, 0x671, 0x6D6, 0x6DD, 0x6DF, 0x6E5, 0x6E7, 0x6E9, 0x6EA, 0x6EE, 0x711, 0x712, 0x730, 0x74B, 0x7A6, 0x7B1, 0x7EB, 0x7F4, 0x7FD, 0x7FE, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x82E, 0x859, 0x85C, 0x8D3, 0x8E2, 0x8E3, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x964, 0x981, 0x984, 0x9BC, 0x9BD, 0x9BE, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CE, 0x9D7, 0x9D8, 0x9E2, 0x9E4, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA70, 0xA72, 0xA75, 0xA76, 0xA81, 0xA84, 0xABC, 0xABD, 0xABE, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAE2, 0xAE4, 0xAFA, 0xB00, 0xB01, 0xB04, 0xB3C, 0xB3D, 0xB3E, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB62, 0xB64, 0xB82, 0xB83, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD7, 0xBD8, 0xC00, 0xC05, 0xC3E, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC62, 0xC64, 0xC81, 0xC84, 0xCBC, 0xCBD, 0xCBE, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCE2, 0xCE4, 0xD00, 0xD04, 0xD3B, 0xD3D, 0xD3E, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4E, 0xD57, 0xD58, 0xD62, 0xD64, 0xD81, 0xD84, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xF18, 0xF1A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF40, 0xF71, 0xF85, 0xF86, 0xF88, 0xF8D, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x1090, 0x109A, 0x109E, 0x135D, 0x1360, 0x1712, 0x1715, 0x1732, 0x1735, 0x1752, 0x1754, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x180B, 0x180E, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x1920, 0x192C, 0x1930, 0x193C, 0x1A17, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A80, 0x1AB0, 0x1AC1, 0x1B00, 0x1B05, 0x1B34, 0x1B45, 0x1B6B, 0x1B74, 0x1B80, 0x1B83, 0x1BA1, 0x1BAE, 0x1BE6, 0x1BF4, 0x1C24, 0x1C38, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1DC0, 0x1DFA, 0x1DFB, 0x1E00, 0x200C, 0x200D, 0x20D0, 0x20F1, 0x2CEF, 0x2CF2, 0x2D7F, 0x2D80, 0x2DE0, 0x2E00, 0x302A, 0x3030, 0x3099, 0x309B, 0xA66F, 0xA673, 0xA674, 0xA67E, 0xA69E, 0xA6A0, 0xA6F0, 0xA6F2, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA828, 0xA82C, 0xA82D, 0xA880, 0xA882, 0xA8B4, 0xA8C6, 0xA8E0, 0xA8F2, 0xA8FF, 0xA900, 0xA926, 0xA92E, 0xA947, 0xA954, 0xA980, 0xA984, 0xA9B3, 0xA9C1, 0xA9E5, 0xA9E6, 0xAA29, 0xAA37, 0xAA43, 0xAA44, 0xAA4C, 0xAA4E, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAEB, 0xAAF0, 0xAAF5, 0xAAF7, 0xABE3, 0xABEB, 0xABEC, 0xABEE, 0xFB1E, 0xFB1F, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFF9E, 0xFFA0, 0x101FD, 0x101FE, 0x102E0, 0x102E1, 0x10376, 0x1037B, 0x10A01, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A10, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10AE5, 0x10AE7, 0x10D24, 0x10D28, 0x10EAB, 0x10EAD, 0x10F46, 0x10F51, 0x11000, 0x11003, 0x11038, 0x11047, 0x1107F, 0x11083, 0x110B0, 0x110BB, 0x11100, 0x11103, 0x11127, 0x11135, 0x11145, 0x11147, 0x11173, 0x11174, 0x11180, 0x11183, 0x111B3, 0x111C1, 0x111C9, 0x111CD, 0x111CE, 0x111D0, 0x1122C, 0x11238, 0x1123E, 0x1123F, 0x112DF, 0x112EB, 0x11300, 0x11304, 0x1133B, 0x1133D, 0x1133E, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11357, 0x11358, 0x11362, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11435, 0x11447, 0x1145E, 0x1145F, 0x114B0, 0x114C4, 0x115AF, 0x115B6, 0x115B8, 0x115C1, 0x115DC, 0x115DE, 0x11630, 0x11641, 0x116AB, 0x116B8, 0x1171D, 0x1172C, 0x1182C, 0x1183B, 0x11930, 0x11936, 0x11937, 0x11939, 0x1193B, 0x1193F, 0x11940, 0x11941, 0x11942, 0x11944, 0x119D1, 0x119D8, 0x119DA, 0x119E1, 0x119E4, 0x119E5, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A3F, 0x11A47, 0x11A48, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9A, 0x11C2F, 0x11C37, 0x11C38, 0x11C40, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D31, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D46, 0x11D47, 0x11D48, 0x11D8A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D98, 0x11EF3, 0x11EF7, 0x16AF0, 0x16AF5, 0x16B30, 0x16B37, 0x16F4F, 0x16F50, 0x16F51, 0x16F88, 0x16F8F, 0x16F93, 0x16FE4, 0x16FE5, 0x16FF0, 0x16FF2, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E130, 0x1E137, 0x1E2EC, 0x1E2F0, 0x1E8D0, 0x1E8D7, 0x1E944, 0x1E94B, 0x1F3FB, 0x1F400, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__FO_invlist[] = { /* for ASCII/Latin1 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xAD, 0xAE, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__FO_invlist[] = { /* for EBCDIC 1047 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__FO_invlist[] = { /* for EBCDIC 037 */ 39, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xCA, 0xCB, 0x600, 0x606, 0x61C, 0x61D, 0x6DD, 0x6DE, 0x70F, 0x710, 0x8E2, 0x8E3, 0x180E, 0x180F, 0x200E, 0x2010, 0x202A, 0x202F, 0x2060, 0x2065, 0x2066, 0x2070, 0xFEFF, 0xFF00, 0xFFF9, 0xFFFC, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x13430, 0x13439, 0x1BCA0, 0x1BCA4, 0x1D173, 0x1D17B, 0xE0001, 0xE0002 }; # endif /* EBCDIC 037 */ static const UV UNI_WB__KA_invlist[] = { /* for all charsets */ 21, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3031, 0x3036, 0x309B, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xFF66, 0xFF9E, 0x1B000, 0x1B001, 0x1B164, 0x1B168 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__LE_invlist[] = { /* for ASCII/Latin1 */ 1095, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x5F3, 0x5F4, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1A00, 0x1A17, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x303B, 0x303D, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 1047 */ 1121, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x5F3, 0x5F4, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1A00, 0x1A17, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x303B, 0x303D, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__LE_invlist[] = { /* for EBCDIC 037 */ 1117, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x300, 0x370, 0x375, 0x376, 0x378, 0x37A, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x55F, 0x560, 0x589, 0x58A, 0x58B, 0x5F3, 0x5F4, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1820, 0x1879, 0x1880, 0x1885, 0x1887, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1A00, 0x1A17, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2E2F, 0x2E30, 0x3005, 0x3006, 0x303B, 0x303D, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB50, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__MB_invlist[] = { /* for ASCII/Latin1 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2E, 0x2F, 0x2018, 0x201A, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__MB_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x2018, 0x201A, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__MB_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4B, 0x4C, 0x2018, 0x201A, 0x2024, 0x2025, 0xFE52, 0xFE53, 0xFF07, 0xFF08, 0xFF0E, 0xFF0F }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__ML_invlist[] = { /* for ASCII/Latin1 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3A, 0x3B, 0xB7, 0xB8, 0x387, 0x388, 0x55F, 0x560, 0x5F4, 0x5F5, 0x2027, 0x2028, 0xFE13, 0xFE14, 0xFE55, 0xFE56, 0xFF1A, 0xFF1B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 1047 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7A, 0x7B, 0xB3, 0xB4, 0x387, 0x388, 0x55F, 0x560, 0x5F4, 0x5F5, 0x2027, 0x2028, 0xFE13, 0xFE14, 0xFE55, 0xFE56, 0xFF1A, 0xFF1B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__ML_invlist[] = { /* for EBCDIC 037 */ 19, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7A, 0x7B, 0xB3, 0xB4, 0x387, 0x388, 0x55F, 0x560, 0x5F4, 0x5F5, 0x2027, 0x2028, 0xFE13, 0xFE14, 0xFE55, 0xFE56, 0xFF1A, 0xFF1B }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__MN_invlist[] = { /* for ASCII/Latin1 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2C, 0x2D, 0x3B, 0x3C, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x66C, 0x66D, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE14, 0xFE15, 0xFE50, 0xFE51, 0xFE54, 0xFE55, 0xFF0C, 0xFF0D, 0xFF1B, 0xFF1C }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__MN_invlist[] = { /* for EBCDIC 1047 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5E, 0x5F, 0x6B, 0x6C, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x66C, 0x66D, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE14, 0xFE15, 0xFE50, 0xFE51, 0xFE54, 0xFE55, 0xFF0C, 0xFF0D, 0xFF1B, 0xFF1C }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__MN_invlist[] = { /* for EBCDIC 037 */ 29, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5E, 0x5F, 0x6B, 0x6C, 0x37E, 0x37F, 0x589, 0x58A, 0x60C, 0x60E, 0x66C, 0x66D, 0x7F8, 0x7F9, 0x2044, 0x2045, 0xFE10, 0xFE11, 0xFE14, 0xFE15, 0xFE50, 0xFE51, 0xFE54, 0xFE55, 0xFF0C, 0xFF0D, 0xFF1B, 0xFF1C }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__NL_invlist[] = { /* for ASCII/Latin1 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x85, 0x86, 0x2028, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__NL_invlist[] = { /* for EBCDIC 1047 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x25, 0x26, 0x2028, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__NL_invlist[] = { /* for EBCDIC 037 */ 7, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xD, 0x15, 0x16, 0x2028, 0x202A }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__NU_invlist[] = { /* for ASCII/Latin1 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x660, 0x66A, 0x66B, 0x66C, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 1047 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66C, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__NU_invlist[] = { /* for EBCDIC 037 */ 125, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xF0, 0xFA, 0x660, 0x66A, 0x66B, 0x66C, 0x6F0, 0x6FA, 0x7C0, 0x7CA, 0x966, 0x970, 0x9E6, 0x9F0, 0xA66, 0xA70, 0xAE6, 0xAF0, 0xB66, 0xB70, 0xBE6, 0xBF0, 0xC66, 0xC70, 0xCE6, 0xCF0, 0xD66, 0xD70, 0xDE6, 0xDF0, 0xE50, 0xE5A, 0xED0, 0xEDA, 0xF20, 0xF2A, 0x1040, 0x104A, 0x1090, 0x109A, 0x17E0, 0x17EA, 0x1810, 0x181A, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A80, 0x1A8A, 0x1A90, 0x1A9A, 0x1B50, 0x1B5A, 0x1BB0, 0x1BBA, 0x1C40, 0x1C4A, 0x1C50, 0x1C5A, 0xA620, 0xA62A, 0xA8D0, 0xA8DA, 0xA900, 0xA90A, 0xA9D0, 0xA9DA, 0xA9F0, 0xA9FA, 0xAA50, 0xAA5A, 0xABF0, 0xABFA, 0xFF10, 0xFF1A, 0x104A0, 0x104AA, 0x10D30, 0x10D3A, 0x11066, 0x11070, 0x110F0, 0x110FA, 0x11136, 0x11140, 0x111D0, 0x111DA, 0x112F0, 0x112FA, 0x11450, 0x1145A, 0x114D0, 0x114DA, 0x11650, 0x1165A, 0x116C0, 0x116CA, 0x11730, 0x1173A, 0x118E0, 0x118EA, 0x11950, 0x1195A, 0x11C50, 0x11C5A, 0x11D50, 0x11D5A, 0x11DA0, 0x11DAA, 0x16A60, 0x16A6A, 0x16B50, 0x16B5A, 0x1D7CE, 0x1D800, 0x1E140, 0x1E14A, 0x1E2F0, 0x1E2FA, 0x1E950, 0x1E95A, 0x1FBF0, 0x1FBFA }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__SQ_invlist[] = { /* for ASCII/Latin1 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x27, 0x28 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__SQ_invlist[] = { /* for EBCDIC 1047 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__SQ_invlist[] = { /* for EBCDIC 037 */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x7D, 0x7E }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__WSEGSPACE_invlist[] = { /* for ASCII/Latin1 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x21, 0x1680, 0x1681, 0x2000, 0x2007, 0x2008, 0x200B, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__WSEGSPACE_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x1680, 0x1681, 0x2000, 0x2007, 0x2008, 0x200B, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__WSEGSPACE_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x41, 0x1680, 0x1681, 0x2000, 0x2007, 0x2008, 0x200B, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_WB__XX_invlist[] = { /* for ASCII/Latin1 */ 1487, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA, 0xE, 0x20, 0x21, 0x22, 0x23, 0x27, 0x28, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x3C, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0x85, 0x86, 0xAA, 0xAB, 0xAD, 0xAE, 0xB5, 0xB6, 0xB7, 0xB8, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2D8, 0x2DE, 0x375, 0x376, 0x378, 0x37A, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x66A, 0x66B, 0x66D, 0x66E, 0x6D4, 0x6D5, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2030, 0x203F, 0x2041, 0x2044, 0x2045, 0x2054, 0x2055, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x3099, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE11, 0xFE13, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 1047 */ 1511, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x5E, 0x5F, 0x62, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xBA, 0xBB, 0xC1, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x375, 0x376, 0x378, 0x37A, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x66A, 0x66B, 0x66D, 0x66E, 0x6D4, 0x6D5, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2030, 0x203F, 0x2041, 0x2044, 0x2045, 0x2054, 0x2055, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x3099, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE11, 0xFE13, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_WB__XX_invlist[] = { /* for EBCDIC 037 */ 1507, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x42, 0x4A, 0x4B, 0x4C, 0x51, 0x5A, 0x5E, 0x5F, 0x62, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x70, 0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xC1, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2D8, 0x2DE, 0x375, 0x376, 0x378, 0x37A, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x530, 0x531, 0x557, 0x559, 0x55D, 0x55E, 0x58B, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x606, 0x60C, 0x60E, 0x610, 0x61B, 0x61C, 0x61D, 0x620, 0x66A, 0x66B, 0x66D, 0x66E, 0x6D4, 0x6D5, 0x6DE, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE31, 0xE32, 0xE34, 0xE3B, 0xE47, 0xE4F, 0xE50, 0xE5A, 0xEB1, 0xEB2, 0xEB4, 0xEBD, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x102B, 0x103F, 0x1040, 0x104A, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x17B4, 0x17D4, 0x17DD, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x1950, 0x19D0, 0x19DA, 0x1A00, 0x1A1C, 0x1A55, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2000, 0x2007, 0x2008, 0x200B, 0x200C, 0x2010, 0x2018, 0x201A, 0x2024, 0x2025, 0x2027, 0x2030, 0x203F, 0x2041, 0x2044, 0x2045, 0x2054, 0x2055, 0x205F, 0x2065, 0x2066, 0x2070, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2119, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x212E, 0x212F, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x24B6, 0x24EA, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x2E2F, 0x2E30, 0x3000, 0x3001, 0x3005, 0x3006, 0x302A, 0x3030, 0x3031, 0x3036, 0x303B, 0x303D, 0x3099, 0x309D, 0x30A0, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x32D0, 0x32FF, 0x3300, 0x3358, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA673, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA708, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFC, 0xFE00, 0xFE11, 0xFE13, 0xFE15, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE51, 0xFE52, 0xFE53, 0xFE54, 0xFE56, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF07, 0xFF08, 0xFF0C, 0xFF0D, 0xFF0E, 0xFF0F, 0xFF10, 0xFF1C, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFF9, 0xFFFC, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110BD, 0x110BE, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x1B000, 0x1B001, 0x1B164, 0x1B168, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1BCA0, 0x1BCA4, 0x1D165, 0x1D16A, 0x1D16D, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1F130, 0x1F14A, 0x1F150, 0x1F16A, 0x1F170, 0x1F18A, 0x1F1E6, 0x1F200, 0x1F3FB, 0x1F400, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ static const UV UNI_WCHO_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XIDC_invlist[] = { /* for ASCII/Latin1 */ 1475, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x30, 0x3A, 0x41, 0x5B, 0x5F, 0x60, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xB7, 0xB8, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 1047 */ 1499, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xB3, 0xB4, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XIDC_invlist[] = { /* for EBCDIC 037 */ 1495, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x6D, 0x6E, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xB3, 0xB4, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xFA, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x300, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x483, 0x488, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x591, 0x5BE, 0x5BF, 0x5C0, 0x5C1, 0x5C3, 0x5C4, 0x5C6, 0x5C7, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x610, 0x61B, 0x620, 0x66A, 0x66E, 0x6D4, 0x6D5, 0x6DD, 0x6DF, 0x6E9, 0x6EA, 0x6FD, 0x6FF, 0x700, 0x710, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7F6, 0x7FA, 0x7FB, 0x7FD, 0x7FE, 0x800, 0x82E, 0x840, 0x85C, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x8E2, 0x8E3, 0x964, 0x966, 0x970, 0x971, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9F2, 0x9FC, 0x9FD, 0x9FE, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA76, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF0, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB70, 0xB71, 0xB72, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBF0, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC80, 0xC84, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD4F, 0xD54, 0xD58, 0xD5F, 0xD64, 0xD66, 0xD70, 0xD7A, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF4, 0xE01, 0xE3B, 0xE40, 0xE4F, 0xE50, 0xE5A, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF18, 0xF1A, 0xF20, 0xF2A, 0xF35, 0xF36, 0xF37, 0xF38, 0xF39, 0xF3A, 0xF3E, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF85, 0xF86, 0xF98, 0xF99, 0xFBD, 0xFC6, 0xFC7, 0x1000, 0x104A, 0x1050, 0x109E, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x1360, 0x1369, 0x1372, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1735, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17D4, 0x17D7, 0x17D8, 0x17DC, 0x17DE, 0x17E0, 0x17EA, 0x180B, 0x180E, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1946, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x1A00, 0x1A1C, 0x1A20, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA7, 0x1AA8, 0x1AB0, 0x1ABE, 0x1ABF, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B5A, 0x1B6B, 0x1B74, 0x1B80, 0x1BF4, 0x1C00, 0x1C38, 0x1C40, 0x1C4A, 0x1C4D, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CD0, 0x1CD3, 0x1CD4, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x203F, 0x2041, 0x2054, 0x2055, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x20D0, 0x20DD, 0x20E1, 0x20E2, 0x20E5, 0x20F1, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E00, 0x3005, 0x3008, 0x3021, 0x3030, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x3099, 0x309B, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA62C, 0xA640, 0xA670, 0xA674, 0xA67E, 0xA67F, 0xA6F2, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA828, 0xA82C, 0xA82D, 0xA840, 0xA874, 0xA880, 0xA8C6, 0xA8D0, 0xA8DA, 0xA8E0, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA92E, 0xA930, 0xA954, 0xA960, 0xA97D, 0xA980, 0xA9C1, 0xA9CF, 0xA9DA, 0xA9E0, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA60, 0xAA77, 0xAA7A, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAF0, 0xAAF2, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABEB, 0xABEC, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE00, 0xFE10, 0xFE20, 0xFE30, 0xFE33, 0xFE35, 0xFE4D, 0xFE50, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF10, 0xFF1A, 0xFF21, 0xFF3B, 0xFF3F, 0xFF40, 0xFF41, 0xFF5B, 0xFF66, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x101FD, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102E1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A40, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE7, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D28, 0x10D30, 0x10D3A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F51, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11000, 0x11047, 0x11066, 0x11070, 0x1107F, 0x110BB, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11140, 0x11144, 0x11148, 0x11150, 0x11174, 0x11176, 0x11177, 0x11180, 0x111C5, 0x111C9, 0x111CD, 0x111CE, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x11238, 0x1123E, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1144B, 0x11450, 0x1145A, 0x1145E, 0x11462, 0x11480, 0x114C6, 0x114C7, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115C1, 0x115D8, 0x115DE, 0x11600, 0x11641, 0x11644, 0x11645, 0x11650, 0x1165A, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x1173A, 0x11800, 0x1183B, 0x118A0, 0x118EA, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11944, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E2, 0x119E3, 0x119E5, 0x11A00, 0x11A3F, 0x11A47, 0x11A48, 0x11A50, 0x11A9A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C41, 0x11C50, 0x11C5A, 0x11C72, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF7, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF5, 0x16B00, 0x16B37, 0x16B40, 0x16B44, 0x16B50, 0x16B5A, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9D, 0x1BC9F, 0x1D165, 0x1D16A, 0x1D16D, 0x1D173, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D242, 0x1D245, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1DA00, 0x1DA37, 0x1DA3B, 0x1DA6D, 0x1DA75, 0x1DA76, 0x1DA84, 0x1DA85, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2FA, 0x1E800, 0x1E8C5, 0x1E8D0, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0100, 0xE01F0 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_XIDS_invlist[] = { /* for ASCII/Latin1 */ 1259, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xB5, 0xB6, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 1047 */ 1285, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_XIDS_invlist[] = { /* for EBCDIC 037 */ 1281, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2C2, 0x2C6, 0x2D2, 0x2E0, 0x2E5, 0x2EC, 0x2ED, 0x2EE, 0x2EF, 0x370, 0x375, 0x376, 0x378, 0x37B, 0x37E, 0x37F, 0x380, 0x386, 0x387, 0x388, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x3F6, 0x3F7, 0x482, 0x48A, 0x530, 0x531, 0x557, 0x559, 0x55A, 0x560, 0x589, 0x5D0, 0x5EB, 0x5EF, 0x5F3, 0x620, 0x64B, 0x66E, 0x670, 0x671, 0x6D4, 0x6D5, 0x6D6, 0x6E5, 0x6E7, 0x6EE, 0x6F0, 0x6FA, 0x6FD, 0x6FF, 0x700, 0x710, 0x711, 0x712, 0x730, 0x74D, 0x7A6, 0x7B1, 0x7B2, 0x7CA, 0x7EB, 0x7F4, 0x7F6, 0x7FA, 0x7FB, 0x800, 0x816, 0x81A, 0x81B, 0x824, 0x825, 0x828, 0x829, 0x840, 0x859, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x904, 0x93A, 0x93D, 0x93E, 0x950, 0x951, 0x958, 0x962, 0x971, 0x981, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BD, 0x9BE, 0x9CE, 0x9CF, 0x9DC, 0x9DE, 0x9DF, 0x9E2, 0x9F0, 0x9F2, 0x9FC, 0x9FD, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA72, 0xA75, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABD, 0xABE, 0xAD0, 0xAD1, 0xAE0, 0xAE2, 0xAF9, 0xAFA, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3D, 0xB3E, 0xB5C, 0xB5E, 0xB5F, 0xB62, 0xB71, 0xB72, 0xB83, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBD0, 0xBD1, 0xC05, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC3E, 0xC58, 0xC5B, 0xC60, 0xC62, 0xC80, 0xC81, 0xC85, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBD, 0xCBE, 0xCDE, 0xCDF, 0xCE0, 0xCE2, 0xCF1, 0xCF3, 0xD04, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD3B, 0xD3D, 0xD3E, 0xD4E, 0xD4F, 0xD54, 0xD57, 0xD5F, 0xD62, 0xD7A, 0xD80, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xE01, 0xE31, 0xE32, 0xE33, 0xE40, 0xE47, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEB1, 0xEB2, 0xEB3, 0xEBD, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEDC, 0xEE0, 0xF00, 0xF01, 0xF40, 0xF48, 0xF49, 0xF6D, 0xF88, 0xF8D, 0x1000, 0x102B, 0x103F, 0x1040, 0x1050, 0x1056, 0x105A, 0x105E, 0x1061, 0x1062, 0x1065, 0x1067, 0x106E, 0x1071, 0x1075, 0x1082, 0x108E, 0x108F, 0x10A0, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x10FB, 0x10FC, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x1380, 0x1390, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1401, 0x166D, 0x166F, 0x1680, 0x1681, 0x169B, 0x16A0, 0x16EB, 0x16EE, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1712, 0x1720, 0x1732, 0x1740, 0x1752, 0x1760, 0x176D, 0x176E, 0x1771, 0x1780, 0x17B4, 0x17D7, 0x17D8, 0x17DC, 0x17DD, 0x1820, 0x1879, 0x1880, 0x18A9, 0x18AA, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1950, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x1A00, 0x1A17, 0x1A20, 0x1A55, 0x1AA7, 0x1AA8, 0x1B05, 0x1B34, 0x1B45, 0x1B4C, 0x1B83, 0x1BA1, 0x1BAE, 0x1BB0, 0x1BBA, 0x1BE6, 0x1C00, 0x1C24, 0x1C4D, 0x1C50, 0x1C5A, 0x1C7E, 0x1C80, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC0, 0x1CE9, 0x1CED, 0x1CEE, 0x1CF4, 0x1CF5, 0x1CF7, 0x1CFA, 0x1CFB, 0x1D00, 0x1DC0, 0x1E00, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FBD, 0x1FBE, 0x1FBF, 0x1FC2, 0x1FC5, 0x1FC6, 0x1FCD, 0x1FD0, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FE0, 0x1FED, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFD, 0x2071, 0x2072, 0x207F, 0x2080, 0x2090, 0x209D, 0x2102, 0x2103, 0x2107, 0x2108, 0x210A, 0x2114, 0x2115, 0x2116, 0x2118, 0x211E, 0x2124, 0x2125, 0x2126, 0x2127, 0x2128, 0x2129, 0x212A, 0x213A, 0x213C, 0x2140, 0x2145, 0x214A, 0x214E, 0x214F, 0x2160, 0x2189, 0x2C00, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CE5, 0x2CEB, 0x2CEF, 0x2CF2, 0x2CF4, 0x2D00, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D70, 0x2D80, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x3005, 0x3008, 0x3021, 0x302A, 0x3031, 0x3036, 0x3038, 0x303D, 0x3041, 0x3097, 0x309D, 0x30A0, 0x30A1, 0x30FB, 0x30FC, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x31A0, 0x31C0, 0x31F0, 0x3200, 0x3400, 0x4DC0, 0x4E00, 0x9FFD, 0xA000, 0xA48D, 0xA4D0, 0xA4FE, 0xA500, 0xA60D, 0xA610, 0xA620, 0xA62A, 0xA62C, 0xA640, 0xA66F, 0xA67F, 0xA69E, 0xA6A0, 0xA6F0, 0xA717, 0xA720, 0xA722, 0xA789, 0xA78B, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA802, 0xA803, 0xA806, 0xA807, 0xA80B, 0xA80C, 0xA823, 0xA840, 0xA874, 0xA882, 0xA8B4, 0xA8F2, 0xA8F8, 0xA8FB, 0xA8FC, 0xA8FD, 0xA8FF, 0xA90A, 0xA926, 0xA930, 0xA947, 0xA960, 0xA97D, 0xA984, 0xA9B3, 0xA9CF, 0xA9D0, 0xA9E0, 0xA9E5, 0xA9E6, 0xA9F0, 0xA9FA, 0xA9FF, 0xAA00, 0xAA29, 0xAA40, 0xAA43, 0xAA44, 0xAA4C, 0xAA60, 0xAA77, 0xAA7A, 0xAA7B, 0xAA7E, 0xAAB0, 0xAAB1, 0xAAB2, 0xAAB5, 0xAAB7, 0xAAB9, 0xAABE, 0xAAC0, 0xAAC1, 0xAAC2, 0xAAC3, 0xAADB, 0xAADE, 0xAAE0, 0xAAEB, 0xAAF2, 0xAAF5, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB70, 0xABE3, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB1E, 0xFB1F, 0xFB29, 0xFB2A, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBB2, 0xFBD3, 0xFC5E, 0xFC64, 0xFD3E, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFA, 0xFE71, 0xFE72, 0xFE73, 0xFE74, 0xFE77, 0xFE78, 0xFE79, 0xFE7A, 0xFE7B, 0xFE7C, 0xFE7D, 0xFE7E, 0xFE7F, 0xFEFD, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF66, 0xFF9E, 0xFFA0, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10140, 0x10175, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x10300, 0x10320, 0x1032D, 0x1034B, 0x10350, 0x10376, 0x10380, 0x1039E, 0x103A0, 0x103C4, 0x103C8, 0x103D0, 0x103D1, 0x103D6, 0x10400, 0x1049E, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10860, 0x10877, 0x10880, 0x1089F, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x10900, 0x10916, 0x10920, 0x1093A, 0x10980, 0x109B8, 0x109BE, 0x109C0, 0x10A00, 0x10A01, 0x10A10, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A60, 0x10A7D, 0x10A80, 0x10A9D, 0x10AC0, 0x10AC8, 0x10AC9, 0x10AE5, 0x10B00, 0x10B36, 0x10B40, 0x10B56, 0x10B60, 0x10B73, 0x10B80, 0x10B92, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10D00, 0x10D24, 0x10E80, 0x10EAA, 0x10EB0, 0x10EB2, 0x10F00, 0x10F1D, 0x10F27, 0x10F28, 0x10F30, 0x10F46, 0x10FB0, 0x10FC5, 0x10FE0, 0x10FF7, 0x11003, 0x11038, 0x11083, 0x110B0, 0x110D0, 0x110E9, 0x11103, 0x11127, 0x11144, 0x11145, 0x11147, 0x11148, 0x11150, 0x11173, 0x11176, 0x11177, 0x11183, 0x111B3, 0x111C1, 0x111C5, 0x111DA, 0x111DB, 0x111DC, 0x111DD, 0x11200, 0x11212, 0x11213, 0x1122C, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112A9, 0x112B0, 0x112DF, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133D, 0x1133E, 0x11350, 0x11351, 0x1135D, 0x11362, 0x11400, 0x11435, 0x11447, 0x1144B, 0x1145F, 0x11462, 0x11480, 0x114B0, 0x114C4, 0x114C6, 0x114C7, 0x114C8, 0x11580, 0x115AF, 0x115D8, 0x115DC, 0x11600, 0x11630, 0x11644, 0x11645, 0x11680, 0x116AB, 0x116B8, 0x116B9, 0x11700, 0x1171B, 0x11800, 0x1182C, 0x118A0, 0x118E0, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11930, 0x1193F, 0x11940, 0x11941, 0x11942, 0x119A0, 0x119A8, 0x119AA, 0x119D1, 0x119E1, 0x119E2, 0x119E3, 0x119E4, 0x11A00, 0x11A01, 0x11A0B, 0x11A33, 0x11A3A, 0x11A3B, 0x11A50, 0x11A51, 0x11A5C, 0x11A8A, 0x11A9D, 0x11A9E, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C2F, 0x11C40, 0x11C41, 0x11C72, 0x11C90, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D31, 0x11D46, 0x11D47, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8A, 0x11D98, 0x11D99, 0x11EE0, 0x11EF3, 0x11FB0, 0x11FB1, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12480, 0x12544, 0x13000, 0x1342F, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16AD0, 0x16AEE, 0x16B00, 0x16B30, 0x16B40, 0x16B44, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E80, 0x16F00, 0x16F4B, 0x16F50, 0x16F51, 0x16F93, 0x16FA0, 0x16FE0, 0x16FE2, 0x16FE3, 0x16FE4, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D6C1, 0x1D6C2, 0x1D6DB, 0x1D6DC, 0x1D6FB, 0x1D6FC, 0x1D715, 0x1D716, 0x1D735, 0x1D736, 0x1D74F, 0x1D750, 0x1D76F, 0x1D770, 0x1D789, 0x1D78A, 0x1D7A9, 0x1D7AA, 0x1D7C3, 0x1D7C4, 0x1D7CC, 0x1E100, 0x1E12D, 0x1E137, 0x1E13E, 0x1E14E, 0x1E14F, 0x1E2C0, 0x1E2EC, 0x1E800, 0x1E8C5, 0x1E900, 0x1E944, 0x1E94B, 0x1E94C, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B }; # endif /* EBCDIC 037 */ static const UV UNI_XPEO_invlist[] = { /* for all charsets */ 5, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x103A0, 0x103C4, 0x103C8, 0x103D6 }; static const UV UNI_XSUX_invlist[] = { /* for all charsets */ 9, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x12000, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544 }; static const UV UNI_YEZI_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x60C, 0x60D, 0x61B, 0x61C, 0x61F, 0x620, 0x660, 0x66A, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2 }; static const UV UNI_YI_invlist[] = { /* for all charsets */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x3001, 0x3003, 0x3008, 0x3012, 0x3014, 0x301C, 0x30FB, 0x30FC, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xFF61, 0xFF66 }; static const UV UNI_YIJING_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x4DC0, 0x4E00 }; static const UV UNI_YIRADICALS_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA490, 0xA4D0 }; static const UV UNI_YISYLLABLES_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xA000, 0xA490 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_Z_invlist[] = { /* for ASCII/Latin1 */ 17, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x21, 0xA0, 0xA1, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_Z_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_Z_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x2028, 0x202A, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ static const UV UNI_ZANB_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x11A00, 0x11A48 }; static const UV UNI_ZL_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2028, 0x2029 }; static const UV UNI_ZP_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x2029, 0x202A }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_ZS_invlist[] = { /* for ASCII/Latin1 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x20, 0x21, 0xA0, 0xA1, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_ZS_invlist[] = { /* for EBCDIC 1047 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_ZS_invlist[] = { /* for EBCDIC 037 */ 13, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x40, 0x42, 0x1680, 0x1681, 0x2000, 0x200B, 0x202F, 0x2030, 0x205F, 0x2060, 0x3000, 0x3001 }; # endif /* EBCDIC 037 */ # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI_ZYYY_invlist[] = { /* for ASCII/Latin1 */ 296, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x41, 0x5B, 0x61, 0x7B, 0xAA, 0xAB, 0xBA, 0xBB, 0xC0, 0xD7, 0xD8, 0xF7, 0xF8, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x16EB, 0x16EE, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3004, 0x3005, 0x3012, 0x3013, 0x3020, 0x3021, 0x3036, 0x3037, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x16FE2, 0x16FE4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 1047 */ 322, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAD, 0xAE, 0xAF, 0xBA, 0xBB, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x16EB, 0x16EE, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3004, 0x3005, 0x3012, 0x3013, 0x3020, 0x3021, 0x3036, 0x3037, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x16FE2, 0x16FE4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI_ZYYY_invlist[] = { /* for EBCDIC 037 */ 318, /* Number of elements */ 148565664, /* Version and data structure type */ 0, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x42, 0x4A, 0x51, 0x5A, 0x62, 0x6A, 0x70, 0x79, 0x80, 0x8A, 0x8C, 0x8F, 0x91, 0x9D, 0x9E, 0x9F, 0xA2, 0xAA, 0xAC, 0xAF, 0xC1, 0xCA, 0xCB, 0xD0, 0xD1, 0xDA, 0xDB, 0xE0, 0xE2, 0xEA, 0xEB, 0xF0, 0xFB, 0xFF, 0x100, 0x2B9, 0x2E0, 0x2E5, 0x2EA, 0x2EC, 0x300, 0x374, 0x375, 0x37E, 0x37F, 0x385, 0x386, 0x387, 0x388, 0x605, 0x606, 0x6DD, 0x6DE, 0x8E2, 0x8E3, 0xE3F, 0xE40, 0xFD5, 0xFD9, 0x16EB, 0x16EE, 0x2000, 0x200C, 0x200E, 0x202F, 0x2030, 0x2065, 0x2066, 0x2071, 0x2074, 0x207F, 0x2080, 0x208F, 0x20A0, 0x20C0, 0x2100, 0x2126, 0x2127, 0x212A, 0x212C, 0x2132, 0x2133, 0x214E, 0x214F, 0x2160, 0x2189, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2800, 0x2900, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C00, 0x2E00, 0x2E43, 0x2E44, 0x2E53, 0x2FF0, 0x2FFC, 0x3000, 0x3001, 0x3004, 0x3005, 0x3012, 0x3013, 0x3020, 0x3021, 0x3036, 0x3037, 0x3248, 0x3260, 0x327F, 0x3280, 0x32B1, 0x32C0, 0x32CC, 0x32D0, 0x3371, 0x337B, 0x3380, 0x33E0, 0x33FF, 0x3400, 0x4DC0, 0x4E00, 0xA708, 0xA722, 0xA788, 0xA78B, 0xAB5B, 0xAB5C, 0xAB6A, 0xAB6C, 0xFD3E, 0xFD40, 0xFE10, 0xFE1A, 0xFE30, 0xFE45, 0xFE47, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFEFF, 0xFF00, 0xFF01, 0xFF21, 0xFF3B, 0xFF41, 0xFF5B, 0xFF61, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10190, 0x1019D, 0x101D0, 0x101FD, 0x16FE2, 0x16FE4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D167, 0x1D16A, 0x1D17B, 0x1D183, 0x1D185, 0x1D18C, 0x1D1AA, 0x1D1AE, 0x1D1E9, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D372, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1D800, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F200, 0x1F201, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0xE0001, 0xE0002, 0xE0020, 0xE0080 }; # endif /* EBCDIC 037 */ static const UV UNI_ZZZZ_invlist[] = { /* for all charsets */ 1350, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x378, 0x37A, 0x380, 0x384, 0x38B, 0x38C, 0x38D, 0x38E, 0x3A2, 0x3A3, 0x530, 0x531, 0x557, 0x559, 0x58B, 0x58D, 0x590, 0x591, 0x5C8, 0x5D0, 0x5EB, 0x5EF, 0x5F5, 0x600, 0x61D, 0x61E, 0x70E, 0x70F, 0x74B, 0x74D, 0x7B2, 0x7C0, 0x7FB, 0x7FD, 0x82E, 0x830, 0x83F, 0x840, 0x85C, 0x85E, 0x85F, 0x860, 0x86B, 0x8A0, 0x8B5, 0x8B6, 0x8C8, 0x8D3, 0x984, 0x985, 0x98D, 0x98F, 0x991, 0x993, 0x9A9, 0x9AA, 0x9B1, 0x9B2, 0x9B3, 0x9B6, 0x9BA, 0x9BC, 0x9C5, 0x9C7, 0x9C9, 0x9CB, 0x9CF, 0x9D7, 0x9D8, 0x9DC, 0x9DE, 0x9DF, 0x9E4, 0x9E6, 0x9FF, 0xA01, 0xA04, 0xA05, 0xA0B, 0xA0F, 0xA11, 0xA13, 0xA29, 0xA2A, 0xA31, 0xA32, 0xA34, 0xA35, 0xA37, 0xA38, 0xA3A, 0xA3C, 0xA3D, 0xA3E, 0xA43, 0xA47, 0xA49, 0xA4B, 0xA4E, 0xA51, 0xA52, 0xA59, 0xA5D, 0xA5E, 0xA5F, 0xA66, 0xA77, 0xA81, 0xA84, 0xA85, 0xA8E, 0xA8F, 0xA92, 0xA93, 0xAA9, 0xAAA, 0xAB1, 0xAB2, 0xAB4, 0xAB5, 0xABA, 0xABC, 0xAC6, 0xAC7, 0xACA, 0xACB, 0xACE, 0xAD0, 0xAD1, 0xAE0, 0xAE4, 0xAE6, 0xAF2, 0xAF9, 0xB00, 0xB01, 0xB04, 0xB05, 0xB0D, 0xB0F, 0xB11, 0xB13, 0xB29, 0xB2A, 0xB31, 0xB32, 0xB34, 0xB35, 0xB3A, 0xB3C, 0xB45, 0xB47, 0xB49, 0xB4B, 0xB4E, 0xB55, 0xB58, 0xB5C, 0xB5E, 0xB5F, 0xB64, 0xB66, 0xB78, 0xB82, 0xB84, 0xB85, 0xB8B, 0xB8E, 0xB91, 0xB92, 0xB96, 0xB99, 0xB9B, 0xB9C, 0xB9D, 0xB9E, 0xBA0, 0xBA3, 0xBA5, 0xBA8, 0xBAB, 0xBAE, 0xBBA, 0xBBE, 0xBC3, 0xBC6, 0xBC9, 0xBCA, 0xBCE, 0xBD0, 0xBD1, 0xBD7, 0xBD8, 0xBE6, 0xBFB, 0xC00, 0xC0D, 0xC0E, 0xC11, 0xC12, 0xC29, 0xC2A, 0xC3A, 0xC3D, 0xC45, 0xC46, 0xC49, 0xC4A, 0xC4E, 0xC55, 0xC57, 0xC58, 0xC5B, 0xC60, 0xC64, 0xC66, 0xC70, 0xC77, 0xC8D, 0xC8E, 0xC91, 0xC92, 0xCA9, 0xCAA, 0xCB4, 0xCB5, 0xCBA, 0xCBC, 0xCC5, 0xCC6, 0xCC9, 0xCCA, 0xCCE, 0xCD5, 0xCD7, 0xCDE, 0xCDF, 0xCE0, 0xCE4, 0xCE6, 0xCF0, 0xCF1, 0xCF3, 0xD00, 0xD0D, 0xD0E, 0xD11, 0xD12, 0xD45, 0xD46, 0xD49, 0xD4A, 0xD50, 0xD54, 0xD64, 0xD66, 0xD80, 0xD81, 0xD84, 0xD85, 0xD97, 0xD9A, 0xDB2, 0xDB3, 0xDBC, 0xDBD, 0xDBE, 0xDC0, 0xDC7, 0xDCA, 0xDCB, 0xDCF, 0xDD5, 0xDD6, 0xDD7, 0xDD8, 0xDE0, 0xDE6, 0xDF0, 0xDF2, 0xDF5, 0xE01, 0xE3B, 0xE3F, 0xE5C, 0xE81, 0xE83, 0xE84, 0xE85, 0xE86, 0xE8B, 0xE8C, 0xEA4, 0xEA5, 0xEA6, 0xEA7, 0xEBE, 0xEC0, 0xEC5, 0xEC6, 0xEC7, 0xEC8, 0xECE, 0xED0, 0xEDA, 0xEDC, 0xEE0, 0xF00, 0xF48, 0xF49, 0xF6D, 0xF71, 0xF98, 0xF99, 0xFBD, 0xFBE, 0xFCD, 0xFCE, 0xFDB, 0x1000, 0x10C6, 0x10C7, 0x10C8, 0x10CD, 0x10CE, 0x10D0, 0x1249, 0x124A, 0x124E, 0x1250, 0x1257, 0x1258, 0x1259, 0x125A, 0x125E, 0x1260, 0x1289, 0x128A, 0x128E, 0x1290, 0x12B1, 0x12B2, 0x12B6, 0x12B8, 0x12BF, 0x12C0, 0x12C1, 0x12C2, 0x12C6, 0x12C8, 0x12D7, 0x12D8, 0x1311, 0x1312, 0x1316, 0x1318, 0x135B, 0x135D, 0x137D, 0x1380, 0x139A, 0x13A0, 0x13F6, 0x13F8, 0x13FE, 0x1400, 0x169D, 0x16A0, 0x16F9, 0x1700, 0x170D, 0x170E, 0x1715, 0x1720, 0x1737, 0x1740, 0x1754, 0x1760, 0x176D, 0x176E, 0x1771, 0x1772, 0x1774, 0x1780, 0x17DE, 0x17E0, 0x17EA, 0x17F0, 0x17FA, 0x1800, 0x180F, 0x1810, 0x181A, 0x1820, 0x1879, 0x1880, 0x18AB, 0x18B0, 0x18F6, 0x1900, 0x191F, 0x1920, 0x192C, 0x1930, 0x193C, 0x1940, 0x1941, 0x1944, 0x196E, 0x1970, 0x1975, 0x1980, 0x19AC, 0x19B0, 0x19CA, 0x19D0, 0x19DB, 0x19DE, 0x1A1C, 0x1A1E, 0x1A5F, 0x1A60, 0x1A7D, 0x1A7F, 0x1A8A, 0x1A90, 0x1A9A, 0x1AA0, 0x1AAE, 0x1AB0, 0x1AC1, 0x1B00, 0x1B4C, 0x1B50, 0x1B7D, 0x1B80, 0x1BF4, 0x1BFC, 0x1C38, 0x1C3B, 0x1C4A, 0x1C4D, 0x1C89, 0x1C90, 0x1CBB, 0x1CBD, 0x1CC8, 0x1CD0, 0x1CFB, 0x1D00, 0x1DFA, 0x1DFB, 0x1F16, 0x1F18, 0x1F1E, 0x1F20, 0x1F46, 0x1F48, 0x1F4E, 0x1F50, 0x1F58, 0x1F59, 0x1F5A, 0x1F5B, 0x1F5C, 0x1F5D, 0x1F5E, 0x1F5F, 0x1F7E, 0x1F80, 0x1FB5, 0x1FB6, 0x1FC5, 0x1FC6, 0x1FD4, 0x1FD6, 0x1FDC, 0x1FDD, 0x1FF0, 0x1FF2, 0x1FF5, 0x1FF6, 0x1FFF, 0x2000, 0x2065, 0x2066, 0x2072, 0x2074, 0x208F, 0x2090, 0x209D, 0x20A0, 0x20C0, 0x20D0, 0x20F1, 0x2100, 0x218C, 0x2190, 0x2427, 0x2440, 0x244B, 0x2460, 0x2B74, 0x2B76, 0x2B96, 0x2B97, 0x2C2F, 0x2C30, 0x2C5F, 0x2C60, 0x2CF4, 0x2CF9, 0x2D26, 0x2D27, 0x2D28, 0x2D2D, 0x2D2E, 0x2D30, 0x2D68, 0x2D6F, 0x2D71, 0x2D7F, 0x2D97, 0x2DA0, 0x2DA7, 0x2DA8, 0x2DAF, 0x2DB0, 0x2DB7, 0x2DB8, 0x2DBF, 0x2DC0, 0x2DC7, 0x2DC8, 0x2DCF, 0x2DD0, 0x2DD7, 0x2DD8, 0x2DDF, 0x2DE0, 0x2E53, 0x2E80, 0x2E9A, 0x2E9B, 0x2EF4, 0x2F00, 0x2FD6, 0x2FF0, 0x2FFC, 0x3000, 0x3040, 0x3041, 0x3097, 0x3099, 0x3100, 0x3105, 0x3130, 0x3131, 0x318F, 0x3190, 0x31E4, 0x31F0, 0x321F, 0x3220, 0x9FFD, 0xA000, 0xA48D, 0xA490, 0xA4C7, 0xA4D0, 0xA62C, 0xA640, 0xA6F8, 0xA700, 0xA7C0, 0xA7C2, 0xA7CB, 0xA7F5, 0xA82D, 0xA830, 0xA83A, 0xA840, 0xA878, 0xA880, 0xA8C6, 0xA8CE, 0xA8DA, 0xA8E0, 0xA954, 0xA95F, 0xA97D, 0xA980, 0xA9CE, 0xA9CF, 0xA9DA, 0xA9DE, 0xA9FF, 0xAA00, 0xAA37, 0xAA40, 0xAA4E, 0xAA50, 0xAA5A, 0xAA5C, 0xAAC3, 0xAADB, 0xAAF7, 0xAB01, 0xAB07, 0xAB09, 0xAB0F, 0xAB11, 0xAB17, 0xAB20, 0xAB27, 0xAB28, 0xAB2F, 0xAB30, 0xAB6C, 0xAB70, 0xABEE, 0xABF0, 0xABFA, 0xAC00, 0xD7A4, 0xD7B0, 0xD7C7, 0xD7CB, 0xD7FC, 0xF900, 0xFA6E, 0xFA70, 0xFADA, 0xFB00, 0xFB07, 0xFB13, 0xFB18, 0xFB1D, 0xFB37, 0xFB38, 0xFB3D, 0xFB3E, 0xFB3F, 0xFB40, 0xFB42, 0xFB43, 0xFB45, 0xFB46, 0xFBC2, 0xFBD3, 0xFD40, 0xFD50, 0xFD90, 0xFD92, 0xFDC8, 0xFDF0, 0xFDFE, 0xFE00, 0xFE1A, 0xFE20, 0xFE53, 0xFE54, 0xFE67, 0xFE68, 0xFE6C, 0xFE70, 0xFE75, 0xFE76, 0xFEFD, 0xFEFF, 0xFF00, 0xFF01, 0xFFBF, 0xFFC2, 0xFFC8, 0xFFCA, 0xFFD0, 0xFFD2, 0xFFD8, 0xFFDA, 0xFFDD, 0xFFE0, 0xFFE7, 0xFFE8, 0xFFEF, 0xFFF9, 0xFFFE, 0x10000, 0x1000C, 0x1000D, 0x10027, 0x10028, 0x1003B, 0x1003C, 0x1003E, 0x1003F, 0x1004E, 0x10050, 0x1005E, 0x10080, 0x100FB, 0x10100, 0x10103, 0x10107, 0x10134, 0x10137, 0x1018F, 0x10190, 0x1019D, 0x101A0, 0x101A1, 0x101D0, 0x101FE, 0x10280, 0x1029D, 0x102A0, 0x102D1, 0x102E0, 0x102FC, 0x10300, 0x10324, 0x1032D, 0x1034B, 0x10350, 0x1037B, 0x10380, 0x1039E, 0x1039F, 0x103C4, 0x103C8, 0x103D6, 0x10400, 0x1049E, 0x104A0, 0x104AA, 0x104B0, 0x104D4, 0x104D8, 0x104FC, 0x10500, 0x10528, 0x10530, 0x10564, 0x1056F, 0x10570, 0x10600, 0x10737, 0x10740, 0x10756, 0x10760, 0x10768, 0x10800, 0x10806, 0x10808, 0x10809, 0x1080A, 0x10836, 0x10837, 0x10839, 0x1083C, 0x1083D, 0x1083F, 0x10856, 0x10857, 0x1089F, 0x108A7, 0x108B0, 0x108E0, 0x108F3, 0x108F4, 0x108F6, 0x108FB, 0x1091C, 0x1091F, 0x1093A, 0x1093F, 0x10940, 0x10980, 0x109B8, 0x109BC, 0x109D0, 0x109D2, 0x10A04, 0x10A05, 0x10A07, 0x10A0C, 0x10A14, 0x10A15, 0x10A18, 0x10A19, 0x10A36, 0x10A38, 0x10A3B, 0x10A3F, 0x10A49, 0x10A50, 0x10A59, 0x10A60, 0x10AA0, 0x10AC0, 0x10AE7, 0x10AEB, 0x10AF7, 0x10B00, 0x10B36, 0x10B39, 0x10B56, 0x10B58, 0x10B73, 0x10B78, 0x10B92, 0x10B99, 0x10B9D, 0x10BA9, 0x10BB0, 0x10C00, 0x10C49, 0x10C80, 0x10CB3, 0x10CC0, 0x10CF3, 0x10CFA, 0x10D28, 0x10D30, 0x10D3A, 0x10E60, 0x10E7F, 0x10E80, 0x10EAA, 0x10EAB, 0x10EAE, 0x10EB0, 0x10EB2, 0x10F00, 0x10F28, 0x10F30, 0x10F5A, 0x10FB0, 0x10FCC, 0x10FE0, 0x10FF7, 0x11000, 0x1104E, 0x11052, 0x11070, 0x1107F, 0x110C2, 0x110CD, 0x110CE, 0x110D0, 0x110E9, 0x110F0, 0x110FA, 0x11100, 0x11135, 0x11136, 0x11148, 0x11150, 0x11177, 0x11180, 0x111E0, 0x111E1, 0x111F5, 0x11200, 0x11212, 0x11213, 0x1123F, 0x11280, 0x11287, 0x11288, 0x11289, 0x1128A, 0x1128E, 0x1128F, 0x1129E, 0x1129F, 0x112AA, 0x112B0, 0x112EB, 0x112F0, 0x112FA, 0x11300, 0x11304, 0x11305, 0x1130D, 0x1130F, 0x11311, 0x11313, 0x11329, 0x1132A, 0x11331, 0x11332, 0x11334, 0x11335, 0x1133A, 0x1133B, 0x11345, 0x11347, 0x11349, 0x1134B, 0x1134E, 0x11350, 0x11351, 0x11357, 0x11358, 0x1135D, 0x11364, 0x11366, 0x1136D, 0x11370, 0x11375, 0x11400, 0x1145C, 0x1145D, 0x11462, 0x11480, 0x114C8, 0x114D0, 0x114DA, 0x11580, 0x115B6, 0x115B8, 0x115DE, 0x11600, 0x11645, 0x11650, 0x1165A, 0x11660, 0x1166D, 0x11680, 0x116B9, 0x116C0, 0x116CA, 0x11700, 0x1171B, 0x1171D, 0x1172C, 0x11730, 0x11740, 0x11800, 0x1183C, 0x118A0, 0x118F3, 0x118FF, 0x11907, 0x11909, 0x1190A, 0x1190C, 0x11914, 0x11915, 0x11917, 0x11918, 0x11936, 0x11937, 0x11939, 0x1193B, 0x11947, 0x11950, 0x1195A, 0x119A0, 0x119A8, 0x119AA, 0x119D8, 0x119DA, 0x119E5, 0x11A00, 0x11A48, 0x11A50, 0x11AA3, 0x11AC0, 0x11AF9, 0x11C00, 0x11C09, 0x11C0A, 0x11C37, 0x11C38, 0x11C46, 0x11C50, 0x11C6D, 0x11C70, 0x11C90, 0x11C92, 0x11CA8, 0x11CA9, 0x11CB7, 0x11D00, 0x11D07, 0x11D08, 0x11D0A, 0x11D0B, 0x11D37, 0x11D3A, 0x11D3B, 0x11D3C, 0x11D3E, 0x11D3F, 0x11D48, 0x11D50, 0x11D5A, 0x11D60, 0x11D66, 0x11D67, 0x11D69, 0x11D6A, 0x11D8F, 0x11D90, 0x11D92, 0x11D93, 0x11D99, 0x11DA0, 0x11DAA, 0x11EE0, 0x11EF9, 0x11FB0, 0x11FB1, 0x11FC0, 0x11FF2, 0x11FFF, 0x1239A, 0x12400, 0x1246F, 0x12470, 0x12475, 0x12480, 0x12544, 0x13000, 0x1342F, 0x13430, 0x13439, 0x14400, 0x14647, 0x16800, 0x16A39, 0x16A40, 0x16A5F, 0x16A60, 0x16A6A, 0x16A6E, 0x16A70, 0x16AD0, 0x16AEE, 0x16AF0, 0x16AF6, 0x16B00, 0x16B46, 0x16B50, 0x16B5A, 0x16B5B, 0x16B62, 0x16B63, 0x16B78, 0x16B7D, 0x16B90, 0x16E40, 0x16E9B, 0x16F00, 0x16F4B, 0x16F4F, 0x16F88, 0x16F8F, 0x16FA0, 0x16FE0, 0x16FE5, 0x16FF0, 0x16FF2, 0x17000, 0x187F8, 0x18800, 0x18CD6, 0x18D00, 0x18D09, 0x1B000, 0x1B11F, 0x1B150, 0x1B153, 0x1B164, 0x1B168, 0x1B170, 0x1B2FC, 0x1BC00, 0x1BC6B, 0x1BC70, 0x1BC7D, 0x1BC80, 0x1BC89, 0x1BC90, 0x1BC9A, 0x1BC9C, 0x1BCA4, 0x1D000, 0x1D0F6, 0x1D100, 0x1D127, 0x1D129, 0x1D1E9, 0x1D200, 0x1D246, 0x1D2E0, 0x1D2F4, 0x1D300, 0x1D357, 0x1D360, 0x1D379, 0x1D400, 0x1D455, 0x1D456, 0x1D49D, 0x1D49E, 0x1D4A0, 0x1D4A2, 0x1D4A3, 0x1D4A5, 0x1D4A7, 0x1D4A9, 0x1D4AD, 0x1D4AE, 0x1D4BA, 0x1D4BB, 0x1D4BC, 0x1D4BD, 0x1D4C4, 0x1D4C5, 0x1D506, 0x1D507, 0x1D50B, 0x1D50D, 0x1D515, 0x1D516, 0x1D51D, 0x1D51E, 0x1D53A, 0x1D53B, 0x1D53F, 0x1D540, 0x1D545, 0x1D546, 0x1D547, 0x1D54A, 0x1D551, 0x1D552, 0x1D6A6, 0x1D6A8, 0x1D7CC, 0x1D7CE, 0x1DA8C, 0x1DA9B, 0x1DAA0, 0x1DAA1, 0x1DAB0, 0x1E000, 0x1E007, 0x1E008, 0x1E019, 0x1E01B, 0x1E022, 0x1E023, 0x1E025, 0x1E026, 0x1E02B, 0x1E100, 0x1E12D, 0x1E130, 0x1E13E, 0x1E140, 0x1E14A, 0x1E14E, 0x1E150, 0x1E2C0, 0x1E2FA, 0x1E2FF, 0x1E300, 0x1E800, 0x1E8C5, 0x1E8C7, 0x1E8D7, 0x1E900, 0x1E94C, 0x1E950, 0x1E95A, 0x1E95E, 0x1E960, 0x1EC71, 0x1ECB5, 0x1ED01, 0x1ED3E, 0x1EE00, 0x1EE04, 0x1EE05, 0x1EE20, 0x1EE21, 0x1EE23, 0x1EE24, 0x1EE25, 0x1EE27, 0x1EE28, 0x1EE29, 0x1EE33, 0x1EE34, 0x1EE38, 0x1EE39, 0x1EE3A, 0x1EE3B, 0x1EE3C, 0x1EE42, 0x1EE43, 0x1EE47, 0x1EE48, 0x1EE49, 0x1EE4A, 0x1EE4B, 0x1EE4C, 0x1EE4D, 0x1EE50, 0x1EE51, 0x1EE53, 0x1EE54, 0x1EE55, 0x1EE57, 0x1EE58, 0x1EE59, 0x1EE5A, 0x1EE5B, 0x1EE5C, 0x1EE5D, 0x1EE5E, 0x1EE5F, 0x1EE60, 0x1EE61, 0x1EE63, 0x1EE64, 0x1EE65, 0x1EE67, 0x1EE6B, 0x1EE6C, 0x1EE73, 0x1EE74, 0x1EE78, 0x1EE79, 0x1EE7D, 0x1EE7E, 0x1EE7F, 0x1EE80, 0x1EE8A, 0x1EE8B, 0x1EE9C, 0x1EEA1, 0x1EEA4, 0x1EEA5, 0x1EEAA, 0x1EEAB, 0x1EEBC, 0x1EEF0, 0x1EEF2, 0x1F000, 0x1F02C, 0x1F030, 0x1F094, 0x1F0A0, 0x1F0AF, 0x1F0B1, 0x1F0C0, 0x1F0C1, 0x1F0D0, 0x1F0D1, 0x1F0F6, 0x1F100, 0x1F1AE, 0x1F1E6, 0x1F203, 0x1F210, 0x1F23C, 0x1F240, 0x1F249, 0x1F250, 0x1F252, 0x1F260, 0x1F266, 0x1F300, 0x1F6D8, 0x1F6E0, 0x1F6ED, 0x1F6F0, 0x1F6FD, 0x1F700, 0x1F774, 0x1F780, 0x1F7D9, 0x1F7E0, 0x1F7EC, 0x1F800, 0x1F80C, 0x1F810, 0x1F848, 0x1F850, 0x1F85A, 0x1F860, 0x1F888, 0x1F890, 0x1F8AE, 0x1F8B0, 0x1F8B2, 0x1F900, 0x1F979, 0x1F97A, 0x1F9CC, 0x1F9CD, 0x1FA54, 0x1FA60, 0x1FA6E, 0x1FA70, 0x1FA75, 0x1FA78, 0x1FA7B, 0x1FA80, 0x1FA87, 0x1FA90, 0x1FAA9, 0x1FAB0, 0x1FAB7, 0x1FAC0, 0x1FAC3, 0x1FAD0, 0x1FAD7, 0x1FB00, 0x1FB93, 0x1FB94, 0x1FBCB, 0x1FBF0, 0x1FBFA, 0x20000, 0x2A6DE, 0x2A700, 0x2B735, 0x2B740, 0x2B81E, 0x2B820, 0x2CEA2, 0x2CEB0, 0x2EBE1, 0x2F800, 0x2FA1E, 0x30000, 0x3134B, 0xE0001, 0xE0002, 0xE0020, 0xE0080, 0xE0100, 0xE01F0 }; static const UV UNI__PERL_NCHAR_invlist[] = { /* for all charsets */ 37, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xFDD0, 0xFDF0, 0xFFFE, 0x10000, 0x1FFFE, 0x20000, 0x2FFFE, 0x30000, 0x3FFFE, 0x40000, 0x4FFFE, 0x50000, 0x5FFFE, 0x60000, 0x6FFFE, 0x70000, 0x7FFFE, 0x80000, 0x8FFFE, 0x90000, 0x9FFFE, 0xA0000, 0xAFFFE, 0xB0000, 0xBFFFE, 0xC0000, 0xCFFFE, 0xD0000, 0xDFFFE, 0xE0000, 0xEFFFE, 0xF0000, 0xFFFFE, 0x100000, 0x10FFFE, 0x110000 }; # if 'A' == 65 /* ASCII/Latin1 */ static const UV UNI__PERL_PATWS_invlist[] = { /* for ASCII/Latin1 */ 11, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x9, 0xE, 0x20, 0x21, 0x85, 0x86, 0x200E, 0x2010, 0x2028, 0x202A }; # endif /* ASCII/Latin1 */ # if 'A' == 193 /* EBCDIC 1047 */ \ && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 static const UV UNI__PERL_PATWS_invlist[] = { /* for EBCDIC 1047 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x200E, 0x2010, 0x2028, 0x202A }; # endif /* EBCDIC 1047 */ # if 'A' == 193 /* EBCDIC 037 */ \ && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 static const UV UNI__PERL_PATWS_invlist[] = { /* for EBCDIC 037 */ 15, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0x5, 0x6, 0xB, 0xE, 0x15, 0x16, 0x25, 0x26, 0x40, 0x41, 0x200E, 0x2010, 0x2028, 0x202A }; # endif /* EBCDIC 037 */ static const UV UNI__PERL_SURROGATE_invlist[] = { /* for all charsets */ 3, /* Number of elements */ 148565664, /* Version and data structure type */ 1, /* 0 if the list starts at 0; 1 if it starts at the element beyond 0 */ 0x0, 0xD800, 0xE000 }; const char * const deprecated_property_msgs[] = { "", "Surrogates should never appear in well-formed text, and therefore shouldn't be the basis for line breaking", "Supplanted by Line_Break property values; see www.unicode.org/reports/tr14" }; #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGCOMP_C) #define UNI_HYPHEN (UNI_HYPHEN_perl_aux + (MAX_UNI_KEYWORD_INDEX * 2)) #define UNI_LB__SG (UNI_LB__SG_perl_aux + (MAX_UNI_KEYWORD_INDEX * 1)) typedef enum { PERL_BIN_PLACEHOLDER = 0, /* So no real value is zero */ UNI_ADLM, UNI_AEGEANNUMBERS, UNI_AGE__10, UNI_AGE__11, UNI_AGE__12, UNI_AGE__12_DOT_1, UNI_AGE__13, UNI_AGE__2, UNI_AGE__2_DOT_1, UNI_AGE__3, UNI_AGE__3_DOT_1, UNI_AGE__3_DOT_2, UNI_AGE__4, UNI_AGE__4_DOT_1, UNI_AGE__5, UNI_AGE__5_DOT_1, UNI_AGE__5_DOT_2, UNI_AGE__6, UNI_AGE__6_DOT_1, UNI_AGE__6_DOT_2, UNI_AGE__6_DOT_3, UNI_AGE__7, UNI_AGE__8, UNI_AGE__9, UNI_AGE__NA, UNI_AGHB, UNI_AHOM, UNI_ALCHEMICAL, UNI_ALL, UNI_ALPHABETICPF, UNI_ANCIENTGREEKMUSIC, UNI_ANCIENTGREEKNUMBERS, UNI_ANCIENTSYMBOLS, UNI_ANY, UNI_ARAB, UNI_ARABICEXTA, UNI_ARABICMATH, UNI_ARABICPFA, UNI_ARABICPFB, UNI_ARABICSUP, UNI_ARMI, UNI_ARMN, UNI_ARROWS, UNI_ASCII, UNI_ASSIGNED, UNI_AVST, UNI_BALI, UNI_BAMU, UNI_BAMUMSUP, UNI_BASS, UNI_BATK, UNI_BC__AL, UNI_BC__AN, UNI_BC__B, UNI_BC__BN, UNI_BC__CS, UNI_BC__EN, UNI_BC__ES, UNI_BC__ET, UNI_BC__FSI, UNI_BC__L, UNI_BC__LRE, UNI_BC__LRI, UNI_BC__LRO, UNI_BC__NSM, UNI_BC__ON, UNI_BC__PDF, UNI_BC__PDI, UNI_BC__R, UNI_BC__RLE, UNI_BC__RLI, UNI_BC__RLO, UNI_BC__S, UNI_BC__WS, UNI_BENG, UNI_BHKS, UNI_BIDIC, UNI_BIDIM, UNI_BLOCKELEMENTS, UNI_BOPO, UNI_BOPOMOFOEXT, UNI_BOXDRAWING, UNI_BPT__C, UNI_BPT__N, UNI_BPT__O, UNI_BRAH, UNI_BRAI, UNI_BUGI, UNI_BUHD, UNI_BYZANTINEMUSIC, UNI_C, UNI_CAKM, UNI_CANS, UNI_CARI, UNI_CASED, UNI_CASEDLETTER, UNI_CCC__0, UNI_CCC__1, UNI_CCC__10, UNI_CCC__103, UNI_CCC__107, UNI_CCC__11, UNI_CCC__118, UNI_CCC__12, UNI_CCC__122, UNI_CCC__129, UNI_CCC__13, UNI_CCC__130, UNI_CCC__132, UNI_CCC__14, UNI_CCC__15, UNI_CCC__16, UNI_CCC__17, UNI_CCC__18, UNI_CCC__19, UNI_CCC__20, UNI_CCC__202, UNI_CCC__21, UNI_CCC__214, UNI_CCC__216, UNI_CCC__22, UNI_CCC__23, UNI_CCC__24, UNI_CCC__25, UNI_CCC__26, UNI_CCC__27, UNI_CCC__28, UNI_CCC__29, UNI_CCC__30, UNI_CCC__31, UNI_CCC__32, UNI_CCC__33, UNI_CCC__34, UNI_CCC__35, UNI_CCC__36, UNI_CCC__6, UNI_CCC__7, UNI_CCC__8, UNI_CCC__84, UNI_CCC__9, UNI_CCC__91, UNI_CCC__A, UNI_CCC__AL, UNI_CCC__AR, UNI_CCC__B, UNI_CCC__BL, UNI_CCC__BR, UNI_CCC__DA, UNI_CCC__DB, UNI_CCC__IS, UNI_CCC__L, UNI_CCC__R, UNI_CE, UNI_CF, UNI_CHAM, UNI_CHER, UNI_CHEROKEESUP, UNI_CHESSSYMBOLS, UNI_CHRS, UNI_CI, UNI_CJK, UNI_CJKCOMPAT, UNI_CJKCOMPATFORMS, UNI_CJKCOMPATIDEOGRAPHS, UNI_CJKCOMPATIDEOGRAPHSSUP, UNI_CJKEXTA, UNI_CJKEXTB, UNI_CJKEXTC, UNI_CJKEXTD, UNI_CJKEXTE, UNI_CJKEXTF, UNI_CJKEXTG, UNI_CJKRADICALSSUP, UNI_CJKSTROKES, UNI_CJKSYMBOLS, UNI_CN, UNI_CO, UNI_COMPATJAMO, UNI_COMPEX, UNI_CONTROLPICTURES, UNI_COPT, UNI_COPTICEPACTNUMBERS, UNI_COUNTINGROD, UNI_CPRT, UNI_CUNEIFORMNUMBERS, UNI_CURRENCYSYMBOLS, UNI_CWCF, UNI_CWCM, UNI_CWKCF, UNI_CWL, UNI_CWT, UNI_CWU, UNI_CYPRIOTSYLLABARY, UNI_CYRILLICEXTA, UNI_CYRILLICEXTB, UNI_CYRILLICEXTC, UNI_CYRILLICSUP, UNI_CYRL, UNI_DASH, UNI_DEP, UNI_DEVA, UNI_DEVANAGARIEXT, UNI_DI, UNI_DIA, UNI_DIACRITICALS, UNI_DIACRITICALSEXT, UNI_DIACRITICALSFORSYMBOLS, UNI_DIACRITICALSSUP, UNI_DIAK, UNI_DINGBATS, UNI_DOGR, UNI_DOMINO, UNI_DSRT, UNI_DT__CAN, UNI_DT__COM, UNI_DT__ENC, UNI_DT__FIN, UNI_DT__FONT, UNI_DT__FRA, UNI_DT__INIT, UNI_DT__ISO, UNI_DT__MED, UNI_DT__NAR, UNI_DT__NB, UNI_DT__NONCANON, UNI_DT__NONE, UNI_DT__SML, UNI_DT__SQR, UNI_DT__SUB, UNI_DT__SUP, UNI_DT__VERT, UNI_DUPL, UNI_EARLYDYNASTICCUNEIFORM, UNI_EA__A, UNI_EA__F, UNI_EA__H, UNI_EA__N, UNI_EA__NA, UNI_EA__W, UNI_EBASE, UNI_ECOMP, UNI_EGYP, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS, UNI_ELBA, UNI_ELYM, UNI_EMOD, UNI_EMOJI, UNI_EMOTICONS, UNI_ENCLOSEDALPHANUM, UNI_ENCLOSEDALPHANUMSUP, UNI_ENCLOSEDCJK, UNI_ENCLOSEDIDEOGRAPHICSUP, UNI_EPRES, UNI_ETHI, UNI_ETHIOPICEXT, UNI_ETHIOPICEXTA, UNI_ETHIOPICSUP, UNI_EXT, UNI_EXTPICT, UNI_GCB__CN, UNI_GCB__EX, UNI_GCB__L, UNI_GCB__PP, UNI_GCB__SM, UNI_GCB__T, UNI_GCB__V, UNI_GCB__XX, UNI_GEOMETRICSHAPES, UNI_GEOMETRICSHAPESEXT, UNI_GEOR, UNI_GEORGIANEXT, UNI_GEORGIANSUP, UNI_GLAG, UNI_GLAGOLITICSUP, UNI_GONG, UNI_GONM, UNI_GOTH, UNI_GRAN, UNI_GRBASE, UNI_GREEKEXT, UNI_GREK, UNI_GREXT, UNI_GUJR, UNI_GURU, UNI_HALFANDFULLFORMS, UNI_HALFMARKS, UNI_HAN, UNI_HANG, UNI_HANO, UNI_HATR, UNI_HEBR, UNI_HIGHPUSURROGATES, UNI_HIGHSURROGATES, UNI_HIRA, UNI_HLUW, UNI_HMNG, UNI_HMNP, UNI_HST__NA, UNI_HUNG, UNI_HYPHEN_perl_aux, UNI_IDC, UNI_IDENTIFIERSTATUS__ALLOWED, UNI_IDENTIFIERSTATUS__RESTRICTED, UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE, UNI_IDENTIFIERTYPE__EXCLUSION, UNI_IDENTIFIERTYPE__INCLUSION, UNI_IDENTIFIERTYPE__LIMITEDUSE, UNI_IDENTIFIERTYPE__NOTCHARACTER, UNI_IDENTIFIERTYPE__NOTNFKC, UNI_IDENTIFIERTYPE__NOTXID, UNI_IDENTIFIERTYPE__OBSOLETE, UNI_IDENTIFIERTYPE__RECOMMENDED, UNI_IDENTIFIERTYPE__TECHNICAL, UNI_IDENTIFIERTYPE__UNCOMMONUSE, UNI_IDEO, UNI_IDEOGRAPHICSYMBOLS, UNI_IDS, UNI_IDSB, UNI_IDST, UNI_INADLAM, UNI_INAHOM, UNI_INANATOLIANHIEROGLYPHS, UNI_INARABIC, UNI_INARMENIAN, UNI_INAVESTAN, UNI_INBALINESE, UNI_INBAMUM, UNI_INBASSAVAH, UNI_INBATAK, UNI_INBENGALI, UNI_INBHAIKSUKI, UNI_INBOPOMOFO, UNI_INBRAHMI, UNI_INBUGINESE, UNI_INBUHID, UNI_INCARIAN, UNI_INCAUCASIANALBANIAN, UNI_INCHAKMA, UNI_INCHAM, UNI_INCHEROKEE, UNI_INCHORASMIAN, UNI_INCOPTIC, UNI_INCUNEIFORM, UNI_INCYRILLIC, UNI_INDEVANAGARI, UNI_INDICNUMBERFORMS, UNI_INDICSIYAQNUMBERS, UNI_INDIVESAKURU, UNI_INDOGRA, UNI_INDUPLOYAN, UNI_INEGYPTIANHIEROGLYPHS, UNI_INELBASAN, UNI_INELYMAIC, UNI_INETHIOPIC, UNI_INGEORGIAN, UNI_INGLAGOLITIC, UNI_INGOTHIC, UNI_INGRANTHA, UNI_INGREEK, UNI_INGUJARATI, UNI_INGUNJALAGONDI, UNI_INGURMUKHI, UNI_INHANGUL, UNI_INHANIFIROHINGYA, UNI_INHANUNOO, UNI_INHATRAN, UNI_INHEBREW, UNI_INHIRAGANA, UNI_INIDC, UNI_INIMPERIALARAMAIC, UNI_ININSCRIPTIONALPAHLAVI, UNI_ININSCRIPTIONALPARTHIAN, UNI_INJAVANESE, UNI_INKAITHI, UNI_INKANNADA, UNI_INKATAKANA, UNI_INKHAROSHTHI, UNI_INKHITANSMALLSCRIPT, UNI_INKHMER, UNI_INKHOJKI, UNI_INKHUDAWADI, UNI_INLAO, UNI_INLEPCHA, UNI_INLIMBU, UNI_INLINEARA, UNI_INLISU, UNI_INLYCIAN, UNI_INLYDIAN, UNI_INMAHAJANI, UNI_INMAKASAR, UNI_INMALAYALAM, UNI_INMANDAIC, UNI_INMANICHAEAN, UNI_INMARCHEN, UNI_INMASARAMGONDI, UNI_INMEDEFAIDRIN, UNI_INMEETEIMAYEK, UNI_INMENDEKIKAKUI, UNI_INMEROITICCURSIVE, UNI_INMIAO, UNI_INMODI, UNI_INMONGOLIAN, UNI_INMRO, UNI_INMULTANI, UNI_INMYANMAR, UNI_INNABATAEAN, UNI_INNANDINAGARI, UNI_INNEWA, UNI_INNEWTAILUE, UNI_INNKO, UNI_INNUSHU, UNI_INNYIAKENGPUACHUEHMONG, UNI_INOGHAM, UNI_INOLDHUNGARIAN, UNI_INOLDITALIC, UNI_INOLDPERMIC, UNI_INOLDPERSIAN, UNI_INOLDSOGDIAN, UNI_INOLDTURKIC, UNI_INORIYA, UNI_INOSAGE, UNI_INOSMANYA, UNI_INPAHAWHHMONG, UNI_INPAUCINHAU, UNI_INPC__BOTTOM, UNI_INPC__BOTTOMANDLEFT, UNI_INPC__BOTTOMANDRIGHT, UNI_INPC__LEFT, UNI_INPC__LEFTANDRIGHT, UNI_INPC__NA, UNI_INPC__OVERSTRUCK, UNI_INPC__RIGHT, UNI_INPC__TOP, UNI_INPC__TOPANDBOTTOM, UNI_INPC__TOPANDBOTTOMANDLEFT, UNI_INPC__TOPANDBOTTOMANDRIGHT, UNI_INPC__TOPANDLEFT, UNI_INPC__TOPANDLEFTANDRIGHT, UNI_INPC__TOPANDRIGHT, UNI_INPHAGSPA, UNI_INPHOENICIAN, UNI_INPSALTERPAHLAVI, UNI_INPUNCTUATION, UNI_INREJANG, UNI_INRUNIC, UNI_INSAMARITAN, UNI_INSAURASHTRA, UNI_INSC__AVAGRAHA, UNI_INSC__BINDU, UNI_INSC__BRAHMIJOININGNUMBER, UNI_INSC__CANTILLATIONMARK, UNI_INSC__CONSONANT, UNI_INSC__CONSONANTDEAD, UNI_INSC__CONSONANTFINAL, UNI_INSC__CONSONANTHEADLETTER, UNI_INSC__CONSONANTINITIALPOSTFIXED, UNI_INSC__CONSONANTKILLER, UNI_INSC__CONSONANTMEDIAL, UNI_INSC__CONSONANTPLACEHOLDER, UNI_INSC__CONSONANTPRECEDINGREPHA, UNI_INSC__CONSONANTPREFIXED, UNI_INSC__CONSONANTSUBJOINED, UNI_INSC__CONSONANTSUCCEEDINGREPHA, UNI_INSC__CONSONANTWITHSTACKER, UNI_INSC__GEMINATIONMARK, UNI_INSC__INVISIBLESTACKER, UNI_INSC__MODIFYINGLETTER, UNI_INSC__NONJOINER, UNI_INSC__NUKTA, UNI_INSC__NUMBER, UNI_INSC__NUMBERJOINER, UNI_INSC__OTHER, UNI_INSC__PUREKILLER, UNI_INSC__REGISTERSHIFTER, UNI_INSC__SYLLABLEMODIFIER, UNI_INSC__TONELETTER, UNI_INSC__TONEMARK, UNI_INSC__VIRAMA, UNI_INSC__VISARGA, UNI_INSC__VOWEL, UNI_INSC__VOWELDEPENDENT, UNI_INSC__VOWELINDEPENDENT, UNI_INSIDDHAM, UNI_INSINHALA, UNI_INSOGDIAN, UNI_INSORASOMPENG, UNI_INSOYOMBO, UNI_INSUNDANESE, UNI_INSYLOTINAGRI, UNI_INSYRIAC, UNI_INTAGALOG, UNI_INTAGBANWA, UNI_INTAILE, UNI_INTAITHAM, UNI_INTAIVIET, UNI_INTAKRI, UNI_INTAMIL, UNI_INTANGUT, UNI_INTELUGU, UNI_INTHAANA, UNI_INTHAI, UNI_INTIBETAN, UNI_INTIFINAGH, UNI_INTIRHUTA, UNI_INUGARITIC, UNI_INVAI, UNI_INVS, UNI_INWANCHO, UNI_INWARANGCITI, UNI_INYEZIDI, UNI_INZANABAZARSQUARE, UNI_IN__10, UNI_IN__11, UNI_IN__12, UNI_IN__12_DOT_1, UNI_IN__13, UNI_IN__1_DOT_1, UNI_IN__2, UNI_IN__2_DOT_1, UNI_IN__3, UNI_IN__3_DOT_1, UNI_IN__3_DOT_2, UNI_IN__4, UNI_IN__4_DOT_1, UNI_IN__5, UNI_IN__5_DOT_1, UNI_IN__5_DOT_2, UNI_IN__6, UNI_IN__6_DOT_1, UNI_IN__6_DOT_2, UNI_IN__6_DOT_3, UNI_IN__7, UNI_IN__8, UNI_IN__9, UNI_IPAEXT, UNI_ITAL, UNI_JAMO, UNI_JAMOEXTA, UNI_JAMOEXTB, UNI_JAVA, UNI_JG__AFRICANFEH, UNI_JG__AFRICANNOON, UNI_JG__AFRICANQAF, UNI_JG__AIN, UNI_JG__ALAPH, UNI_JG__ALEF, UNI_JG__BEH, UNI_JG__BETH, UNI_JG__BURUSHASKIYEHBARREE, UNI_JG__DAL, UNI_JG__DALATHRISH, UNI_JG__E, UNI_JG__FARSIYEH, UNI_JG__FE, UNI_JG__FEH, UNI_JG__FINALSEMKATH, UNI_JG__GAF, UNI_JG__GAMAL, UNI_JG__HAH, UNI_JG__HAMZAONHEHGOAL, UNI_JG__HANIFIROHINGYAKINNAYA, UNI_JG__HANIFIROHINGYAPA, UNI_JG__HE, UNI_JG__HEH, UNI_JG__HEHGOAL, UNI_JG__HETH, UNI_JG__KAF, UNI_JG__KAPH, UNI_JG__KHAPH, UNI_JG__KNOTTEDHEH, UNI_JG__LAM, UNI_JG__LAMADH, UNI_JG__MALAYALAMBHA, UNI_JG__MALAYALAMJA, UNI_JG__MALAYALAMLLA, UNI_JG__MALAYALAMLLLA, UNI_JG__MALAYALAMNGA, UNI_JG__MALAYALAMNNA, UNI_JG__MALAYALAMNNNA, UNI_JG__MALAYALAMNYA, UNI_JG__MALAYALAMRA, UNI_JG__MALAYALAMSSA, UNI_JG__MALAYALAMTTA, UNI_JG__MANICHAEANALEPH, UNI_JG__MANICHAEANAYIN, UNI_JG__MANICHAEANBETH, UNI_JG__MANICHAEANDALETH, UNI_JG__MANICHAEANDHAMEDH, UNI_JG__MANICHAEANFIVE, UNI_JG__MANICHAEANGIMEL, UNI_JG__MANICHAEANHETH, UNI_JG__MANICHAEANHUNDRED, UNI_JG__MANICHAEANKAPH, UNI_JG__MANICHAEANLAMEDH, UNI_JG__MANICHAEANMEM, UNI_JG__MANICHAEANNUN, UNI_JG__MANICHAEANONE, UNI_JG__MANICHAEANPE, UNI_JG__MANICHAEANQOPH, UNI_JG__MANICHAEANRESH, UNI_JG__MANICHAEANSADHE, UNI_JG__MANICHAEANSAMEKH, UNI_JG__MANICHAEANTAW, UNI_JG__MANICHAEANTEN, UNI_JG__MANICHAEANTETH, UNI_JG__MANICHAEANTHAMEDH, UNI_JG__MANICHAEANTWENTY, UNI_JG__MANICHAEANWAW, UNI_JG__MANICHAEANYODH, UNI_JG__MANICHAEANZAYIN, UNI_JG__MEEM, UNI_JG__MIM, UNI_JG__NOJOININGGROUP, UNI_JG__NOON, UNI_JG__NUN, UNI_JG__NYA, UNI_JG__PE, UNI_JG__QAF, UNI_JG__QAPH, UNI_JG__REH, UNI_JG__REVERSEDPE, UNI_JG__ROHINGYAYEH, UNI_JG__SAD, UNI_JG__SADHE, UNI_JG__SEEN, UNI_JG__SEMKATH, UNI_JG__SHIN, UNI_JG__STRAIGHTWAW, UNI_JG__SWASHKAF, UNI_JG__SYRIACWAW, UNI_JG__TAH, UNI_JG__TAW, UNI_JG__TEHMARBUTA, UNI_JG__TETH, UNI_JG__WAW, UNI_JG__YEH, UNI_JG__YEHBARREE, UNI_JG__YEHWITHTAIL, UNI_JG__YUDH, UNI_JG__YUDHHE, UNI_JG__ZAIN, UNI_JG__ZHAIN, UNI_JOINC, UNI_JT__C, UNI_JT__D, UNI_JT__L, UNI_JT__R, UNI_JT__T, UNI_JT__U, UNI_KALI, UNI_KANA, UNI_KANAEXTA, UNI_KANASUP, UNI_KANBUN, UNI_KANGXI, UNI_KATAKANAEXT, UNI_KHAR, UNI_KHMERSYMBOLS, UNI_KHMR, UNI_KHOJ, UNI_KITS, UNI_KNDA, UNI_KTHI, UNI_L, UNI_LANA, UNI_LAO, UNI_LATIN1, UNI_LATINEXTA, UNI_LATINEXTADDITIONAL, UNI_LATINEXTB, UNI_LATINEXTC, UNI_LATINEXTD, UNI_LATINEXTE, UNI_LATN, UNI_LB__AI, UNI_LB__AL, UNI_LB__B2, UNI_LB__BA, UNI_LB__BB, UNI_LB__BK, UNI_LB__CB, UNI_LB__CJ, UNI_LB__CL, UNI_LB__CM, UNI_LB__CP, UNI_LB__CR, UNI_LB__EX, UNI_LB__GL, UNI_LB__H2, UNI_LB__H3, UNI_LB__HL, UNI_LB__HY, UNI_LB__ID, UNI_LB__IN, UNI_LB__IS, UNI_LB__LF, UNI_LB__NL, UNI_LB__NS, UNI_LB__NU, UNI_LB__OP, UNI_LB__PO, UNI_LB__PR, UNI_LB__QU, UNI_LB__SA, UNI_LB__SG_perl_aux, UNI_LB__SP, UNI_LB__SY, UNI_LB__WJ, UNI_LB__XX, UNI_LB__ZW, UNI_LB__ZWJ, UNI_LEPC, UNI_LETTERLIKESYMBOLS, UNI_LIMB, UNI_LINA, UNI_LINB, UNI_LINEARBIDEOGRAMS, UNI_LINEARBSYLLABARY, UNI_LISU, UNI_LISUSUP, UNI_LM, UNI_LO, UNI_LOE, UNI_LOWERCASELETTER, UNI_LOWSURROGATES, UNI_LYCI, UNI_LYDI, UNI_M, UNI_MAHJ, UNI_MAHJONG, UNI_MAKA, UNI_MAND, UNI_MANI, UNI_MARC, UNI_MATH, UNI_MATHALPHANUM, UNI_MATHOPERATORS, UNI_MAYANNUMERALS, UNI_MC, UNI_ME, UNI_MEDF, UNI_MEETEIMAYEKEXT, UNI_MEND, UNI_MERC, UNI_MERO, UNI_MIAO, UNI_MISCARROWS, UNI_MISCMATHSYMBOLSA, UNI_MISCMATHSYMBOLSB, UNI_MISCPICTOGRAPHS, UNI_MISCSYMBOLS, UNI_MISCTECHNICAL, UNI_MLYM, UNI_MN, UNI_MODI, UNI_MODIFIERLETTERS, UNI_MODIFIERTONELETTERS, UNI_MONG, UNI_MONGOLIANSUP, UNI_MRO, UNI_MTEI, UNI_MULT, UNI_MUSIC, UNI_MYANMAREXTA, UNI_MYANMAREXTB, UNI_MYMR, UNI_N, UNI_NAND, UNI_NARB, UNI_NB, UNI_NBAT, UNI_NEWA, UNI_NFCQC__M, UNI_NFCQC__Y, UNI_NFDQC__Y, UNI_NFKCQC__N, UNI_NFKCQC__Y, UNI_NFKDQC__N, UNI_NKO, UNI_NL, UNI_NO, UNI_NSHU, UNI_NT__DI, UNI_NT__NU, UNI_NUMBERFORMS, UNI_NV__0, UNI_NV__1, UNI_NV__10, UNI_NV__100, UNI_NV__1000, UNI_NV__10000, UNI_NV__100000, UNI_NV__1000000, UNI_NV__10000000, UNI_NV__100000000, UNI_NV__10000000000, UNI_NV__1000000000000, UNI_NV__11, UNI_NV__11_SLASH_12, UNI_NV__11_SLASH_2, UNI_NV__12, UNI_NV__13, UNI_NV__13_SLASH_2, UNI_NV__14, UNI_NV__15, UNI_NV__15_SLASH_2, UNI_NV__16, UNI_NV__17, UNI_NV__17_SLASH_2, UNI_NV__18, UNI_NV__19, UNI_NV__1_SLASH_10, UNI_NV__1_SLASH_12, UNI_NV__1_SLASH_16, UNI_NV__1_SLASH_160, UNI_NV__1_SLASH_2, UNI_NV__1_SLASH_20, UNI_NV__1_SLASH_3, UNI_NV__1_SLASH_32, UNI_NV__1_SLASH_320, UNI_NV__1_SLASH_4, UNI_NV__1_SLASH_40, UNI_NV__1_SLASH_5, UNI_NV__1_SLASH_6, UNI_NV__1_SLASH_64, UNI_NV__1_SLASH_7, UNI_NV__1_SLASH_8, UNI_NV__1_SLASH_80, UNI_NV__1_SLASH_9, UNI_NV__2, UNI_NV__20, UNI_NV__200, UNI_NV__2000, UNI_NV__20000, UNI_NV__200000, UNI_NV__20000000, UNI_NV__21, UNI_NV__216000, UNI_NV__22, UNI_NV__23, UNI_NV__24, UNI_NV__25, UNI_NV__26, UNI_NV__27, UNI_NV__28, UNI_NV__29, UNI_NV__2_SLASH_3, UNI_NV__2_SLASH_5, UNI_NV__3, UNI_NV__30, UNI_NV__300, UNI_NV__3000, UNI_NV__30000, UNI_NV__300000, UNI_NV__31, UNI_NV__32, UNI_NV__33, UNI_NV__34, UNI_NV__35, UNI_NV__36, UNI_NV__37, UNI_NV__38, UNI_NV__39, UNI_NV__3_SLASH_16, UNI_NV__3_SLASH_2, UNI_NV__3_SLASH_20, UNI_NV__3_SLASH_4, UNI_NV__3_SLASH_5, UNI_NV__3_SLASH_64, UNI_NV__3_SLASH_8, UNI_NV__3_SLASH_80, UNI_NV__4, UNI_NV__40, UNI_NV__400, UNI_NV__4000, UNI_NV__40000, UNI_NV__400000, UNI_NV__41, UNI_NV__42, UNI_NV__43, UNI_NV__432000, UNI_NV__44, UNI_NV__45, UNI_NV__46, UNI_NV__47, UNI_NV__48, UNI_NV__49, UNI_NV__4_SLASH_5, UNI_NV__5, UNI_NV__50, UNI_NV__500, UNI_NV__5000, UNI_NV__50000, UNI_NV__500000, UNI_NV__5_SLASH_12, UNI_NV__5_SLASH_2, UNI_NV__5_SLASH_6, UNI_NV__5_SLASH_8, UNI_NV__6, UNI_NV__60, UNI_NV__600, UNI_NV__6000, UNI_NV__60000, UNI_NV__600000, UNI_NV__7, UNI_NV__70, UNI_NV__700, UNI_NV__7000, UNI_NV__70000, UNI_NV__700000, UNI_NV__7_SLASH_12, UNI_NV__7_SLASH_2, UNI_NV__7_SLASH_8, UNI_NV__8, UNI_NV__80, UNI_NV__800, UNI_NV__8000, UNI_NV__80000, UNI_NV__800000, UNI_NV__9, UNI_NV__90, UNI_NV__900, UNI_NV__9000, UNI_NV__90000, UNI_NV__900000, UNI_NV__9_SLASH_2, UNI_NV__NAN, UNI_NV___MINUS_1_SLASH_2, UNI_OCR, UNI_OGAM, UNI_OLCK, UNI_ORKH, UNI_ORNAMENTALDINGBATS, UNI_ORYA, UNI_OSGE, UNI_OSMA, UNI_OTTOMANSIYAQNUMBERS, UNI_P, UNI_PALM, UNI_PATSYN, UNI_PAUC, UNI_PC, UNI_PCM, UNI_PD, UNI_PE, UNI_PERM, UNI_PF, UNI_PHAG, UNI_PHAISTOS, UNI_PHLI, UNI_PHLP, UNI_PHNX, UNI_PHONETICEXT, UNI_PHONETICEXTSUP, UNI_PI, UNI_PLAYINGCARDS, UNI_PO, UNI_POSIXALNUM, UNI_POSIXALPHA, UNI_POSIXBLANK, UNI_POSIXCNTRL, UNI_POSIXDIGIT, UNI_POSIXGRAPH, UNI_POSIXLOWER, UNI_POSIXPRINT, UNI_POSIXPUNCT, UNI_POSIXSPACE, UNI_POSIXUPPER, UNI_POSIXWORD, UNI_POSIXXDIGIT, UNI_PRTI, UNI_PS, UNI_PUA, UNI_QAAI, UNI_QMARK, UNI_RADICAL, UNI_RI, UNI_RJNG, UNI_ROHG, UNI_RUMI, UNI_RUNR, UNI_S, UNI_SAMR, UNI_SARB, UNI_SAUR, UNI_SB__AT, UNI_SB__CL, UNI_SB__EX, UNI_SB__FO, UNI_SB__LE, UNI_SB__LO, UNI_SB__NU, UNI_SB__SC, UNI_SB__SE, UNI_SB__SP, UNI_SB__ST, UNI_SB__UP, UNI_SB__XX, UNI_SC, UNI_SC__ADLM, UNI_SC__ARAB, UNI_SC__BENG, UNI_SC__BOPO, UNI_SC__BUGI, UNI_SC__BUHD, UNI_SC__CAKM, UNI_SC__COPT, UNI_SC__CPRT, UNI_SC__CYRL, UNI_SC__DEVA, UNI_SC__DOGR, UNI_SC__DUPL, UNI_SC__GEOR, UNI_SC__GLAG, UNI_SC__GONG, UNI_SC__GONM, UNI_SC__GRAN, UNI_SC__GREK, UNI_SC__GUJR, UNI_SC__GURU, UNI_SC__HAN, UNI_SC__HANG, UNI_SC__HANO, UNI_SC__HIRA, UNI_SC__JAVA, UNI_SC__KALI, UNI_SC__KANA, UNI_SC__KHOJ, UNI_SC__KNDA, UNI_SC__KTHI, UNI_SC__LATN, UNI_SC__LIMB, UNI_SC__LINA, UNI_SC__LINB, UNI_SC__MAHJ, UNI_SC__MAND, UNI_SC__MANI, UNI_SC__MLYM, UNI_SC__MODI, UNI_SC__MONG, UNI_SC__MULT, UNI_SC__MYMR, UNI_SC__NAND, UNI_SC__ORYA, UNI_SC__PERM, UNI_SC__PHAG, UNI_SC__PHLP, UNI_SC__QAAI, UNI_SC__ROHG, UNI_SC__SHRD, UNI_SC__SIND, UNI_SC__SINH, UNI_SC__SOGD, UNI_SC__SYLO, UNI_SC__SYRC, UNI_SC__TAGB, UNI_SC__TAKR, UNI_SC__TALE, UNI_SC__TAML, UNI_SC__TELU, UNI_SC__TGLG, UNI_SC__THAA, UNI_SC__TIRH, UNI_SC__YEZI, UNI_SC__YI, UNI_SC__ZYYY, UNI_SD, UNI_SGNW, UNI_SHAW, UNI_SHORTHANDFORMATCONTROLS, UNI_SHRD, UNI_SIDD, UNI_SIND, UNI_SINH, UNI_SINHALAARCHAICNUMBERS, UNI_SK, UNI_SM, UNI_SMALLFORMS, UNI_SMALLKANAEXT, UNI_SO, UNI_SOGD, UNI_SOGO, UNI_SORA, UNI_SOYO, UNI_SPECIALS, UNI_STERM, UNI_SUND, UNI_SUNDANESESUP, UNI_SUPARROWSA, UNI_SUPARROWSB, UNI_SUPARROWSC, UNI_SUPERANDSUB, UNI_SUPMATHOPERATORS, UNI_SUPPUAA, UNI_SUPPUAB, UNI_SUPPUNCTUATION, UNI_SUPSYMBOLSANDPICTOGRAPHS, UNI_SUTTONSIGNWRITING, UNI_SYLO, UNI_SYMBOLSANDPICTOGRAPHSEXTA, UNI_SYMBOLSFORLEGACYCOMPUTING, UNI_SYRC, UNI_SYRIACSUP, UNI_TAGB, UNI_TAGS, UNI_TAIXUANJING, UNI_TAKR, UNI_TALE, UNI_TALU, UNI_TAMILSUP, UNI_TAML, UNI_TANG, UNI_TANGUTCOMPONENTS, UNI_TANGUTSUP, UNI_TAVT, UNI_TELU, UNI_TERM, UNI_TFNG, UNI_TGLG, UNI_THAA, UNI_THAI, UNI_TIBT, UNI_TIRH, UNI_TITLE, UNI_TRANSPORTANDMAP, UNI_UCAS, UNI_UCASEXT, UNI_UGAR, UNI_UIDEO, UNI_UPPERCASELETTER, UNI_VAI, UNI_VEDICEXT, UNI_VERTICALFORMS, UNI_VERTSPACE, UNI_VO__R, UNI_VO__TR, UNI_VO__TU, UNI_VO__U, UNI_VS, UNI_VSSUP, UNI_WARA, UNI_WB__DQ, UNI_WB__EB, UNI_WB__EX, UNI_WB__EXTEND, UNI_WB__FO, UNI_WB__KA, UNI_WB__LE, UNI_WB__MB, UNI_WB__ML, UNI_WB__MN, UNI_WB__NL, UNI_WB__NU, UNI_WB__SQ, UNI_WB__WSEGSPACE, UNI_WB__XX, UNI_WCHO, UNI_XIDC, UNI_XIDS, UNI_XPEO, UNI_XPOSIXALNUM, UNI_XPOSIXALPHA, UNI_XPOSIXBLANK, UNI_XPOSIXCNTRL, UNI_XPOSIXDIGIT, UNI_XPOSIXGRAPH, UNI_XPOSIXLOWER, UNI_XPOSIXPRINT, UNI_XPOSIXPUNCT, UNI_XPOSIXSPACE, UNI_XPOSIXUPPER, UNI_XPOSIXWORD, UNI_XPOSIXXDIGIT, UNI_XSUX, UNI_YEZI, UNI_YI, UNI_YIJING, UNI_YIRADICALS, UNI_YISYLLABLES, UNI_Z, UNI_ZANB, UNI_ZL, UNI_ZP, UNI_ZS, UNI_ZYYY, UNI_ZZZZ, UNI__PERL_ANY_FOLDS, UNI__PERL_CHARNAME_BEGIN, UNI__PERL_CHARNAME_CONTINUE, UNI__PERL_FOLDS_TO_MULTI_CHAR, UNI__PERL_IDCONT, UNI__PERL_IDSTART, UNI__PERL_IS_IN_MULTI_CHAR_FOLD, UNI__PERL_NCHAR, UNI__PERL_PATWS, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS, UNI__PERL_QUOTEMETA, UNI__PERL_SURROGATE } binary_invlist_enum; #define MAX_UNI_KEYWORD_INDEX UNI__PERL_SURROGATE #endif /* defined(PERL_IN_REGCOMP_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) static const UV * const uni_prop_ptrs[] = { NULL, /* Placeholder */ UNI_ADLM_invlist, UNI_AEGEANNUMBERS_invlist, UNI_AGE__10_invlist, UNI_AGE__11_invlist, UNI_AGE__12_invlist, UNI_AGE__12_DOT_1_invlist, UNI_AGE__13_invlist, UNI_AGE__2_invlist, UNI_AGE__2_DOT_1_invlist, UNI_AGE__3_invlist, UNI_AGE__3_DOT_1_invlist, UNI_AGE__3_DOT_2_invlist, UNI_AGE__4_invlist, UNI_AGE__4_DOT_1_invlist, UNI_AGE__5_invlist, UNI_AGE__5_DOT_1_invlist, UNI_AGE__5_DOT_2_invlist, UNI_AGE__6_invlist, UNI_AGE__6_DOT_1_invlist, UNI_AGE__6_DOT_2_invlist, UNI_AGE__6_DOT_3_invlist, UNI_AGE__7_invlist, UNI_AGE__8_invlist, UNI_AGE__9_invlist, UNI_AGE__NA_invlist, UNI_AGHB_invlist, UNI_AHOM_invlist, UNI_ALCHEMICAL_invlist, UNI_ALL_invlist, UNI_ALPHABETICPF_invlist, UNI_ANCIENTGREEKMUSIC_invlist, UNI_ANCIENTGREEKNUMBERS_invlist, UNI_ANCIENTSYMBOLS_invlist, UNI_ANY_invlist, UNI_ARAB_invlist, UNI_ARABICEXTA_invlist, UNI_ARABICMATH_invlist, UNI_ARABICPFA_invlist, UNI_ARABICPFB_invlist, UNI_ARABICSUP_invlist, UNI_ARMI_invlist, UNI_ARMN_invlist, UNI_ARROWS_invlist, UNI_ASCII_invlist, UNI_ASSIGNED_invlist, UNI_AVST_invlist, UNI_BALI_invlist, UNI_BAMU_invlist, UNI_BAMUMSUP_invlist, UNI_BASS_invlist, UNI_BATK_invlist, UNI_BC__AL_invlist, UNI_BC__AN_invlist, UNI_BC__B_invlist, UNI_BC__BN_invlist, UNI_BC__CS_invlist, UNI_BC__EN_invlist, UNI_BC__ES_invlist, UNI_BC__ET_invlist, UNI_BC__FSI_invlist, UNI_BC__L_invlist, UNI_BC__LRE_invlist, UNI_BC__LRI_invlist, UNI_BC__LRO_invlist, UNI_BC__NSM_invlist, UNI_BC__ON_invlist, UNI_BC__PDF_invlist, UNI_BC__PDI_invlist, UNI_BC__R_invlist, UNI_BC__RLE_invlist, UNI_BC__RLI_invlist, UNI_BC__RLO_invlist, UNI_BC__S_invlist, UNI_BC__WS_invlist, UNI_BENG_invlist, UNI_BHKS_invlist, UNI_BIDIC_invlist, UNI_BIDIM_invlist, UNI_BLOCKELEMENTS_invlist, UNI_BOPO_invlist, UNI_BOPOMOFOEXT_invlist, UNI_BOXDRAWING_invlist, UNI_BPT__C_invlist, UNI_BPT__N_invlist, UNI_BPT__O_invlist, UNI_BRAH_invlist, UNI_BRAI_invlist, UNI_BUGI_invlist, UNI_BUHD_invlist, UNI_BYZANTINEMUSIC_invlist, UNI_C_invlist, UNI_CAKM_invlist, UNI_CANS_invlist, UNI_CARI_invlist, UNI_CASED_invlist, UNI_CASEDLETTER_invlist, UNI_CCC__0_invlist, UNI_CCC__1_invlist, UNI_CCC__10_invlist, UNI_CCC__103_invlist, UNI_CCC__107_invlist, UNI_CCC__11_invlist, UNI_CCC__118_invlist, UNI_CCC__12_invlist, UNI_CCC__122_invlist, UNI_CCC__129_invlist, UNI_CCC__13_invlist, UNI_CCC__130_invlist, UNI_CCC__132_invlist, UNI_CCC__14_invlist, UNI_CCC__15_invlist, UNI_CCC__16_invlist, UNI_CCC__17_invlist, UNI_CCC__18_invlist, UNI_CCC__19_invlist, UNI_CCC__20_invlist, UNI_CCC__202_invlist, UNI_CCC__21_invlist, UNI_CCC__214_invlist, UNI_CCC__216_invlist, UNI_CCC__22_invlist, UNI_CCC__23_invlist, UNI_CCC__24_invlist, UNI_CCC__25_invlist, UNI_CCC__26_invlist, UNI_CCC__27_invlist, UNI_CCC__28_invlist, UNI_CCC__29_invlist, UNI_CCC__30_invlist, UNI_CCC__31_invlist, UNI_CCC__32_invlist, UNI_CCC__33_invlist, UNI_CCC__34_invlist, UNI_CCC__35_invlist, UNI_CCC__36_invlist, UNI_CCC__6_invlist, UNI_CCC__7_invlist, UNI_CCC__8_invlist, UNI_CCC__84_invlist, UNI_CCC__9_invlist, UNI_CCC__91_invlist, UNI_CCC__A_invlist, UNI_CCC__AL_invlist, UNI_CCC__AR_invlist, UNI_CCC__B_invlist, UNI_CCC__BL_invlist, UNI_CCC__BR_invlist, UNI_CCC__DA_invlist, UNI_CCC__DB_invlist, UNI_CCC__IS_invlist, UNI_CCC__L_invlist, UNI_CCC__R_invlist, UNI_CE_invlist, UNI_CF_invlist, UNI_CHAM_invlist, UNI_CHER_invlist, UNI_CHEROKEESUP_invlist, UNI_CHESSSYMBOLS_invlist, UNI_CHRS_invlist, UNI_CI_invlist, UNI_CJK_invlist, UNI_CJKCOMPAT_invlist, UNI_CJKCOMPATFORMS_invlist, UNI_CJKCOMPATIDEOGRAPHS_invlist, UNI_CJKCOMPATIDEOGRAPHSSUP_invlist, UNI_CJKEXTA_invlist, UNI_CJKEXTB_invlist, UNI_CJKEXTC_invlist, UNI_CJKEXTD_invlist, UNI_CJKEXTE_invlist, UNI_CJKEXTF_invlist, UNI_CJKEXTG_invlist, UNI_CJKRADICALSSUP_invlist, UNI_CJKSTROKES_invlist, UNI_CJKSYMBOLS_invlist, UNI_CN_invlist, UNI_CO_invlist, UNI_COMPATJAMO_invlist, UNI_COMPEX_invlist, UNI_CONTROLPICTURES_invlist, UNI_COPT_invlist, UNI_COPTICEPACTNUMBERS_invlist, UNI_COUNTINGROD_invlist, UNI_CPRT_invlist, UNI_CUNEIFORMNUMBERS_invlist, UNI_CURRENCYSYMBOLS_invlist, UNI_CWCF_invlist, UNI_CWCM_invlist, UNI_CWKCF_invlist, UNI_CWL_invlist, UNI_CWT_invlist, UNI_CWU_invlist, UNI_CYPRIOTSYLLABARY_invlist, UNI_CYRILLICEXTA_invlist, UNI_CYRILLICEXTB_invlist, UNI_CYRILLICEXTC_invlist, UNI_CYRILLICSUP_invlist, UNI_CYRL_invlist, UNI_DASH_invlist, UNI_DEP_invlist, UNI_DEVA_invlist, UNI_DEVANAGARIEXT_invlist, UNI_DI_invlist, UNI_DIA_invlist, UNI_DIACRITICALS_invlist, UNI_DIACRITICALSEXT_invlist, UNI_DIACRITICALSFORSYMBOLS_invlist, UNI_DIACRITICALSSUP_invlist, UNI_DIAK_invlist, UNI_DINGBATS_invlist, UNI_DOGR_invlist, UNI_DOMINO_invlist, UNI_DSRT_invlist, UNI_DT__CAN_invlist, UNI_DT__COM_invlist, UNI_DT__ENC_invlist, UNI_DT__FIN_invlist, UNI_DT__FONT_invlist, UNI_DT__FRA_invlist, UNI_DT__INIT_invlist, UNI_DT__ISO_invlist, UNI_DT__MED_invlist, UNI_DT__NAR_invlist, UNI_DT__NB_invlist, UNI_DT__NONCANON_invlist, UNI_DT__NONE_invlist, UNI_DT__SML_invlist, UNI_DT__SQR_invlist, UNI_DT__SUB_invlist, UNI_DT__SUP_invlist, UNI_DT__VERT_invlist, UNI_DUPL_invlist, UNI_EARLYDYNASTICCUNEIFORM_invlist, UNI_EA__A_invlist, UNI_EA__F_invlist, UNI_EA__H_invlist, UNI_EA__N_invlist, UNI_EA__NA_invlist, UNI_EA__W_invlist, UNI_EBASE_invlist, UNI_ECOMP_invlist, UNI_EGYP_invlist, UNI_EGYPTIANHIEROGLYPHFORMATCONTROLS_invlist, UNI_ELBA_invlist, UNI_ELYM_invlist, UNI_EMOD_invlist, UNI_EMOJI_invlist, UNI_EMOTICONS_invlist, UNI_ENCLOSEDALPHANUM_invlist, UNI_ENCLOSEDALPHANUMSUP_invlist, UNI_ENCLOSEDCJK_invlist, UNI_ENCLOSEDIDEOGRAPHICSUP_invlist, UNI_EPRES_invlist, UNI_ETHI_invlist, UNI_ETHIOPICEXT_invlist, UNI_ETHIOPICEXTA_invlist, UNI_ETHIOPICSUP_invlist, UNI_EXT_invlist, UNI_EXTPICT_invlist, UNI_GCB__CN_invlist, UNI_GCB__EX_invlist, UNI_GCB__L_invlist, UNI_GCB__PP_invlist, UNI_GCB__SM_invlist, UNI_GCB__T_invlist, UNI_GCB__V_invlist, UNI_GCB__XX_invlist, UNI_GEOMETRICSHAPES_invlist, UNI_GEOMETRICSHAPESEXT_invlist, UNI_GEOR_invlist, UNI_GEORGIANEXT_invlist, UNI_GEORGIANSUP_invlist, UNI_GLAG_invlist, UNI_GLAGOLITICSUP_invlist, UNI_GONG_invlist, UNI_GONM_invlist, UNI_GOTH_invlist, UNI_GRAN_invlist, UNI_GRBASE_invlist, UNI_GREEKEXT_invlist, UNI_GREK_invlist, UNI_GREXT_invlist, UNI_GUJR_invlist, UNI_GURU_invlist, UNI_HALFANDFULLFORMS_invlist, UNI_HALFMARKS_invlist, UNI_HAN_invlist, UNI_HANG_invlist, UNI_HANO_invlist, UNI_HATR_invlist, UNI_HEBR_invlist, UNI_HIGHPUSURROGATES_invlist, UNI_HIGHSURROGATES_invlist, UNI_HIRA_invlist, UNI_HLUW_invlist, UNI_HMNG_invlist, UNI_HMNP_invlist, UNI_HST__NA_invlist, UNI_HUNG_invlist, UNI_HYPHEN_invlist, UNI_IDC_invlist, UNI_IDENTIFIERSTATUS__ALLOWED_invlist, UNI_IDENTIFIERSTATUS__RESTRICTED_invlist, UNI_IDENTIFIERTYPE__DEFAULTIGNORABLE_invlist, UNI_IDENTIFIERTYPE__EXCLUSION_invlist, UNI_IDENTIFIERTYPE__INCLUSION_invlist, UNI_IDENTIFIERTYPE__LIMITEDUSE_invlist, UNI_IDENTIFIERTYPE__NOTCHARACTER_invlist, UNI_IDENTIFIERTYPE__NOTNFKC_invlist, UNI_IDENTIFIERTYPE__NOTXID_invlist, UNI_IDENTIFIERTYPE__OBSOLETE_invlist, UNI_IDENTIFIERTYPE__RECOMMENDED_invlist, UNI_IDENTIFIERTYPE__TECHNICAL_invlist, UNI_IDENTIFIERTYPE__UNCOMMONUSE_invlist, UNI_IDEO_invlist, UNI_IDEOGRAPHICSYMBOLS_invlist, UNI_IDS_invlist, UNI_IDSB_invlist, UNI_IDST_invlist, UNI_INADLAM_invlist, UNI_INAHOM_invlist, UNI_INANATOLIANHIEROGLYPHS_invlist, UNI_INARABIC_invlist, UNI_INARMENIAN_invlist, UNI_INAVESTAN_invlist, UNI_INBALINESE_invlist, UNI_INBAMUM_invlist, UNI_INBASSAVAH_invlist, UNI_INBATAK_invlist, UNI_INBENGALI_invlist, UNI_INBHAIKSUKI_invlist, UNI_INBOPOMOFO_invlist, UNI_INBRAHMI_invlist, UNI_INBUGINESE_invlist, UNI_INBUHID_invlist, UNI_INCARIAN_invlist, UNI_INCAUCASIANALBANIAN_invlist, UNI_INCHAKMA_invlist, UNI_INCHAM_invlist, UNI_INCHEROKEE_invlist, UNI_INCHORASMIAN_invlist, UNI_INCOPTIC_invlist, UNI_INCUNEIFORM_invlist, UNI_INCYRILLIC_invlist, UNI_INDEVANAGARI_invlist, UNI_INDICNUMBERFORMS_invlist, UNI_INDICSIYAQNUMBERS_invlist, UNI_INDIVESAKURU_invlist, UNI_INDOGRA_invlist, UNI_INDUPLOYAN_invlist, UNI_INEGYPTIANHIEROGLYPHS_invlist, UNI_INELBASAN_invlist, UNI_INELYMAIC_invlist, UNI_INETHIOPIC_invlist, UNI_INGEORGIAN_invlist, UNI_INGLAGOLITIC_invlist, UNI_INGOTHIC_invlist, UNI_INGRANTHA_invlist, UNI_INGREEK_invlist, UNI_INGUJARATI_invlist, UNI_INGUNJALAGONDI_invlist, UNI_INGURMUKHI_invlist, UNI_INHANGUL_invlist, UNI_INHANIFIROHINGYA_invlist, UNI_INHANUNOO_invlist, UNI_INHATRAN_invlist, UNI_INHEBREW_invlist, UNI_INHIRAGANA_invlist, UNI_INIDC_invlist, UNI_INIMPERIALARAMAIC_invlist, UNI_ININSCRIPTIONALPAHLAVI_invlist, UNI_ININSCRIPTIONALPARTHIAN_invlist, UNI_INJAVANESE_invlist, UNI_INKAITHI_invlist, UNI_INKANNADA_invlist, UNI_INKATAKANA_invlist, UNI_INKHAROSHTHI_invlist, UNI_INKHITANSMALLSCRIPT_invlist, UNI_INKHMER_invlist, UNI_INKHOJKI_invlist, UNI_INKHUDAWADI_invlist, UNI_INLAO_invlist, UNI_INLEPCHA_invlist, UNI_INLIMBU_invlist, UNI_INLINEARA_invlist, UNI_INLISU_invlist, UNI_INLYCIAN_invlist, UNI_INLYDIAN_invlist, UNI_INMAHAJANI_invlist, UNI_INMAKASAR_invlist, UNI_INMALAYALAM_invlist, UNI_INMANDAIC_invlist, UNI_INMANICHAEAN_invlist, UNI_INMARCHEN_invlist, UNI_INMASARAMGONDI_invlist, UNI_INMEDEFAIDRIN_invlist, UNI_INMEETEIMAYEK_invlist, UNI_INMENDEKIKAKUI_invlist, UNI_INMEROITICCURSIVE_invlist, UNI_INMIAO_invlist, UNI_INMODI_invlist, UNI_INMONGOLIAN_invlist, UNI_INMRO_invlist, UNI_INMULTANI_invlist, UNI_INMYANMAR_invlist, UNI_INNABATAEAN_invlist, UNI_INNANDINAGARI_invlist, UNI_INNEWA_invlist, UNI_INNEWTAILUE_invlist, UNI_INNKO_invlist, UNI_INNUSHU_invlist, UNI_INNYIAKENGPUACHUEHMONG_invlist, UNI_INOGHAM_invlist, UNI_INOLDHUNGARIAN_invlist, UNI_INOLDITALIC_invlist, UNI_INOLDPERMIC_invlist, UNI_INOLDPERSIAN_invlist, UNI_INOLDSOGDIAN_invlist, UNI_INOLDTURKIC_invlist, UNI_INORIYA_invlist, UNI_INOSAGE_invlist, UNI_INOSMANYA_invlist, UNI_INPAHAWHHMONG_invlist, UNI_INPAUCINHAU_invlist, UNI_INPC__BOTTOM_invlist, UNI_INPC__BOTTOMANDLEFT_invlist, UNI_INPC__BOTTOMANDRIGHT_invlist, UNI_INPC__LEFT_invlist, UNI_INPC__LEFTANDRIGHT_invlist, UNI_INPC__NA_invlist, UNI_INPC__OVERSTRUCK_invlist, UNI_INPC__RIGHT_invlist, UNI_INPC__TOP_invlist, UNI_INPC__TOPANDBOTTOM_invlist, UNI_INPC__TOPANDBOTTOMANDLEFT_invlist, UNI_INPC__TOPANDBOTTOMANDRIGHT_invlist, UNI_INPC__TOPANDLEFT_invlist, UNI_INPC__TOPANDLEFTANDRIGHT_invlist, UNI_INPC__TOPANDRIGHT_invlist, UNI_INPHAGSPA_invlist, UNI_INPHOENICIAN_invlist, UNI_INPSALTERPAHLAVI_invlist, UNI_INPUNCTUATION_invlist, UNI_INREJANG_invlist, UNI_INRUNIC_invlist, UNI_INSAMARITAN_invlist, UNI_INSAURASHTRA_invlist, UNI_INSC__AVAGRAHA_invlist, UNI_INSC__BINDU_invlist, UNI_INSC__BRAHMIJOININGNUMBER_invlist, UNI_INSC__CANTILLATIONMARK_invlist, UNI_INSC__CONSONANT_invlist, UNI_INSC__CONSONANTDEAD_invlist, UNI_INSC__CONSONANTFINAL_invlist, UNI_INSC__CONSONANTHEADLETTER_invlist, UNI_INSC__CONSONANTINITIALPOSTFIXED_invlist, UNI_INSC__CONSONANTKILLER_invlist, UNI_INSC__CONSONANTMEDIAL_invlist, UNI_INSC__CONSONANTPLACEHOLDER_invlist, UNI_INSC__CONSONANTPRECEDINGREPHA_invlist, UNI_INSC__CONSONANTPREFIXED_invlist, UNI_INSC__CONSONANTSUBJOINED_invlist, UNI_INSC__CONSONANTSUCCEEDINGREPHA_invlist, UNI_INSC__CONSONANTWITHSTACKER_invlist, UNI_INSC__GEMINATIONMARK_invlist, UNI_INSC__INVISIBLESTACKER_invlist, UNI_INSC__MODIFYINGLETTER_invlist, UNI_INSC__NONJOINER_invlist, UNI_INSC__NUKTA_invlist, UNI_INSC__NUMBER_invlist, UNI_INSC__NUMBERJOINER_invlist, UNI_INSC__OTHER_invlist, UNI_INSC__PUREKILLER_invlist, UNI_INSC__REGISTERSHIFTER_invlist, UNI_INSC__SYLLABLEMODIFIER_invlist, UNI_INSC__TONELETTER_invlist, UNI_INSC__TONEMARK_invlist, UNI_INSC__VIRAMA_invlist, UNI_INSC__VISARGA_invlist, UNI_INSC__VOWEL_invlist, UNI_INSC__VOWELDEPENDENT_invlist, UNI_INSC__VOWELINDEPENDENT_invlist, UNI_INSIDDHAM_invlist, UNI_INSINHALA_invlist, UNI_INSOGDIAN_invlist, UNI_INSORASOMPENG_invlist, UNI_INSOYOMBO_invlist, UNI_INSUNDANESE_invlist, UNI_INSYLOTINAGRI_invlist, UNI_INSYRIAC_invlist, UNI_INTAGALOG_invlist, UNI_INTAGBANWA_invlist, UNI_INTAILE_invlist, UNI_INTAITHAM_invlist, UNI_INTAIVIET_invlist, UNI_INTAKRI_invlist, UNI_INTAMIL_invlist, UNI_INTANGUT_invlist, UNI_INTELUGU_invlist, UNI_INTHAANA_invlist, UNI_INTHAI_invlist, UNI_INTIBETAN_invlist, UNI_INTIFINAGH_invlist, UNI_INTIRHUTA_invlist, UNI_INUGARITIC_invlist, UNI_INVAI_invlist, UNI_INVS_invlist, UNI_INWANCHO_invlist, UNI_INWARANGCITI_invlist, UNI_INYEZIDI_invlist, UNI_INZANABAZARSQUARE_invlist, UNI_IN__10_invlist, UNI_IN__11_invlist, UNI_IN__12_invlist, UNI_IN__12_DOT_1_invlist, UNI_IN__13_invlist, UNI_IN__1_DOT_1_invlist, UNI_IN__2_invlist, UNI_IN__2_DOT_1_invlist, UNI_IN__3_invlist, UNI_IN__3_DOT_1_invlist, UNI_IN__3_DOT_2_invlist, UNI_IN__4_invlist, UNI_IN__4_DOT_1_invlist, UNI_IN__5_invlist, UNI_IN__5_DOT_1_invlist, UNI_IN__5_DOT_2_invlist, UNI_IN__6_invlist, UNI_IN__6_DOT_1_invlist, UNI_IN__6_DOT_2_invlist, UNI_IN__6_DOT_3_invlist, UNI_IN__7_invlist, UNI_IN__8_invlist, UNI_IN__9_invlist, UNI_IPAEXT_invlist, UNI_ITAL_invlist, UNI_JAMO_invlist, UNI_JAMOEXTA_invlist, UNI_JAMOEXTB_invlist, UNI_JAVA_invlist, UNI_JG__AFRICANFEH_invlist, UNI_JG__AFRICANNOON_invlist, UNI_JG__AFRICANQAF_invlist, UNI_JG__AIN_invlist, UNI_JG__ALAPH_invlist, UNI_JG__ALEF_invlist, UNI_JG__BEH_invlist, UNI_JG__BETH_invlist, UNI_JG__BURUSHASKIYEHBARREE_invlist, UNI_JG__DAL_invlist, UNI_JG__DALATHRISH_invlist, UNI_JG__E_invlist, UNI_JG__FARSIYEH_invlist, UNI_JG__FE_invlist, UNI_JG__FEH_invlist, UNI_JG__FINALSEMKATH_invlist, UNI_JG__GAF_invlist, UNI_JG__GAMAL_invlist, UNI_JG__HAH_invlist, UNI_JG__HAMZAONHEHGOAL_invlist, UNI_JG__HANIFIROHINGYAKINNAYA_invlist, UNI_JG__HANIFIROHINGYAPA_invlist, UNI_JG__HE_invlist, UNI_JG__HEH_invlist, UNI_JG__HEHGOAL_invlist, UNI_JG__HETH_invlist, UNI_JG__KAF_invlist, UNI_JG__KAPH_invlist, UNI_JG__KHAPH_invlist, UNI_JG__KNOTTEDHEH_invlist, UNI_JG__LAM_invlist, UNI_JG__LAMADH_invlist, UNI_JG__MALAYALAMBHA_invlist, UNI_JG__MALAYALAMJA_invlist, UNI_JG__MALAYALAMLLA_invlist, UNI_JG__MALAYALAMLLLA_invlist, UNI_JG__MALAYALAMNGA_invlist, UNI_JG__MALAYALAMNNA_invlist, UNI_JG__MALAYALAMNNNA_invlist, UNI_JG__MALAYALAMNYA_invlist, UNI_JG__MALAYALAMRA_invlist, UNI_JG__MALAYALAMSSA_invlist, UNI_JG__MALAYALAMTTA_invlist, UNI_JG__MANICHAEANALEPH_invlist, UNI_JG__MANICHAEANAYIN_invlist, UNI_JG__MANICHAEANBETH_invlist, UNI_JG__MANICHAEANDALETH_invlist, UNI_JG__MANICHAEANDHAMEDH_invlist, UNI_JG__MANICHAEANFIVE_invlist, UNI_JG__MANICHAEANGIMEL_invlist, UNI_JG__MANICHAEANHETH_invlist, UNI_JG__MANICHAEANHUNDRED_invlist, UNI_JG__MANICHAEANKAPH_invlist, UNI_JG__MANICHAEANLAMEDH_invlist, UNI_JG__MANICHAEANMEM_invlist, UNI_JG__MANICHAEANNUN_invlist, UNI_JG__MANICHAEANONE_invlist, UNI_JG__MANICHAEANPE_invlist, UNI_JG__MANICHAEANQOPH_invlist, UNI_JG__MANICHAEANRESH_invlist, UNI_JG__MANICHAEANSADHE_invlist, UNI_JG__MANICHAEANSAMEKH_invlist, UNI_JG__MANICHAEANTAW_invlist, UNI_JG__MANICHAEANTEN_invlist, UNI_JG__MANICHAEANTETH_invlist, UNI_JG__MANICHAEANTHAMEDH_invlist, UNI_JG__MANICHAEANTWENTY_invlist, UNI_JG__MANICHAEANWAW_invlist, UNI_JG__MANICHAEANYODH_invlist, UNI_JG__MANICHAEANZAYIN_invlist, UNI_JG__MEEM_invlist, UNI_JG__MIM_invlist, UNI_JG__NOJOININGGROUP_invlist, UNI_JG__NOON_invlist, UNI_JG__NUN_invlist, UNI_JG__NYA_invlist, UNI_JG__PE_invlist, UNI_JG__QAF_invlist, UNI_JG__QAPH_invlist, UNI_JG__REH_invlist, UNI_JG__REVERSEDPE_invlist, UNI_JG__ROHINGYAYEH_invlist, UNI_JG__SAD_invlist, UNI_JG__SADHE_invlist, UNI_JG__SEEN_invlist, UNI_JG__SEMKATH_invlist, UNI_JG__SHIN_invlist, UNI_JG__STRAIGHTWAW_invlist, UNI_JG__SWASHKAF_invlist, UNI_JG__SYRIACWAW_invlist, UNI_JG__TAH_invlist, UNI_JG__TAW_invlist, UNI_JG__TEHMARBUTA_invlist, UNI_JG__TETH_invlist, UNI_JG__WAW_invlist, UNI_JG__YEH_invlist, UNI_JG__YEHBARREE_invlist, UNI_JG__YEHWITHTAIL_invlist, UNI_JG__YUDH_invlist, UNI_JG__YUDHHE_invlist, UNI_JG__ZAIN_invlist, UNI_JG__ZHAIN_invlist, UNI_JOINC_invlist, UNI_JT__C_invlist, UNI_JT__D_invlist, UNI_JT__L_invlist, UNI_JT__R_invlist, UNI_JT__T_invlist, UNI_JT__U_invlist, UNI_KALI_invlist, UNI_KANA_invlist, UNI_KANAEXTA_invlist, UNI_KANASUP_invlist, UNI_KANBUN_invlist, UNI_KANGXI_invlist, UNI_KATAKANAEXT_invlist, UNI_KHAR_invlist, UNI_KHMERSYMBOLS_invlist, UNI_KHMR_invlist, UNI_KHOJ_invlist, UNI_KITS_invlist, UNI_KNDA_invlist, UNI_KTHI_invlist, UNI_L_invlist, UNI_LANA_invlist, UNI_LAO_invlist, UNI_LATIN1_invlist, UNI_LATINEXTA_invlist, UNI_LATINEXTADDITIONAL_invlist, UNI_LATINEXTB_invlist, UNI_LATINEXTC_invlist, UNI_LATINEXTD_invlist, UNI_LATINEXTE_invlist, UNI_LATN_invlist, UNI_LB__AI_invlist, UNI_LB__AL_invlist, UNI_LB__B2_invlist, UNI_LB__BA_invlist, UNI_LB__BB_invlist, UNI_LB__BK_invlist, UNI_LB__CB_invlist, UNI_LB__CJ_invlist, UNI_LB__CL_invlist, UNI_LB__CM_invlist, UNI_LB__CP_invlist, UNI_LB__CR_invlist, UNI_LB__EX_invlist, UNI_LB__GL_invlist, UNI_LB__H2_invlist, UNI_LB__H3_invlist, UNI_LB__HL_invlist, UNI_LB__HY_invlist, UNI_LB__ID_invlist, UNI_LB__IN_invlist, UNI_LB__IS_invlist, UNI_LB__LF_invlist, UNI_LB__NL_invlist, UNI_LB__NS_invlist, UNI_LB__NU_invlist, UNI_LB__OP_invlist, UNI_LB__PO_invlist, UNI_LB__PR_invlist, UNI_LB__QU_invlist, UNI_LB__SA_invlist, UNI_LB__SG_invlist, UNI_LB__SP_invlist, UNI_LB__SY_invlist, UNI_LB__WJ_invlist, UNI_LB__XX_invlist, UNI_LB__ZW_invlist, UNI_LB__ZWJ_invlist, UNI_LEPC_invlist, UNI_LETTERLIKESYMBOLS_invlist, UNI_LIMB_invlist, UNI_LINA_invlist, UNI_LINB_invlist, UNI_LINEARBIDEOGRAMS_invlist, UNI_LINEARBSYLLABARY_invlist, UNI_LISU_invlist, UNI_LISUSUP_invlist, UNI_LM_invlist, UNI_LO_invlist, UNI_LOE_invlist, UNI_LOWERCASELETTER_invlist, UNI_LOWSURROGATES_invlist, UNI_LYCI_invlist, UNI_LYDI_invlist, UNI_M_invlist, UNI_MAHJ_invlist, UNI_MAHJONG_invlist, UNI_MAKA_invlist, UNI_MAND_invlist, UNI_MANI_invlist, UNI_MARC_invlist, UNI_MATH_invlist, UNI_MATHALPHANUM_invlist, UNI_MATHOPERATORS_invlist, UNI_MAYANNUMERALS_invlist, UNI_MC_invlist, UNI_ME_invlist, UNI_MEDF_invlist, UNI_MEETEIMAYEKEXT_invlist, UNI_MEND_invlist, UNI_MERC_invlist, UNI_MERO_invlist, UNI_MIAO_invlist, UNI_MISCARROWS_invlist, UNI_MISCMATHSYMBOLSA_invlist, UNI_MISCMATHSYMBOLSB_invlist, UNI_MISCPICTOGRAPHS_invlist, UNI_MISCSYMBOLS_invlist, UNI_MISCTECHNICAL_invlist, UNI_MLYM_invlist, UNI_MN_invlist, UNI_MODI_invlist, UNI_MODIFIERLETTERS_invlist, UNI_MODIFIERTONELETTERS_invlist, UNI_MONG_invlist, UNI_MONGOLIANSUP_invlist, UNI_MRO_invlist, UNI_MTEI_invlist, UNI_MULT_invlist, UNI_MUSIC_invlist, UNI_MYANMAREXTA_invlist, UNI_MYANMAREXTB_invlist, UNI_MYMR_invlist, UNI_N_invlist, UNI_NAND_invlist, UNI_NARB_invlist, UNI_NB_invlist, UNI_NBAT_invlist, UNI_NEWA_invlist, UNI_NFCQC__M_invlist, UNI_NFCQC__Y_invlist, UNI_NFDQC__Y_invlist, UNI_NFKCQC__N_invlist, UNI_NFKCQC__Y_invlist, UNI_NFKDQC__N_invlist, UNI_NKO_invlist, UNI_NL_invlist, UNI_NO_invlist, UNI_NSHU_invlist, UNI_NT__DI_invlist, UNI_NT__NU_invlist, UNI_NUMBERFORMS_invlist, UNI_NV__0_invlist, UNI_NV__1_invlist, UNI_NV__10_invlist, UNI_NV__100_invlist, UNI_NV__1000_invlist, UNI_NV__10000_invlist, UNI_NV__100000_invlist, UNI_NV__1000000_invlist, UNI_NV__10000000_invlist, UNI_NV__100000000_invlist, UNI_NV__10000000000_invlist, UNI_NV__1000000000000_invlist, UNI_NV__11_invlist, UNI_NV__11_SLASH_12_invlist, UNI_NV__11_SLASH_2_invlist, UNI_NV__12_invlist, UNI_NV__13_invlist, UNI_NV__13_SLASH_2_invlist, UNI_NV__14_invlist, UNI_NV__15_invlist, UNI_NV__15_SLASH_2_invlist, UNI_NV__16_invlist, UNI_NV__17_invlist, UNI_NV__17_SLASH_2_invlist, UNI_NV__18_invlist, UNI_NV__19_invlist, UNI_NV__1_SLASH_10_invlist, UNI_NV__1_SLASH_12_invlist, UNI_NV__1_SLASH_16_invlist, UNI_NV__1_SLASH_160_invlist, UNI_NV__1_SLASH_2_invlist, UNI_NV__1_SLASH_20_invlist, UNI_NV__1_SLASH_3_invlist, UNI_NV__1_SLASH_32_invlist, UNI_NV__1_SLASH_320_invlist, UNI_NV__1_SLASH_4_invlist, UNI_NV__1_SLASH_40_invlist, UNI_NV__1_SLASH_5_invlist, UNI_NV__1_SLASH_6_invlist, UNI_NV__1_SLASH_64_invlist, UNI_NV__1_SLASH_7_invlist, UNI_NV__1_SLASH_8_invlist, UNI_NV__1_SLASH_80_invlist, UNI_NV__1_SLASH_9_invlist, UNI_NV__2_invlist, UNI_NV__20_invlist, UNI_NV__200_invlist, UNI_NV__2000_invlist, UNI_NV__20000_invlist, UNI_NV__200000_invlist, UNI_NV__20000000_invlist, UNI_NV__21_invlist, UNI_NV__216000_invlist, UNI_NV__22_invlist, UNI_NV__23_invlist, UNI_NV__24_invlist, UNI_NV__25_invlist, UNI_NV__26_invlist, UNI_NV__27_invlist, UNI_NV__28_invlist, UNI_NV__29_invlist, UNI_NV__2_SLASH_3_invlist, UNI_NV__2_SLASH_5_invlist, UNI_NV__3_invlist, UNI_NV__30_invlist, UNI_NV__300_invlist, UNI_NV__3000_invlist, UNI_NV__30000_invlist, UNI_NV__300000_invlist, UNI_NV__31_invlist, UNI_NV__32_invlist, UNI_NV__33_invlist, UNI_NV__34_invlist, UNI_NV__35_invlist, UNI_NV__36_invlist, UNI_NV__37_invlist, UNI_NV__38_invlist, UNI_NV__39_invlist, UNI_NV__3_SLASH_16_invlist, UNI_NV__3_SLASH_2_invlist, UNI_NV__3_SLASH_20_invlist, UNI_NV__3_SLASH_4_invlist, UNI_NV__3_SLASH_5_invlist, UNI_NV__3_SLASH_64_invlist, UNI_NV__3_SLASH_8_invlist, UNI_NV__3_SLASH_80_invlist, UNI_NV__4_invlist, UNI_NV__40_invlist, UNI_NV__400_invlist, UNI_NV__4000_invlist, UNI_NV__40000_invlist, UNI_NV__400000_invlist, UNI_NV__41_invlist, UNI_NV__42_invlist, UNI_NV__43_invlist, UNI_NV__432000_invlist, UNI_NV__44_invlist, UNI_NV__45_invlist, UNI_NV__46_invlist, UNI_NV__47_invlist, UNI_NV__48_invlist, UNI_NV__49_invlist, UNI_NV__4_SLASH_5_invlist, UNI_NV__5_invlist, UNI_NV__50_invlist, UNI_NV__500_invlist, UNI_NV__5000_invlist, UNI_NV__50000_invlist, UNI_NV__500000_invlist, UNI_NV__5_SLASH_12_invlist, UNI_NV__5_SLASH_2_invlist, UNI_NV__5_SLASH_6_invlist, UNI_NV__5_SLASH_8_invlist, UNI_NV__6_invlist, UNI_NV__60_invlist, UNI_NV__600_invlist, UNI_NV__6000_invlist, UNI_NV__60000_invlist, UNI_NV__600000_invlist, UNI_NV__7_invlist, UNI_NV__70_invlist, UNI_NV__700_invlist, UNI_NV__7000_invlist, UNI_NV__70000_invlist, UNI_NV__700000_invlist, UNI_NV__7_SLASH_12_invlist, UNI_NV__7_SLASH_2_invlist, UNI_NV__7_SLASH_8_invlist, UNI_NV__8_invlist, UNI_NV__80_invlist, UNI_NV__800_invlist, UNI_NV__8000_invlist, UNI_NV__80000_invlist, UNI_NV__800000_invlist, UNI_NV__9_invlist, UNI_NV__90_invlist, UNI_NV__900_invlist, UNI_NV__9000_invlist, UNI_NV__90000_invlist, UNI_NV__900000_invlist, UNI_NV__9_SLASH_2_invlist, UNI_NV__NAN_invlist, UNI_NV___MINUS_1_SLASH_2_invlist, UNI_OCR_invlist, UNI_OGAM_invlist, UNI_OLCK_invlist, UNI_ORKH_invlist, UNI_ORNAMENTALDINGBATS_invlist, UNI_ORYA_invlist, UNI_OSGE_invlist, UNI_OSMA_invlist, UNI_OTTOMANSIYAQNUMBERS_invlist, UNI_P_invlist, UNI_PALM_invlist, UNI_PATSYN_invlist, UNI_PAUC_invlist, UNI_PC_invlist, UNI_PCM_invlist, UNI_PD_invlist, UNI_PE_invlist, UNI_PERM_invlist, UNI_PF_invlist, UNI_PHAG_invlist, UNI_PHAISTOS_invlist, UNI_PHLI_invlist, UNI_PHLP_invlist, UNI_PHNX_invlist, UNI_PHONETICEXT_invlist, UNI_PHONETICEXTSUP_invlist, UNI_PI_invlist, UNI_PLAYINGCARDS_invlist, UNI_PO_invlist, UNI_POSIXALNUM_invlist, UNI_POSIXALPHA_invlist, UNI_POSIXBLANK_invlist, UNI_POSIXCNTRL_invlist, UNI_POSIXDIGIT_invlist, UNI_POSIXGRAPH_invlist, UNI_POSIXLOWER_invlist, UNI_POSIXPRINT_invlist, UNI_POSIXPUNCT_invlist, UNI_POSIXSPACE_invlist, UNI_POSIXUPPER_invlist, UNI_POSIXWORD_invlist, UNI_POSIXXDIGIT_invlist, UNI_PRTI_invlist, UNI_PS_invlist, UNI_PUA_invlist, UNI_QAAI_invlist, UNI_QMARK_invlist, UNI_RADICAL_invlist, UNI_RI_invlist, UNI_RJNG_invlist, UNI_ROHG_invlist, UNI_RUMI_invlist, UNI_RUNR_invlist, UNI_S_invlist, UNI_SAMR_invlist, UNI_SARB_invlist, UNI_SAUR_invlist, UNI_SB__AT_invlist, UNI_SB__CL_invlist, UNI_SB__EX_invlist, UNI_SB__FO_invlist, UNI_SB__LE_invlist, UNI_SB__LO_invlist, UNI_SB__NU_invlist, UNI_SB__SC_invlist, UNI_SB__SE_invlist, UNI_SB__SP_invlist, UNI_SB__ST_invlist, UNI_SB__UP_invlist, UNI_SB__XX_invlist, UNI_SC_invlist, UNI_SC__ADLM_invlist, UNI_SC__ARAB_invlist, UNI_SC__BENG_invlist, UNI_SC__BOPO_invlist, UNI_SC__BUGI_invlist, UNI_SC__BUHD_invlist, UNI_SC__CAKM_invlist, UNI_SC__COPT_invlist, UNI_SC__CPRT_invlist, UNI_SC__CYRL_invlist, UNI_SC__DEVA_invlist, UNI_SC__DOGR_invlist, UNI_SC__DUPL_invlist, UNI_SC__GEOR_invlist, UNI_SC__GLAG_invlist, UNI_SC__GONG_invlist, UNI_SC__GONM_invlist, UNI_SC__GRAN_invlist, UNI_SC__GREK_invlist, UNI_SC__GUJR_invlist, UNI_SC__GURU_invlist, UNI_SC__HAN_invlist, UNI_SC__HANG_invlist, UNI_SC__HANO_invlist, UNI_SC__HIRA_invlist, UNI_SC__JAVA_invlist, UNI_SC__KALI_invlist, UNI_SC__KANA_invlist, UNI_SC__KHOJ_invlist, UNI_SC__KNDA_invlist, UNI_SC__KTHI_invlist, UNI_SC__LATN_invlist, UNI_SC__LIMB_invlist, UNI_SC__LINA_invlist, UNI_SC__LINB_invlist, UNI_SC__MAHJ_invlist, UNI_SC__MAND_invlist, UNI_SC__MANI_invlist, UNI_SC__MLYM_invlist, UNI_SC__MODI_invlist, UNI_SC__MONG_invlist, UNI_SC__MULT_invlist, UNI_SC__MYMR_invlist, UNI_SC__NAND_invlist, UNI_SC__ORYA_invlist, UNI_SC__PERM_invlist, UNI_SC__PHAG_invlist, UNI_SC__PHLP_invlist, UNI_SC__QAAI_invlist, UNI_SC__ROHG_invlist, UNI_SC__SHRD_invlist, UNI_SC__SIND_invlist, UNI_SC__SINH_invlist, UNI_SC__SOGD_invlist, UNI_SC__SYLO_invlist, UNI_SC__SYRC_invlist, UNI_SC__TAGB_invlist, UNI_SC__TAKR_invlist, UNI_SC__TALE_invlist, UNI_SC__TAML_invlist, UNI_SC__TELU_invlist, UNI_SC__TGLG_invlist, UNI_SC__THAA_invlist, UNI_SC__TIRH_invlist, UNI_SC__YEZI_invlist, UNI_SC__YI_invlist, UNI_SC__ZYYY_invlist, UNI_SD_invlist, UNI_SGNW_invlist, UNI_SHAW_invlist, UNI_SHORTHANDFORMATCONTROLS_invlist, UNI_SHRD_invlist, UNI_SIDD_invlist, UNI_SIND_invlist, UNI_SINH_invlist, UNI_SINHALAARCHAICNUMBERS_invlist, UNI_SK_invlist, UNI_SM_invlist, UNI_SMALLFORMS_invlist, UNI_SMALLKANAEXT_invlist, UNI_SO_invlist, UNI_SOGD_invlist, UNI_SOGO_invlist, UNI_SORA_invlist, UNI_SOYO_invlist, UNI_SPECIALS_invlist, UNI_STERM_invlist, UNI_SUND_invlist, UNI_SUNDANESESUP_invlist, UNI_SUPARROWSA_invlist, UNI_SUPARROWSB_invlist, UNI_SUPARROWSC_invlist, UNI_SUPERANDSUB_invlist, UNI_SUPMATHOPERATORS_invlist, UNI_SUPPUAA_invlist, UNI_SUPPUAB_invlist, UNI_SUPPUNCTUATION_invlist, UNI_SUPSYMBOLSANDPICTOGRAPHS_invlist, UNI_SUTTONSIGNWRITING_invlist, UNI_SYLO_invlist, UNI_SYMBOLSANDPICTOGRAPHSEXTA_invlist, UNI_SYMBOLSFORLEGACYCOMPUTING_invlist, UNI_SYRC_invlist, UNI_SYRIACSUP_invlist, UNI_TAGB_invlist, UNI_TAGS_invlist, UNI_TAIXUANJING_invlist, UNI_TAKR_invlist, UNI_TALE_invlist, UNI_TALU_invlist, UNI_TAMILSUP_invlist, UNI_TAML_invlist, UNI_TANG_invlist, UNI_TANGUTCOMPONENTS_invlist, UNI_TANGUTSUP_invlist, UNI_TAVT_invlist, UNI_TELU_invlist, UNI_TERM_invlist, UNI_TFNG_invlist, UNI_TGLG_invlist, UNI_THAA_invlist, UNI_THAI_invlist, UNI_TIBT_invlist, UNI_TIRH_invlist, UNI_TITLE_invlist, UNI_TRANSPORTANDMAP_invlist, UNI_UCAS_invlist, UNI_UCASEXT_invlist, UNI_UGAR_invlist, UNI_UIDEO_invlist, UNI_UPPERCASELETTER_invlist, UNI_VAI_invlist, UNI_VEDICEXT_invlist, UNI_VERTICALFORMS_invlist, UNI_VERTSPACE_invlist, UNI_VO__R_invlist, UNI_VO__TR_invlist, UNI_VO__TU_invlist, UNI_VO__U_invlist, UNI_VS_invlist, UNI_VSSUP_invlist, UNI_WARA_invlist, UNI_WB__DQ_invlist, UNI_WB__EB_invlist, UNI_WB__EX_invlist, UNI_WB__EXTEND_invlist, UNI_WB__FO_invlist, UNI_WB__KA_invlist, UNI_WB__LE_invlist, UNI_WB__MB_invlist, UNI_WB__ML_invlist, UNI_WB__MN_invlist, UNI_WB__NL_invlist, UNI_WB__NU_invlist, UNI_WB__SQ_invlist, UNI_WB__WSEGSPACE_invlist, UNI_WB__XX_invlist, UNI_WCHO_invlist, UNI_XIDC_invlist, UNI_XIDS_invlist, UNI_XPEO_invlist, UNI_XPOSIXALNUM_invlist, UNI_XPOSIXALPHA_invlist, UNI_XPOSIXBLANK_invlist, UNI_XPOSIXCNTRL_invlist, UNI_XPOSIXDIGIT_invlist, UNI_XPOSIXGRAPH_invlist, UNI_XPOSIXLOWER_invlist, UNI_XPOSIXPRINT_invlist, UNI_XPOSIXPUNCT_invlist, UNI_XPOSIXSPACE_invlist, UNI_XPOSIXUPPER_invlist, UNI_XPOSIXWORD_invlist, UNI_XPOSIXXDIGIT_invlist, UNI_XSUX_invlist, UNI_YEZI_invlist, UNI_YI_invlist, UNI_YIJING_invlist, UNI_YIRADICALS_invlist, UNI_YISYLLABLES_invlist, UNI_Z_invlist, UNI_ZANB_invlist, UNI_ZL_invlist, UNI_ZP_invlist, UNI_ZS_invlist, UNI_ZYYY_invlist, UNI_ZZZZ_invlist, UNI__PERL_ANY_FOLDS_invlist, UNI__PERL_CHARNAME_BEGIN_invlist, UNI__PERL_CHARNAME_CONTINUE_invlist, UNI__PERL_FOLDS_TO_MULTI_CHAR_invlist, UNI__PERL_IDCONT_invlist, UNI__PERL_IDSTART_invlist, UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist, UNI__PERL_NCHAR_invlist, UNI__PERL_PATWS_invlist, UNI__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist, UNI__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist, UNI__PERL_QUOTEMETA_invlist, UNI__PERL_SURROGATE_invlist }; #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGCOMP_C) /* Synonyms for perl properties */ #define UNI_AHEX UNI_POSIXXDIGIT #define UNI_ALNUM UNI_XPOSIXALNUM #define UNI_ALPHA UNI_XPOSIXALPHA #define UNI_ALPHABETIC UNI_XPOSIXALPHA #define UNI_ASCIIHEXDIGIT UNI_POSIXXDIGIT #define UNI_BASICLATIN UNI_ASCII #define UNI_BLANK UNI_XPOSIXBLANK #define UNI_CC UNI_XPOSIXCNTRL #define UNI_CNTRL UNI_XPOSIXCNTRL #define UNI_CONTROL UNI_XPOSIXCNTRL #define UNI_DECIMALNUMBER UNI_XPOSIXDIGIT #define UNI_DIGIT UNI_XPOSIXDIGIT #define UNI_GRAPH UNI_XPOSIXGRAPH #define UNI_HEX UNI_XPOSIXXDIGIT #define UNI_HEXDIGIT UNI_XPOSIXXDIGIT #define UNI_HORIZSPACE UNI_XPOSIXBLANK #define UNI_LC UNI_CASEDLETTER #define UNI_LL UNI_LOWERCASELETTER #define UNI_LOWER UNI_XPOSIXLOWER #define UNI_LOWERCASE UNI_XPOSIXLOWER #define UNI_LT UNI_TITLE #define UNI_LU UNI_UPPERCASELETTER #define UNI_L_ UNI_CASEDLETTER #define UNI_L_AMP_ UNI_CASEDLETTER #define UNI_ND UNI_XPOSIXDIGIT #define UNI_PERLSPACE UNI_POSIXSPACE #define UNI_PERLWORD UNI_POSIXWORD #define UNI_PRINT UNI_XPOSIXPRINT #define UNI_SPACE UNI_XPOSIXSPACE #define UNI_SPACEPERL UNI_XPOSIXSPACE #define UNI_TITLECASE UNI_TITLE #define UNI_TITLECASELETTER UNI_TITLE #define UNI_UPPER UNI_XPOSIXUPPER #define UNI_UPPERCASE UNI_XPOSIXUPPER #define UNI_WHITESPACE UNI_XPOSIXSPACE #define UNI_WORD UNI_XPOSIXWORD #define UNI_WSPACE UNI_XPOSIXSPACE #define UNI_XDIGIT UNI_XPOSIXXDIGIT #define UNI_XPERLSPACE UNI_XPOSIXSPACE #endif /* defined(PERL_IN_REGCOMP_C) */ #if (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) static const char * const UNI_age_values[] = { "1.1", "2.0", "2.1", "3.0", "3.1", "3.2", "4.0", "4.1", "5.0", "5.1", "5.2", "6.0", "6.1", "6.2", "6.3", "7.0", "8.0", "9.0", "10.0", "11.0", "12.0", "12.1", "13.0", "NA", "na", "Unassigned", "unassigned", "V10_0", "V11_0", "V12_0", "V12_1", "V13_0", "V1_1", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1", "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0", "V8_0", "V9_0", "v100", "v11", "v110", "v120", "v121", "v130", "v20", "v21", "v30", "v31", "v32", "v40", "v41", "v50", "v51", "v52", "v60", "v61", "v62", "v63", "v70", "v80", "v90", NULL }; static const char * const UNI_ahex_values[] = { "F", "f", "False", "false", "N", "n", "No", "no", "T", "t", "True", "true", "Y", "y", "Yes", "yes", NULL }; static const char * const UNI_bc_values[] = { "AL", "al", "AN", "an", "Arabic_Letter", "arabicletter", "Arabic_Number", "arabicnumber", "B", "b", "BN", "bn", "Boundary_Neutral", "boundaryneutral", "Common_Separator", "commonseparator", "CS", "cs", "EN", "en", "ES", "es", "ET", "et", "European_Number", "europeannumber", "European_Separator", "europeanseparator", "European_Terminator", "europeanterminator", "First_Strong_Isolate", "firststrongisolate", "FSI", "fsi", "L", "l", "Left_To_Right", "lefttoright", "Left_To_Right_Embedding", "lefttorightembedding", "Left_To_Right_Isolate", "lefttorightisolate", "Left_To_Right_Override", "lefttorightoverride", "LRE", "lre", "LRI", "lri", "LRO", "lro", "Nonspacing_Mark", "nonspacingmark", "NSM", "nsm", "ON", "on", "Other_Neutral", "otherneutral", "Paragraph_Separator", "paragraphseparator", "PDF", "pdf", "PDI", "pdi", "Pop_Directional_Format", "popdirectionalformat", "Pop_Directional_Isolate", "popdirectionalisolate", "R", "r", "Right_To_Left", "righttoleft", "Right_To_Left_Embedding", "righttoleftembedding", "Right_To_Left_Isolate", "righttoleftisolate", "Right_To_Left_Override", "righttoleftoverride", "RLE", "rle", "RLI", "rli", "RLO", "rlo", "S", "s", "Segment_Separator", "segmentseparator", "White_Space", "whitespace", "WS", "ws", NULL }; static const char * const UNI_blk_values[] = { "Adlam", "adlam", "Aegean Numbers", "Aegean_Numbers", "aegeannumbers", "Ahom", "ahom", "Alchemical", "alchemical", "Alchemical Symbols", "Alchemical_Symbols", "alchemicalsymbols", "Alphabetic_PF", "alphabeticpf", "Alphabetic Presentation Forms", "Alphabetic_Presentation_Forms", "alphabeticpresentationforms", "Anatolian Hieroglyphs", "Anatolian_Hieroglyphs", "anatolianhieroglyphs", "Ancient_Greek_Music", "ancientgreekmusic", "Ancient Greek Musical Notation", "Ancient_Greek_Musical_Notation", "ancientgreekmusicalnotation", "Ancient Greek Numbers", "Ancient_Greek_Numbers", "ancientgreeknumbers", "Ancient Symbols", "Ancient_Symbols", "ancientsymbols", "Arabic", "arabic", "Arabic_Ext_A", "arabicexta", "Arabic Extended-A", "Arabic_Extended_A", "arabicextendeda", "Arabic_Math", "arabicmath", "Arabic Mathematical Alphabetic Symbols", "Arabic_Mathematical_Alphabetic_Symbols", "arabicmathematicalalphabeticsymbols", "Arabic_PF_A", "arabicpfa", "Arabic_PF_B", "arabicpfb", "Arabic Presentation Forms-A", "Arabic_Presentation_Forms_A", "arabicpresentationformsa", "Arabic Presentation Forms-B", "Arabic_Presentation_Forms_B", "arabicpresentationformsb", "Arabic_Sup", "arabicsup", "Arabic Supplement", "Arabic_Supplement", "arabicsupplement", "Armenian", "armenian", "Arrows", "arrows", "ASCII", "ascii", "Avestan", "avestan", "Balinese", "balinese", "Bamum", "bamum", "Bamum_Sup", "bamumsup", "Bamum Supplement", "Bamum_Supplement", "bamumsupplement", "Basic Latin", "Basic_Latin", "basiclatin", "Bassa Vah", "Bassa_Vah", "bassavah", "Batak", "batak", "Bengali", "bengali", "Bhaiksuki", "bhaiksuki", "Block Elements", "Block_Elements", "blockelements", "Bopomofo", "bopomofo", "Bopomofo_Ext", "bopomofoext", "Bopomofo Extended", "Bopomofo_Extended", "bopomofoextended", "Box Drawing", "Box_Drawing", "boxdrawing", "Brahmi", "brahmi", "Braille", "braille", "Braille Patterns", "Braille_Patterns", "braillepatterns", "Buginese", "buginese", "Buhid", "buhid", "Byzantine_Music", "byzantinemusic", "Byzantine Musical Symbols", "Byzantine_Musical_Symbols", "byzantinemusicalsymbols", "Canadian_Syllabics", "canadiansyllabics", "Carian", "carian", "Caucasian Albanian", "Caucasian_Albanian", "caucasianalbanian", "Chakma", "chakma", "Cham", "cham", "Cherokee", "cherokee", "Cherokee_Sup", "cherokeesup", "Cherokee Supplement", "Cherokee_Supplement", "cherokeesupplement", "Chess Symbols", "Chess_Symbols", "chesssymbols", "Chorasmian", "chorasmian", "CJK", "cjk", "CJK_Compat", "cjkcompat", "CJK_Compat_Forms", "cjkcompatforms", "CJK Compatibility", "CJK_Compatibility", "cjkcompatibility", "CJK Compatibility Forms", "CJK_Compatibility_Forms", "cjkcompatibilityforms", "CJK Compatibility Ideographs", "CJK_Compatibility_Ideographs", "cjkcompatibilityideographs", "CJK Compatibility Ideographs Supplement", "CJK_Compatibility_Ideographs_Supplement", "cjkcompatibilityideographssupplement", "CJK_Compat_Ideographs", "cjkcompatideographs", "CJK_Compat_Ideographs_Sup", "cjkcompatideographssup", "CJK_Ext_A", "cjkexta", "CJK_Ext_B", "cjkextb", "CJK_Ext_C", "cjkextc", "CJK_Ext_D", "cjkextd", "CJK_Ext_E", "cjkexte", "CJK_Ext_F", "cjkextf", "CJK_Ext_G", "cjkextg", "CJK_Radicals_Sup", "cjkradicalssup", "CJK Radicals Supplement", "CJK_Radicals_Supplement", "cjkradicalssupplement", "CJK Strokes", "CJK_Strokes", "cjkstrokes", "CJK_Symbols", "cjksymbols", "CJK Symbols and Punctuation", "CJK_Symbols_And_Punctuation", "cjksymbolsandpunctuation", "CJK Unified Ideographs", "CJK_Unified_Ideographs", "cjkunifiedideographs", "CJK Unified Ideographs Extension A", "CJK_Unified_Ideographs_Extension_A", "cjkunifiedideographsextensiona", "CJK Unified Ideographs Extension B", "CJK_Unified_Ideographs_Extension_B", "cjkunifiedideographsextensionb", "CJK Unified Ideographs Extension C", "CJK_Unified_Ideographs_Extension_C", "cjkunifiedideographsextensionc", "CJK Unified Ideographs Extension D", "CJK_Unified_Ideographs_Extension_D", "cjkunifiedideographsextensiond", "CJK Unified Ideographs Extension E", "CJK_Unified_Ideographs_Extension_E", "cjkunifiedideographsextensione", "CJK Unified Ideographs Extension F", "CJK_Unified_Ideographs_Extension_F", "cjkunifiedideographsextensionf", "CJK Unified Ideographs Extension G", "CJK_Unified_Ideographs_Extension_G", "cjkunifiedideographsextensiong", "Combining Diacritical Marks", "Combining_Diacritical_Marks", "combiningdiacriticalmarks", "Combining Diacritical Marks Extended", "Combining_Diacritical_Marks_Extended", "combiningdiacriticalmarksextended", "Combining Diacritical Marks for Symbols", "Combining_Diacritical_Marks_For_Symbols", "combiningdiacriticalmarksforsymbols", "Combining Diacritical Marks Supplement", "Combining_Diacritical_Marks_Supplement", "combiningdiacriticalmarkssupplement", "Combining Half Marks", "Combining_Half_Marks", "combininghalfmarks", "Combining_Marks_For_Symbols", "combiningmarksforsymbols", "Common Indic Number Forms", "Common_Indic_Number_Forms", "commonindicnumberforms", "Compat_Jamo", "compatjamo", "Control Pictures", "Control_Pictures", "controlpictures", "Coptic", "coptic", "Coptic Epact Numbers", "Coptic_Epact_Numbers", "copticepactnumbers", "Counting_Rod", "countingrod", "Counting Rod Numerals", "Counting_Rod_Numerals", "countingrodnumerals", "Cuneiform", "cuneiform", "Cuneiform_Numbers", "cuneiformnumbers", "Cuneiform Numbers and Punctuation", "Cuneiform_Numbers_And_Punctuation", "cuneiformnumbersandpunctuation", "Currency Symbols", "Currency_Symbols", "currencysymbols", "Cypriot Syllabary", "Cypriot_Syllabary", "cypriotsyllabary", "Cyrillic", "cyrillic", "Cyrillic_Ext_A", "cyrillicexta", "Cyrillic_Ext_B", "cyrillicextb", "Cyrillic_Ext_C", "cyrillicextc", "Cyrillic Extended-A", "Cyrillic_Extended_A", "cyrillicextendeda", "Cyrillic Extended-B", "Cyrillic_Extended_B", "cyrillicextendedb", "Cyrillic Extended-C", "Cyrillic_Extended_C", "cyrillicextendedc", "Cyrillic_Sup", "cyrillicsup", "Cyrillic Supplement", "Cyrillic_Supplement", "cyrillicsupplement", "Cyrillic_Supplementary", "cyrillicsupplementary", "Deseret", "deseret", "Devanagari", "devanagari", "Devanagari_Ext", "devanagariext", "Devanagari Extended", "Devanagari_Extended", "devanagariextended", "Diacriticals", "diacriticals", "Diacriticals_Ext", "diacriticalsext", "Diacriticals_For_Symbols", "diacriticalsforsymbols", "Diacriticals_Sup", "diacriticalssup", "Dingbats", "dingbats", "Dives Akuru", "Dives_Akuru", "divesakuru", "Dogra", "dogra", "Domino", "domino", "Domino Tiles", "Domino_Tiles", "dominotiles", "Duployan", "duployan", "Early Dynastic Cuneiform", "Early_Dynastic_Cuneiform", "earlydynasticcuneiform", "Egyptian Hieroglyph Format Controls", "Egyptian_Hieroglyph_Format_Controls", "egyptianhieroglyphformatcontrols", "Egyptian Hieroglyphs", "Egyptian_Hieroglyphs", "egyptianhieroglyphs", "Elbasan", "elbasan", "Elymaic", "elymaic", "Emoticons", "emoticons", "Enclosed_Alphanum", "enclosedalphanum", "Enclosed Alphanumerics", "Enclosed_Alphanumerics", "enclosedalphanumerics", "Enclosed Alphanumeric Supplement", "Enclosed_Alphanumeric_Supplement", "enclosedalphanumericsupplement", "Enclosed_Alphanum_Sup", "enclosedalphanumsup", "Enclosed_CJK", "enclosedcjk", "Enclosed CJK Letters and Months", "Enclosed_CJK_Letters_And_Months", "enclosedcjklettersandmonths", "Enclosed_Ideographic_Sup", "enclosedideographicsup", "Enclosed Ideographic Supplement", "Enclosed_Ideographic_Supplement", "enclosedideographicsupplement", "Ethiopic", "ethiopic", "Ethiopic_Ext", "ethiopicext", "Ethiopic_Ext_A", "ethiopicexta", "Ethiopic Extended", "Ethiopic_Extended", "ethiopicextended", "Ethiopic Extended-A", "Ethiopic_Extended_A", "ethiopicextendeda", "Ethiopic_Sup", "ethiopicsup", "Ethiopic Supplement", "Ethiopic_Supplement", "ethiopicsupplement", "General Punctuation", "General_Punctuation", "generalpunctuation", "Geometric Shapes", "Geometric_Shapes", "geometricshapes", "Geometric_Shapes_Ext", "geometricshapesext", "Geometric Shapes Extended", "Geometric_Shapes_Extended", "geometricshapesextended", "Georgian", "georgian", "Georgian_Ext", "georgianext", "Georgian Extended", "Georgian_Extended", "georgianextended", "Georgian_Sup", "georgiansup", "Georgian Supplement", "Georgian_Supplement", "georgiansupplement", "Glagolitic", "glagolitic", "Glagolitic_Sup", "glagoliticsup", "Glagolitic Supplement", "Glagolitic_Supplement", "glagoliticsupplement", "Gothic", "gothic", "Grantha", "grantha", "Greek", "greek", "Greek and Coptic", "Greek_And_Coptic", "greekandcoptic", "Greek_Ext", "greekext", "Greek Extended", "Greek_Extended", "greekextended", "Gujarati", "gujarati", "Gunjala Gondi", "Gunjala_Gondi", "gunjalagondi", "Gurmukhi", "gurmukhi", "Half_And_Full_Forms", "halfandfullforms", "Half_Marks", "halfmarks", "Halfwidth and Fullwidth Forms", "Halfwidth_And_Fullwidth_Forms", "halfwidthandfullwidthforms", "Hangul", "hangul", "Hangul Compatibility Jamo", "Hangul_Compatibility_Jamo", "hangulcompatibilityjamo", "Hangul Jamo", "Hangul_Jamo", "hanguljamo", "Hangul Jamo Extended-A", "Hangul_Jamo_Extended_A", "hanguljamoextendeda", "Hangul Jamo Extended-B", "Hangul_Jamo_Extended_B", "hanguljamoextendedb", "Hangul Syllables", "Hangul_Syllables", "hangulsyllables", "Hanifi Rohingya", "Hanifi_Rohingya", "hanifirohingya", "Hanunoo", "hanunoo", "Hatran", "hatran", "Hebrew", "hebrew", "High Private Use Surrogates", "High_Private_Use_Surrogates", "highprivateusesurrogates", "High_PU_Surrogates", "highpusurrogates", "High Surrogates", "High_Surrogates", "highsurrogates", "Hiragana", "hiragana", "IDC", "idc", "Ideographic Description Characters", "Ideographic_Description_Characters", "ideographicdescriptioncharacters", "Ideographic_Symbols", "ideographicsymbols", "Ideographic Symbols and Punctuation", "Ideographic_Symbols_And_Punctuation", "ideographicsymbolsandpunctuation", "Imperial Aramaic", "Imperial_Aramaic", "imperialaramaic", "Indic_Number_Forms", "indicnumberforms", "Indic Siyaq Numbers", "Indic_Siyaq_Numbers", "indicsiyaqnumbers", "Inscriptional Pahlavi", "Inscriptional_Pahlavi", "inscriptionalpahlavi", "Inscriptional Parthian", "Inscriptional_Parthian", "inscriptionalparthian", "IPA_Ext", "ipaext", "IPA Extensions", "IPA_Extensions", "ipaextensions", "Jamo", "jamo", "Jamo_Ext_A", "jamoexta", "Jamo_Ext_B", "jamoextb", "Javanese", "javanese", "Kaithi", "kaithi", "Kana_Ext_A", "kanaexta", "Kana Extended-A", "Kana_Extended_A", "kanaextendeda", "Kana_Sup", "kanasup", "Kana Supplement", "Kana_Supplement", "kanasupplement", "Kanbun", "kanbun", "Kangxi", "kangxi", "Kangxi Radicals", "Kangxi_Radicals", "kangxiradicals", "Kannada", "kannada", "Katakana", "katakana", "Katakana_Ext", "katakanaext", "Katakana Phonetic Extensions", "Katakana_Phonetic_Extensions", "katakanaphoneticextensions", "Kayah Li", "Kayah_Li", "kayahli", "Kharoshthi", "kharoshthi", "Khitan Small Script", "Khitan_Small_Script", "khitansmallscript", "Khmer", "khmer", "Khmer Symbols", "Khmer_Symbols", "khmersymbols", "Khojki", "khojki", "Khudawadi", "khudawadi", "Lao", "lao", "Latin_1", "latin1", "Latin_Ext_A", "latinexta", "Latin_Ext_Additional", "latinextadditional", "Latin_Ext_B", "latinextb", "Latin_Ext_C", "latinextc", "Latin_Ext_D", "latinextd", "Latin_Ext_E", "latinexte", "Latin Extended-A", "Latin_Extended_A", "latinextendeda", "Latin Extended Additional", "Latin_Extended_Additional", "latinextendedadditional", "Latin Extended-B", "Latin_Extended_B", "latinextendedb", "Latin Extended-C", "Latin_Extended_C", "latinextendedc", "Latin Extended-D", "Latin_Extended_D", "latinextendedd", "Latin Extended-E", "Latin_Extended_E", "latinextendede", "Latin_1_Sup", "latin1sup", "Latin-1 Supplement", "Latin_1_Supplement", "latin1supplement", "Lepcha", "lepcha", "Letterlike Symbols", "Letterlike_Symbols", "letterlikesymbols", "Limbu", "limbu", "Linear A", "Linear_A", "lineara", "Linear B Ideograms", "Linear_B_Ideograms", "linearbideograms", "Linear B Syllabary", "Linear_B_Syllabary", "linearbsyllabary", "Lisu", "lisu", "Lisu_Sup", "lisusup", "Lisu Supplement", "Lisu_Supplement", "lisusupplement", "Low Surrogates", "Low_Surrogates", "lowsurrogates", "Lycian", "lycian", "Lydian", "lydian", "Mahajani", "mahajani", "Mahjong", "mahjong", "Mahjong Tiles", "Mahjong_Tiles", "mahjongtiles", "Makasar", "makasar", "Malayalam", "malayalam", "Mandaic", "mandaic", "Manichaean", "manichaean", "Marchen", "marchen", "Masaram Gondi", "Masaram_Gondi", "masaramgondi", "Math_Alphanum", "mathalphanum", "Mathematical Alphanumeric Symbols", "Mathematical_Alphanumeric_Symbols", "mathematicalalphanumericsymbols", "Mathematical Operators", "Mathematical_Operators", "mathematicaloperators", "Math_Operators", "mathoperators", "Mayan Numerals", "Mayan_Numerals", "mayannumerals", "Medefaidrin", "medefaidrin", "Meetei Mayek", "Meetei_Mayek", "meeteimayek", "Meetei_Mayek_Ext", "meeteimayekext", "Meetei Mayek Extensions", "Meetei_Mayek_Extensions", "meeteimayekextensions", "Mende Kikakui", "Mende_Kikakui", "mendekikakui", "Meroitic Cursive", "Meroitic_Cursive", "meroiticcursive", "Meroitic Hieroglyphs", "Meroitic_Hieroglyphs", "meroitichieroglyphs", "Miao", "miao", "Misc_Arrows", "miscarrows", "Miscellaneous Mathematical Symbols-A", "Miscellaneous_Mathematical_Symbols_A", "miscellaneousmathematicalsymbolsa", "Miscellaneous Mathematical Symbols-B", "Miscellaneous_Mathematical_Symbols_B", "miscellaneousmathematicalsymbolsb", "Miscellaneous Symbols", "Miscellaneous_Symbols", "miscellaneoussymbols", "Miscellaneous Symbols and Arrows", "Miscellaneous_Symbols_And_Arrows", "miscellaneoussymbolsandarrows", "Miscellaneous Symbols and Pictographs", "Miscellaneous_Symbols_And_Pictographs", "miscellaneoussymbolsandpictographs", "Miscellaneous Technical", "Miscellaneous_Technical", "miscellaneoustechnical", "Misc_Math_Symbols_A", "miscmathsymbolsa", "Misc_Math_Symbols_B", "miscmathsymbolsb", "Misc_Pictographs", "miscpictographs", "Misc_Symbols", "miscsymbols", "Misc_Technical", "misctechnical", "Modi", "modi", "Modifier_Letters", "modifierletters", "Modifier Tone Letters", "Modifier_Tone_Letters", "modifiertoneletters", "Mongolian", "mongolian", "Mongolian_Sup", "mongoliansup", "Mongolian Supplement", "Mongolian_Supplement", "mongoliansupplement", "Mro", "mro", "Multani", "multani", "Music", "music", "Musical Symbols", "Musical_Symbols", "musicalsymbols", "Myanmar", "myanmar", "Myanmar_Ext_A", "myanmarexta", "Myanmar_Ext_B", "myanmarextb", "Myanmar Extended-A", "Myanmar_Extended_A", "myanmarextendeda", "Myanmar Extended-B", "Myanmar_Extended_B", "myanmarextendedb", "Nabataean", "nabataean", "Nandinagari", "nandinagari", "NB", "nb", "Newa", "newa", "New Tai Lue", "New_Tai_Lue", "newtailue", "NKo", "nko", "No_Block", "noblock", "Number Forms", "Number_Forms", "numberforms", "Nushu", "nushu", "Nyiakeng Puachue Hmong", "Nyiakeng_Puachue_Hmong", "nyiakengpuachuehmong", "OCR", "ocr", "Ogham", "ogham", "Ol Chiki", "Ol_Chiki", "olchiki", "Old Hungarian", "Old_Hungarian", "oldhungarian", "Old Italic", "Old_Italic", "olditalic", "Old North Arabian", "Old_North_Arabian", "oldnortharabian", "Old Permic", "Old_Permic", "oldpermic", "Old Persian", "Old_Persian", "oldpersian", "Old Sogdian", "Old_Sogdian", "oldsogdian", "Old South Arabian", "Old_South_Arabian", "oldsoutharabian", "Old Turkic", "Old_Turkic", "oldturkic", "Optical Character Recognition", "Optical_Character_Recognition", "opticalcharacterrecognition", "Oriya", "oriya", "Ornamental Dingbats", "Ornamental_Dingbats", "ornamentaldingbats", "Osage", "osage", "Osmanya", "osmanya", "Ottoman Siyaq Numbers", "Ottoman_Siyaq_Numbers", "ottomansiyaqnumbers", "Pahawh Hmong", "Pahawh_Hmong", "pahawhhmong", "Palmyrene", "palmyrene", "Pau Cin Hau", "Pau_Cin_Hau", "paucinhau", "Phags-pa", "Phags_Pa", "phagspa", "Phaistos", "phaistos", "Phaistos Disc", "Phaistos_Disc", "phaistosdisc", "Phoenician", "phoenician", "Phonetic_Ext", "phoneticext", "Phonetic Extensions", "Phonetic_Extensions", "phoneticextensions", "Phonetic Extensions Supplement", "Phonetic_Extensions_Supplement", "phoneticextensionssupplement", "Phonetic_Ext_Sup", "phoneticextsup", "Playing Cards", "Playing_Cards", "playingcards", "Private_Use", "privateuse", "Private Use Area", "Private_Use_Area", "privateusearea", "Psalter Pahlavi", "Psalter_Pahlavi", "psalterpahlavi", "PUA", "pua", "Punctuation", "punctuation", "Rejang", "rejang", "Rumi", "rumi", "Rumi Numeral Symbols", "Rumi_Numeral_Symbols", "ruminumeralsymbols", "Runic", "runic", "Samaritan", "samaritan", "Saurashtra", "saurashtra", "Sharada", "sharada", "Shavian", "shavian", "Shorthand Format Controls", "Shorthand_Format_Controls", "shorthandformatcontrols", "Siddham", "siddham", "Sinhala", "sinhala", "Sinhala Archaic Numbers", "Sinhala_Archaic_Numbers", "sinhalaarchaicnumbers", "Small_Forms", "smallforms", "Small Form Variants", "Small_Form_Variants", "smallformvariants", "Small_Kana_Ext", "smallkanaext", "Small Kana Extension", "Small_Kana_Extension", "smallkanaextension", "Sogdian", "sogdian", "Sora Sompeng", "Sora_Sompeng", "sorasompeng", "Soyombo", "soyombo", "Spacing Modifier Letters", "Spacing_Modifier_Letters", "spacingmodifierletters", "Specials", "specials", "Sundanese", "sundanese", "Sundanese_Sup", "sundanesesup", "Sundanese Supplement", "Sundanese_Supplement", "sundanesesupplement", "Sup_Arrows_A", "suparrowsa", "Sup_Arrows_B", "suparrowsb", "Sup_Arrows_C", "suparrowsc", "Super_And_Sub", "superandsub", "Superscripts and Subscripts", "Superscripts_And_Subscripts", "superscriptsandsubscripts", "Sup_Math_Operators", "supmathoperators", "Supplemental Arrows-A", "Supplemental_Arrows_A", "supplementalarrowsa", "Supplemental Arrows-B", "Supplemental_Arrows_B", "supplementalarrowsb", "Supplemental Arrows-C", "Supplemental_Arrows_C", "supplementalarrowsc", "Supplemental Mathematical Operators", "Supplemental_Mathematical_Operators", "supplementalmathematicaloperators", "Supplemental Punctuation", "Supplemental_Punctuation", "supplementalpunctuation", "Supplemental Symbols and Pictographs", "Supplemental_Symbols_And_Pictographs", "supplementalsymbolsandpictographs", "Supplementary Private Use Area-A", "Supplementary_Private_Use_Area_A", "supplementaryprivateuseareaa", "Supplementary Private Use Area-B", "Supplementary_Private_Use_Area_B", "supplementaryprivateuseareab", "Sup_PUA_A", "suppuaa", "Sup_PUA_B", "suppuab", "Sup_Punctuation", "suppunctuation", "Sup_Symbols_And_Pictographs", "supsymbolsandpictographs", "Sutton SignWriting", "Sutton_SignWriting", "suttonsignwriting", "Syloti Nagri", "Syloti_Nagri", "sylotinagri", "Symbols_And_Pictographs_Ext_A", "symbolsandpictographsexta", "Symbols and Pictographs Extended-A", "Symbols_And_Pictographs_Extended_A", "symbolsandpictographsextendeda", "Symbols for Legacy Computing", "Symbols_For_Legacy_Computing", "symbolsforlegacycomputing", "Syriac", "syriac", "Syriac_Sup", "syriacsup", "Syriac Supplement", "Syriac_Supplement", "syriacsupplement", "Tagalog", "tagalog", "Tagbanwa", "tagbanwa", "Tags", "tags", "Tai Le", "Tai_Le", "taile", "Tai Tham", "Tai_Tham", "taitham", "Tai Viet", "Tai_Viet", "taiviet", "Tai_Xuan_Jing", "taixuanjing", "Tai Xuan Jing Symbols", "Tai_Xuan_Jing_Symbols", "taixuanjingsymbols", "Takri", "takri", "Tamil", "tamil", "Tamil_Sup", "tamilsup", "Tamil Supplement", "Tamil_Supplement", "tamilsupplement", "Tangut", "tangut", "Tangut Components", "Tangut_Components", "tangutcomponents", "Tangut_Sup", "tangutsup", "Tangut Supplement", "Tangut_Supplement", "tangutsupplement", "Telugu", "telugu", "Thaana", "thaana", "Thai", "thai", "Tibetan", "tibetan", "Tifinagh", "tifinagh", "Tirhuta", "tirhuta", "Transport_And_Map", "transportandmap", "Transport and Map Symbols", "Transport_And_Map_Symbols", "transportandmapsymbols", "UCAS", "ucas", "UCAS_Ext", "ucasext", "Ugaritic", "ugaritic", "Unified Canadian Aboriginal Syllabics", "Unified_Canadian_Aboriginal_Syllabics", "unifiedcanadianaboriginalsyllabics", "Unified Canadian Aboriginal Syllabics Extended", "Unified_Canadian_Aboriginal_Syllabics_Extended", "unifiedcanadianaboriginalsyllabicsextended", "Vai", "vai", "Variation Selectors", "Variation_Selectors", "variationselectors", "Variation Selectors Supplement", "Variation_Selectors_Supplement", "variationselectorssupplement", "Vedic_Ext", "vedicext", "Vedic Extensions", "Vedic_Extensions", "vedicextensions", "Vertical Forms", "Vertical_Forms", "verticalforms", "VS", "vs", "VS_Sup", "vssup", "Wancho", "wancho", "Warang Citi", "Warang_Citi", "warangciti", "Yezidi", "yezidi", "Yijing", "yijing", "Yijing Hexagram Symbols", "Yijing_Hexagram_Symbols", "yijinghexagramsymbols", "Yi Radicals", "Yi_Radicals", "yiradicals", "Yi Syllables", "Yi_Syllables", "yisyllables", "Zanabazar Square", "Zanabazar_Square", "zanabazarsquare", NULL }; static const char * const UNI_bpt_values[] = { "c", "Close", "close", "n", "None", "none", "o", "Open", "open", NULL }; static const char * const UNI_ccc_values[] = { "0", "1", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "84", "91", "103", "107", "118", "122", "129", "130", "132", "133", "200", "202", "214", "216", "218", "220", "222", "224", "226", "228", "230", "232", "233", "234", "240", "A", "a", "Above", "above", "Above_Left", "aboveleft", "Above_Right", "aboveright", "AL", "al", "AR", "ar", "ATA", "ata", "ATAR", "atar", "ATB", "atb", "ATBL", "atbl", "Attached_Above", "attachedabove", "Attached_Above_Right", "attachedaboveright", "Attached_Below", "attachedbelow", "Attached_Below_Left", "attachedbelowleft", "B", "b", "Below", "below", "Below_Left", "belowleft", "Below_Right", "belowright", "BL", "bl", "BR", "br", "CCC10", "CCC103", "CCC107", "CCC11", "CCC118", "CCC12", "CCC122", "CCC129", "CCC13", "CCC130", "CCC132", "CCC133", "CCC14", "CCC15", "CCC16", "CCC17", "CCC18", "CCC19", "CCC20", "CCC21", "CCC22", "CCC23", "CCC24", "CCC25", "CCC26", "CCC27", "CCC28", "CCC29", "CCC30", "CCC31", "CCC32", "CCC33", "CCC34", "CCC35", "CCC36", "CCC84", "CCC91", "ccc10", "ccc103", "ccc107", "ccc11", "ccc118", "ccc12", "ccc122", "ccc129", "ccc13", "ccc130", "ccc132", "ccc133", "ccc14", "ccc15", "ccc16", "ccc17", "ccc18", "ccc19", "ccc20", "ccc21", "ccc22", "ccc23", "ccc24", "ccc25", "ccc26", "ccc27", "ccc28", "ccc29", "ccc30", "ccc31", "ccc32", "ccc33", "ccc34", "ccc35", "ccc36", "ccc84", "ccc91", "DA", "da", "DB", "db", "Double_Above", "doubleabove", "Double_Below", "doublebelow", "HANR", "hanr", "Han_Reading", "hanreading", "Iota_Subscript", "iotasubscript", "IS", "is", "Kana_Voicing", "kanavoicing", "KV", "kv", "L", "l", "Left", "left", "NK", "nk", "Not_Reordered", "notreordered", "NR", "nr", "Nukta", "nukta", "OV", "ov", "Overlay", "overlay", "R", "r", "Right", "right", "Virama", "virama", "VR", "vr", NULL }; static const char * const UNI_dt_values[] = { "Can", "can", "Canonical", "canonical", "Circle", "circle", "Com", "com", "Compat", "compat", "Enc", "enc", "Fin", "fin", "Final", "final", "Font", "font", "Fra", "fra", "Fraction", "fraction", "Init", "init", "Initial", "initial", "Iso", "iso", "Isolated", "isolated", "Med", "med", "Medial", "medial", "Nar", "nar", "Narrow", "narrow", "Nb", "nb", "Nobreak", "nobreak", "Non_Canon", "noncanon", "Non_Canonical", "noncanonical", "None", "none", "Small", "small", "Sml", "sml", "Sqr", "sqr", "Square", "square", "Sub", "sub", "Sup", "sup", "Super", "super", "Vert", "vert", "Vertical", "vertical", "Wide", "wide", NULL }; static const char * const UNI_ea_values[] = { "A", "a", "Ambiguous", "ambiguous", "F", "f", "Fullwidth", "fullwidth", "H", "h", "Halfwidth", "halfwidth", "N", "n", "Na", "na", "Narrow", "narrow", "Neutral", "neutral", "W", "w", "Wide", "wide", NULL }; static const char * const UNI_gc_values[] = { "C", "c", "Cased_Letter", "casedletter", "Cc", "cc", "Cf", "cf", "Close_Punctuation", "closepunctuation", "Cn", "cn", "Cntrl", "cntrl", "Co", "co", "Combining_Mark", "combiningmark", "Connector_Punctuation", "connectorpunctuation", "Control", "control", "Cs", "cs", "Currency_Symbol", "currencysymbol", "Dash_Punctuation", "dashpunctuation", "Decimal_Number", "decimalnumber", "Digit", "digit", "Enclosing_Mark", "enclosingmark", "Final_Punctuation", "finalpunctuation", "Format", "format", "Initial_Punctuation", "initialpunctuation", "L", "l", "LC", "lc", "Letter", "letter", "Letter_Number", "letternumber", "Line_Separator", "lineseparator", "Ll", "ll", "Lm", "lm", "Lo", "lo", "Lowercase_Letter", "lowercaseletter", "Lt", "lt", "Lu", "lu", "M", "m", "Mark", "mark", "Math_Symbol", "mathsymbol", "Mc", "mc", "Me", "me", "Mn", "mn", "Modifier_Letter", "modifierletter", "Modifier_Symbol", "modifiersymbol", "N", "n", "Nd", "nd", "Nl", "nl", "No", "no", "Nonspacing_Mark", "nonspacingmark", "Number", "number", "Open_Punctuation", "openpunctuation", "Other", "other", "Other_Letter", "otherletter", "Other_Number", "othernumber", "Other_Punctuation", "otherpunctuation", "Other_Symbol", "othersymbol", "P", "p", "Paragraph_Separator", "paragraphseparator", "Pc", "pc", "Pd", "pd", "Pe", "pe", "Pf", "pf", "Pi", "pi", "Po", "po", "Private_Use", "privateuse", "Ps", "ps", "Punct", "punct", "Punctuation", "punctuation", "S", "s", "Sc", "sc", "Separator", "separator", "Sk", "sk", "Sm", "sm", "So", "so", "Space_Separator", "spaceseparator", "Spacing_Mark", "spacingmark", "Surrogate", "surrogate", "Symbol", "symbol", "Titlecase_Letter", "titlecaseletter", "Unassigned", "unassigned", "Uppercase_Letter", "uppercaseletter", "Z", "z", "Zl", "zl", "Zp", "zp", "Zs", "zs", NULL }; static const char * const UNI_gcb_values[] = { "CN", "cn", "Control", "control", "CR", "cr", "EB", "eb", "E_Base", "ebase", "E_Base_GAZ", "ebasegaz", "EBG", "ebg", "EM", "em", "E_Modifier", "emodifier", "EX", "ex", "Extend", "extend", "GAZ", "gaz", "Glue_After_Zwj", "glueafterzwj", "L", "l", "LF", "lf", "LV", "lv", "LVT", "lvt", "Other", "other", "PP", "pp", "Prepend", "prepend", "Regional_Indicator", "regionalindicator", "RI", "ri", "SM", "sm", "SpacingMark", "spacingmark", "T", "t", "V", "v", "XX", "xx", "ZWJ", "zwj", NULL }; static const char * const UNI_hst_values[] = { "L", "l", "Leading_Jamo", "leadingjamo", "LV", "lv", "LV_Syllable", "lvsyllable", "LVT", "lvt", "LVT_Syllable", "lvtsyllable", "NA", "na", "Not_Applicable", "notapplicable", "T", "t", "Trailing_Jamo", "trailingjamo", "V", "v", "Vowel_Jamo", "voweljamo", NULL }; static const char * const UNI_identifierstatus_values[] = { "Allowed", "allowed", "Restricted", "restricted", NULL }; static const char * const UNI_identifiertype_values[] = { "Default_Ignorable", "defaultignorable", "Deprecated", "deprecated", "Exclusion", "exclusion", "Inclusion", "inclusion", "Limited_Use", "limiteduse", "Not_Character", "notcharacter", "Not_NFKC", "notnfkc", "Not_XID", "notxid", "Obsolete", "obsolete", "Recommended", "recommended", "Technical", "technical", "Uncommon_Use", "uncommonuse", NULL }; static const char * const UNI_in_values[] = { "1.1", "2.0", "2.1", "3.0", "3.1", "3.2", "4.0", "4.1", "5.0", "5.1", "5.2", "6.0", "6.1", "6.2", "6.3", "7.0", "8.0", "9.0", "10.0", "11.0", "12.0", "12.1", "13.0", "Unassigned", "unassigned", "V10_0", "V11_0", "V12_0", "V12_1", "V13_0", "V2_0", "V2_1", "V3_0", "V3_1", "V3_2", "V4_0", "V4_1", "V5_0", "V5_1", "V5_2", "V6_0", "V6_1", "V6_2", "V6_3", "V7_0", "V8_0", "V9_0", "v100", "v110", "v120", "v121", "v130", "v20", "v21", "v30", "v31", "v32", "v40", "v41", "v50", "v51", "v52", "v60", "v61", "v62", "v63", "v70", "v80", "v90", NULL }; static const char * const UNI_inpc_values[] = { "Bottom", "bottom", "Bottom_And_Left", "bottomandleft", "Bottom_And_Right", "bottomandright", "Left", "left", "Left_And_Right", "leftandright", "NA", "na", "Overstruck", "overstruck", "Right", "right", "Top", "top", "Top_And_Bottom", "topandbottom", "Top_And_Bottom_And_Left", "topandbottomandleft", "Top_And_Bottom_And_Right", "topandbottomandright", "Top_And_Left", "topandleft", "Top_And_Left_And_Right", "topandleftandright", "Top_And_Right", "topandright", "Visual_Order_Left", "visualorderleft", NULL }; static const char * const UNI_insc_values[] = { "Avagraha", "avagraha", "Bindu", "bindu", "Brahmi_Joining_Number", "brahmijoiningnumber", "Cantillation_Mark", "cantillationmark", "Consonant", "consonant", "Consonant_Dead", "consonantdead", "Consonant_Final", "consonantfinal", "Consonant_Head_Letter", "consonantheadletter", "Consonant_Initial_Postfixed", "consonantinitialpostfixed", "Consonant_Killer", "consonantkiller", "Consonant_Medial", "consonantmedial", "Consonant_Placeholder", "consonantplaceholder", "Consonant_Preceding_Repha", "consonantprecedingrepha", "Consonant_Prefixed", "consonantprefixed", "Consonant_Subjoined", "consonantsubjoined", "Consonant_Succeeding_Repha", "consonantsucceedingrepha", "Consonant_With_Stacker", "consonantwithstacker", "Gemination_Mark", "geminationmark", "Invisible_Stacker", "invisiblestacker", "Joiner", "joiner", "Modifying_Letter", "modifyingletter", "Non_Joiner", "nonjoiner", "Nukta", "nukta", "Number", "number", "Number_Joiner", "numberjoiner", "Other", "other", "Pure_Killer", "purekiller", "Register_Shifter", "registershifter", "Syllable_Modifier", "syllablemodifier", "Tone_Letter", "toneletter", "Tone_Mark", "tonemark", "Virama", "virama", "Visarga", "visarga", "Vowel", "vowel", "Vowel_Dependent", "voweldependent", "Vowel_Independent", "vowelindependent", NULL }; static const char * const UNI_jg_values[] = { "African_Feh", "africanfeh", "African_Noon", "africannoon", "African_Qaf", "africanqaf", "Ain", "ain", "Alaph", "alaph", "Alef", "alef", "Beh", "beh", "Beth", "beth", "Burushaski_Yeh_Barree", "burushaskiyehbarree", "Dal", "dal", "Dalath_Rish", "dalathrish", "E", "e", "Farsi_Yeh", "farsiyeh", "Fe", "fe", "Feh", "feh", "Final_Semkath", "finalsemkath", "Gaf", "gaf", "Gamal", "gamal", "Hah", "hah", "Hamza_On_Heh_Goal", "hamzaonhehgoal", "Hanifi_Rohingya_Kinna_Ya", "hanifirohingyakinnaya", "Hanifi_Rohingya_Pa", "hanifirohingyapa", "He", "he", "Heh", "heh", "Heh_Goal", "hehgoal", "Heth", "heth", "Kaf", "kaf", "Kaph", "kaph", "Khaph", "khaph", "Knotted_Heh", "knottedheh", "Lam", "lam", "Lamadh", "lamadh", "Malayalam_Bha", "malayalambha", "Malayalam_Ja", "malayalamja", "Malayalam_Lla", "malayalamlla", "Malayalam_Llla", "malayalamllla", "Malayalam_Nga", "malayalamnga", "Malayalam_Nna", "malayalamnna", "Malayalam_Nnna", "malayalamnnna", "Malayalam_Nya", "malayalamnya", "Malayalam_Ra", "malayalamra", "Malayalam_Ssa", "malayalamssa", "Malayalam_Tta", "malayalamtta", "Manichaean_Aleph", "manichaeanaleph", "Manichaean_Ayin", "manichaeanayin", "Manichaean_Beth", "manichaeanbeth", "Manichaean_Daleth", "manichaeandaleth", "Manichaean_Dhamedh", "manichaeandhamedh", "Manichaean_Five", "manichaeanfive", "Manichaean_Gimel", "manichaeangimel", "Manichaean_Heth", "manichaeanheth", "Manichaean_Hundred", "manichaeanhundred", "Manichaean_Kaph", "manichaeankaph", "Manichaean_Lamedh", "manichaeanlamedh", "Manichaean_Mem", "manichaeanmem", "Manichaean_Nun", "manichaeannun", "Manichaean_One", "manichaeanone", "Manichaean_Pe", "manichaeanpe", "Manichaean_Qoph", "manichaeanqoph", "Manichaean_Resh", "manichaeanresh", "Manichaean_Sadhe", "manichaeansadhe", "Manichaean_Samekh", "manichaeansamekh", "Manichaean_Taw", "manichaeantaw", "Manichaean_Ten", "manichaeanten", "Manichaean_Teth", "manichaeanteth", "Manichaean_Thamedh", "manichaeanthamedh", "Manichaean_Twenty", "manichaeantwenty", "Manichaean_Waw", "manichaeanwaw", "Manichaean_Yodh", "manichaeanyodh", "Manichaean_Zayin", "manichaeanzayin", "Meem", "meem", "Mim", "mim", "No_Joining_Group", "nojoininggroup", "Noon", "noon", "Nun", "nun", "Nya", "nya", "Pe", "pe", "Qaf", "qaf", "Qaph", "qaph", "Reh", "reh", "Reversed_Pe", "reversedpe", "Rohingya_Yeh", "rohingyayeh", "Sad", "sad", "Sadhe", "sadhe", "Seen", "seen", "Semkath", "semkath", "Shin", "shin", "Straight_Waw", "straightwaw", "Swash_Kaf", "swashkaf", "Syriac_Waw", "syriacwaw", "Tah", "tah", "Taw", "taw", "Teh_Marbuta", "tehmarbuta", "Teh_Marbuta_Goal", "tehmarbutagoal", "Teth", "teth", "Waw", "waw", "Yeh", "yeh", "Yeh_Barree", "yehbarree", "Yeh_With_Tail", "yehwithtail", "Yudh", "yudh", "Yudh_He", "yudhhe", "Zain", "zain", "Zhain", "zhain", NULL }; static const char * const UNI_jt_values[] = { "C", "c", "D", "d", "Dual_Joining", "dualjoining", "Join_Causing", "joincausing", "L", "l", "Left_Joining", "leftjoining", "Non_Joining", "nonjoining", "R", "r", "Right_Joining", "rightjoining", "T", "t", "Transparent", "transparent", "U", "u", NULL }; static const char * const UNI_lb_values[] = { "AI", "ai", "AL", "al", "Alphabetic", "alphabetic", "Ambiguous", "ambiguous", "B2", "b2", "BA", "ba", "BB", "bb", "BK", "bk", "Break_After", "breakafter", "Break_Before", "breakbefore", "Break_Both", "breakboth", "Break_Symbols", "breaksymbols", "Carriage_Return", "carriagereturn", "CB", "cb", "CJ", "cj", "CL", "cl", "Close_Parenthesis", "closeparenthesis", "Close_Punctuation", "closepunctuation", "CM", "cm", "Combining_Mark", "combiningmark", "Complex_Context", "complexcontext", "Conditional_Japanese_Starter", "conditionaljapanesestarter", "Contingent_Break", "contingentbreak", "CP", "cp", "CR", "cr", "EB", "eb", "E_Base", "ebase", "EM", "em", "E_Modifier", "emodifier", "EX", "ex", "Exclamation", "exclamation", "GL", "gl", "Glue", "glue", "H2", "H3", "h2", "h3", "Hebrew_Letter", "hebrewletter", "HL", "hl", "HY", "hy", "Hyphen", "hyphen", "ID", "id", "Ideographic", "ideographic", "IN", "in", "Infix_Numeric", "infixnumeric", "Inseparable", "inseparable", "Inseperable", "inseperable", "IS", "is", "JL", "jl", "JT", "jt", "JV", "jv", "LF", "lf", "Line_Feed", "linefeed", "Mandatory_Break", "mandatorybreak", "Next_Line", "nextline", "NL", "nl", "Nonstarter", "nonstarter", "NS", "ns", "NU", "nu", "Numeric", "numeric", "OP", "op", "Open_Punctuation", "openpunctuation", "PO", "po", "Postfix_Numeric", "postfixnumeric", "PR", "pr", "Prefix_Numeric", "prefixnumeric", "QU", "qu", "Quotation", "quotation", "Regional_Indicator", "regionalindicator", "RI", "ri", "SA", "sa", "SG", "sg", "SP", "sp", "Space", "space", "Surrogate", "surrogate", "SY", "sy", "Unknown", "unknown", "WJ", "wj", "Word_Joiner", "wordjoiner", "XX", "xx", "ZW", "zw", "ZWJ", "zwj", "ZWSpace", "zwspace", NULL }; static const char * const UNI_nfcqc_values[] = { "M", "m", "Maybe", "maybe", "N", "n", "No", "no", "Y", "y", "Yes", "yes", NULL }; static const char * const UNI_nfdqc_values[] = { "N", "n", "No", "no", "Y", "y", "Yes", "yes", NULL }; static const char * const UNI_nt_values[] = { "De", "de", "Decimal", "decimal", "Di", "di", "Digit", "digit", "None", "none", "Nu", "nu", "Numeric", "numeric", NULL }; static const char * const UNI_nv_values[] = { "-1/2", "0", "1/320", "1/160", "1/80", "1/64", "1/40", "1/32", "3/80", "3/64", "1/20", "1/16", "1/12", "1/10", "1/9", "1/8", "1/7", "3/20", "1/6", "3/16", "1/5", "1/4", "1/3", "3/8", "2/5", "5/12", "1/2", "7/12", "3/5", "5/8", "2/3", "3/4", "4/5", "5/6", "7/8", "11/12", "1", "3/2", "2", "5/2", "3", "7/2", "4", "9/2", "5", "11/2", "6", "13/2", "7", "15/2", "8", "17/2", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "60", "70", "80", "90", "100", "200", "300", "400", "500", "600", "700", "800", "900", "1000", "2000", "3000", "4000", "5000", "6000", "7000", "8000", "9000", "10000", "20000", "30000", "40000", "50000", "60000", "70000", "80000", "90000", "100000", "200000", "216000", "300000", "400000", "432000", "500000", "600000", "700000", "800000", "900000", "1000000", "10000000", "20000000", "100000000", "10000000000", "1000000000000", "NaN", "nan", NULL }; static const char * const UNI_sb_values[] = { "AT", "at", "ATerm", "aterm", "CL", "cl", "Close", "close", "CR", "cr", "EX", "ex", "Extend", "extend", "FO", "fo", "Format", "format", "LE", "le", "LF", "lf", "LO", "lo", "Lower", "lower", "NU", "nu", "Numeric", "numeric", "OLetter", "oletter", "Other", "other", "SC", "sc", "SContinue", "scontinue", "SE", "se", "Sep", "sep", "SP", "Sp", "sp", "ST", "st", "STerm", "sterm", "UP", "up", "Upper", "upper", "XX", "xx", NULL }; static const char * const UNI_sc_values[] = { "Adlam", "adlam", "Adlm", "adlm", "Aghb", "aghb", "Ahom", "ahom", "Anatolian_Hieroglyphs", "anatolianhieroglyphs", "Arab", "arab", "Arabic", "arabic", "Armenian", "armenian", "Armi", "armi", "Armn", "armn", "Avestan", "avestan", "Avst", "avst", "Bali", "bali", "Balinese", "balinese", "Bamu", "bamu", "Bamum", "bamum", "Bass", "bass", "Bassa_Vah", "bassavah", "Batak", "batak", "Batk", "batk", "Beng", "beng", "Bengali", "bengali", "Bhaiksuki", "bhaiksuki", "Bhks", "bhks", "Bopo", "bopo", "Bopomofo", "bopomofo", "Brah", "brah", "Brahmi", "brahmi", "Brai", "brai", "Braille", "braille", "Bugi", "bugi", "Buginese", "buginese", "Buhd", "buhd", "Buhid", "buhid", "Cakm", "cakm", "Canadian_Aboriginal", "canadianaboriginal", "Cans", "cans", "Cari", "cari", "Carian", "carian", "Caucasian_Albanian", "caucasianalbanian", "Chakma", "chakma", "Cham", "cham", "Cher", "cher", "Cherokee", "cherokee", "Chorasmian", "chorasmian", "Chrs", "chrs", "Common", "common", "Copt", "copt", "Coptic", "coptic", "Cprt", "cprt", "Cuneiform", "cuneiform", "Cypriot", "cypriot", "Cyrillic", "cyrillic", "Cyrl", "cyrl", "Deseret", "deseret", "Deva", "deva", "Devanagari", "devanagari", "Diak", "diak", "Dives_Akuru", "divesakuru", "Dogr", "dogr", "Dogra", "dogra", "Dsrt", "dsrt", "Dupl", "dupl", "Duployan", "duployan", "Egyp", "egyp", "Egyptian_Hieroglyphs", "egyptianhieroglyphs", "Elba", "elba", "Elbasan", "elbasan", "Elym", "elym", "Elymaic", "elymaic", "Ethi", "ethi", "Ethiopic", "ethiopic", "Geor", "geor", "Georgian", "georgian", "Glag", "glag", "Glagolitic", "glagolitic", "Gong", "gong", "Gonm", "gonm", "Goth", "goth", "Gothic", "gothic", "Gran", "gran", "Grantha", "grantha", "Greek", "greek", "Grek", "grek", "Gujarati", "gujarati", "Gujr", "gujr", "Gunjala_Gondi", "gunjalagondi", "Gurmukhi", "gurmukhi", "Guru", "guru", "Han", "han", "Hang", "hang", "Hangul", "hangul", "Hani", "hani", "Hanifi_Rohingya", "hanifirohingya", "Hano", "hano", "Hanunoo", "hanunoo", "Hatr", "hatr", "Hatran", "hatran", "Hebr", "hebr", "Hebrew", "hebrew", "Hira", "hira", "Hiragana", "hiragana", "Hluw", "hluw", "Hmng", "hmng", "Hmnp", "hmnp", "Hung", "hung", "Imperial_Aramaic", "imperialaramaic", "Inherited", "inherited", "Inscriptional_Pahlavi", "inscriptionalpahlavi", "Inscriptional_Parthian", "inscriptionalparthian", "Ital", "ital", "Java", "java", "Javanese", "javanese", "Kaithi", "kaithi", "Kali", "kali", "Kana", "kana", "Kannada", "kannada", "Katakana", "katakana", "Kayah_Li", "kayahli", "Khar", "khar", "Kharoshthi", "kharoshthi", "Khitan_Small_Script", "khitansmallscript", "Khmer", "khmer", "Khmr", "khmr", "Khoj", "khoj", "Khojki", "khojki", "Khudawadi", "khudawadi", "Kits", "kits", "Knda", "knda", "Kthi", "kthi", "Lana", "lana", "Lao", "lao", "Laoo", "laoo", "Latin", "latin", "Latn", "latn", "Lepc", "lepc", "Lepcha", "lepcha", "Limb", "limb", "Limbu", "limbu", "Lina", "lina", "Linb", "linb", "Linear_A", "lineara", "Linear_B", "linearb", "Lisu", "lisu", "Lyci", "lyci", "Lycian", "lycian", "Lydi", "lydi", "Lydian", "lydian", "Mahajani", "mahajani", "Mahj", "mahj", "Maka", "maka", "Makasar", "makasar", "Malayalam", "malayalam", "Mand", "mand", "Mandaic", "mandaic", "Mani", "mani", "Manichaean", "manichaean", "Marc", "marc", "Marchen", "marchen", "Masaram_Gondi", "masaramgondi", "Medefaidrin", "medefaidrin", "Medf", "medf", "Meetei_Mayek", "meeteimayek", "Mend", "mend", "Mende_Kikakui", "mendekikakui", "Merc", "merc", "Mero", "mero", "Meroitic_Cursive", "meroiticcursive", "Meroitic_Hieroglyphs", "meroitichieroglyphs", "Miao", "miao", "Mlym", "mlym", "Modi", "modi", "Mong", "mong", "Mongolian", "mongolian", "Mro", "mro", "Mroo", "mroo", "Mtei", "mtei", "Mult", "mult", "Multani", "multani", "Myanmar", "myanmar", "Mymr", "mymr", "Nabataean", "nabataean", "Nand", "nand", "Nandinagari", "nandinagari", "Narb", "narb", "Nbat", "nbat", "Newa", "newa", "New_Tai_Lue", "newtailue", "Nko", "nko", "Nkoo", "nkoo", "Nshu", "nshu", "Nushu", "nushu", "Nyiakeng_Puachue_Hmong", "nyiakengpuachuehmong", "Ogam", "ogam", "Ogham", "ogham", "Ol_Chiki", "olchiki", "Olck", "olck", "Old_Hungarian", "oldhungarian", "Old_Italic", "olditalic", "Old_North_Arabian", "oldnortharabian", "Old_Permic", "oldpermic", "Old_Persian", "oldpersian", "Old_Sogdian", "oldsogdian", "Old_South_Arabian", "oldsoutharabian", "Old_Turkic", "oldturkic", "Oriya", "oriya", "Orkh", "orkh", "Orya", "orya", "Osage", "osage", "Osge", "osge", "Osma", "osma", "Osmanya", "osmanya", "Pahawh_Hmong", "pahawhhmong", "Palm", "palm", "Palmyrene", "palmyrene", "Pauc", "pauc", "Pau_Cin_Hau", "paucinhau", "Perm", "perm", "Phag", "phag", "Phags_Pa", "phagspa", "Phli", "phli", "Phlp", "phlp", "Phnx", "phnx", "Phoenician", "phoenician", "Plrd", "plrd", "Prti", "prti", "Psalter_Pahlavi", "psalterpahlavi", "Qaac", "qaac", "Qaai", "qaai", "Rejang", "rejang", "Rjng", "rjng", "Rohg", "rohg", "Runic", "runic", "Runr", "runr", "Samaritan", "samaritan", "Samr", "samr", "Sarb", "sarb", "Saur", "saur", "Saurashtra", "saurashtra", "Sgnw", "sgnw", "Sharada", "sharada", "Shavian", "shavian", "Shaw", "shaw", "Shrd", "shrd", "Sidd", "sidd", "Siddham", "siddham", "SignWriting", "signwriting", "Sind", "sind", "Sinh", "sinh", "Sinhala", "sinhala", "Sogd", "sogd", "Sogdian", "sogdian", "Sogo", "sogo", "Sora", "sora", "Sora_Sompeng", "sorasompeng", "Soyo", "soyo", "Soyombo", "soyombo", "Sund", "sund", "Sundanese", "sundanese", "Sylo", "sylo", "Syloti_Nagri", "sylotinagri", "Syrc", "syrc", "Syriac", "syriac", "Tagalog", "tagalog", "Tagb", "tagb", "Tagbanwa", "tagbanwa", "Tai_Le", "taile", "Tai_Tham", "taitham", "Tai_Viet", "taiviet", "Takr", "takr", "Takri", "takri", "Tale", "tale", "Talu", "talu", "Tamil", "tamil", "Taml", "taml", "Tang", "tang", "Tangut", "tangut", "Tavt", "tavt", "Telu", "telu", "Telugu", "telugu", "Tfng", "tfng", "Tglg", "tglg", "Thaa", "thaa", "Thaana", "thaana", "Thai", "thai", "Tibetan", "tibetan", "Tibt", "tibt", "Tifinagh", "tifinagh", "Tirh", "tirh", "Tirhuta", "tirhuta", "Ugar", "ugar", "Ugaritic", "ugaritic", "Unknown", "unknown", "Vai", "vai", "Vaii", "vaii", "Wancho", "wancho", "Wara", "wara", "Warang_Citi", "warangciti", "Wcho", "wcho", "Xpeo", "xpeo", "Xsux", "xsux", "Yezi", "yezi", "Yezidi", "yezidi", "Yi", "yi", "Yiii", "yiii", "Zanabazar_Square", "zanabazarsquare", "Zanb", "zanb", "Zinh", "zinh", "Zyyy", "zyyy", "Zzzz", "zzzz", NULL }; static const char * const UNI_vo_values[] = { "R", "r", "Rotated", "rotated", "Tr", "tr", "Transformed_Rotated", "transformedrotated", "Transformed_Upright", "transformedupright", "Tu", "tu", "U", "u", "Upright", "upright", NULL }; static const char * const UNI_wb_values[] = { "ALetter", "aletter", "CR", "cr", "Double_Quote", "doublequote", "DQ", "dq", "EB", "eb", "E_Base", "ebase", "E_Base_GAZ", "ebasegaz", "EBG", "ebg", "EM", "em", "E_Modifier", "emodifier", "EX", "ex", "Extend", "extend", "ExtendNumLet", "extendnumlet", "FO", "fo", "Format", "format", "GAZ", "gaz", "Glue_After_Zwj", "glueafterzwj", "Hebrew_Letter", "hebrewletter", "HL", "hl", "KA", "ka", "Katakana", "katakana", "LE", "le", "LF", "lf", "MB", "mb", "MidLetter", "midletter", "MidNum", "midnum", "MidNumLet", "midnumlet", "ML", "ml", "MN", "mn", "Newline", "newline", "NL", "nl", "NU", "nu", "Numeric", "numeric", "Other", "other", "Regional_Indicator", "regionalindicator", "RI", "ri", "Single_Quote", "singlequote", "SQ", "sq", "WSegSpace", "wsegspace", "XX", "xx", "ZWJ", "zwj", NULL }; static const char * const * const UNI_prop_value_ptrs[] = { NULL /* Placeholder so zero index is an error */, UNI_age_values, UNI_ahex_values, UNI_bc_values, UNI_blk_values, UNI_bpt_values, UNI_ccc_values, UNI_dt_values, UNI_ea_values, UNI_gc_values, UNI_gcb_values, UNI_hst_values, UNI_identifierstatus_values, UNI_identifiertype_values, UNI_in_values, UNI_inpc_values, UNI_insc_values, UNI_jg_values, UNI_jt_values, UNI_lb_values, UNI_nfcqc_values, UNI_nfdqc_values, UNI_nt_values, UNI_nv_values, UNI_sb_values, UNI_sc_values, UNI_vo_values, UNI_wb_values }; #define UNI_age_values_index 1 #define UNI_ahex_values_index 2 #define UNI_alpha_values_index UNI_ahex_values_index #define UNI_bc_values_index 3 #define UNI_bidic_values_index UNI_ahex_values_index #define UNI_bidim_values_index UNI_ahex_values_index #define UNI_blk_values_index 4 #define UNI_bpt_values_index 5 #define UNI_cased_values_index UNI_ahex_values_index #define UNI_ccc_values_index 6 #define UNI_ce_values_index UNI_ahex_values_index #define UNI_ci_values_index UNI_ahex_values_index #define UNI_compex_values_index UNI_ahex_values_index #define UNI_cwcf_values_index UNI_ahex_values_index #define UNI_cwcm_values_index UNI_ahex_values_index #define UNI_cwkcf_values_index UNI_ahex_values_index #define UNI_cwl_values_index UNI_ahex_values_index #define UNI_cwt_values_index UNI_ahex_values_index #define UNI_cwu_values_index UNI_ahex_values_index #define UNI_dash_values_index UNI_ahex_values_index #define UNI_dep_values_index UNI_ahex_values_index #define UNI_di_values_index UNI_ahex_values_index #define UNI_dia_values_index UNI_ahex_values_index #define UNI_dt_values_index 7 #define UNI_ea_values_index 8 #define UNI_ebase_values_index UNI_ahex_values_index #define UNI_ecomp_values_index UNI_ahex_values_index #define UNI_emod_values_index UNI_ahex_values_index #define UNI_emoji_values_index UNI_ahex_values_index #define UNI_epres_values_index UNI_ahex_values_index #define UNI_ext_values_index UNI_ahex_values_index #define UNI_extpict_values_index UNI_ahex_values_index #define UNI_gc_values_index 9 #define UNI_gcb_values_index 10 #define UNI_grbase_values_index UNI_ahex_values_index #define UNI_grext_values_index UNI_ahex_values_index #define UNI_hex_values_index UNI_ahex_values_index #define UNI_hst_values_index 11 #define UNI_hyphen_values_index UNI_ahex_values_index #define UNI_idc_values_index UNI_ahex_values_index #define UNI_identifierstatus_values_index 12 #define UNI_identifiertype_values_index 13 #define UNI_ideo_values_index UNI_ahex_values_index #define UNI_ids_values_index UNI_ahex_values_index #define UNI_idsb_values_index UNI_ahex_values_index #define UNI_idst_values_index UNI_ahex_values_index #define UNI_in_values_index 14 #define UNI_inpc_values_index 15 #define UNI_insc_values_index 16 #define UNI_jg_values_index 17 #define UNI_joinc_values_index UNI_ahex_values_index #define UNI_jt_values_index 18 #define UNI_lb_values_index 19 #define UNI_loe_values_index UNI_ahex_values_index #define UNI_lower_values_index UNI_ahex_values_index #define UNI_math_values_index UNI_ahex_values_index #define UNI_nchar_values_index UNI_ahex_values_index #define UNI_nfcqc_values_index 20 #define UNI_nfdqc_values_index 21 #define UNI_nfkcqc_values_index UNI_nfcqc_values_index #define UNI_nfkdqc_values_index UNI_nfdqc_values_index #define UNI_nt_values_index 22 #define UNI_nv_values_index 23 #define UNI_patsyn_values_index UNI_ahex_values_index #define UNI_patws_values_index UNI_ahex_values_index #define UNI_pcm_values_index UNI_ahex_values_index #define UNI_qmark_values_index UNI_ahex_values_index #define UNI_radical_values_index UNI_ahex_values_index #define UNI_ri_values_index UNI_ahex_values_index #define UNI_sb_values_index 24 #define UNI_sc_values_index 25 #define UNI_scx_values_index UNI_sc_values_index #define UNI_sd_values_index UNI_ahex_values_index #define UNI_sterm_values_index UNI_ahex_values_index #define UNI_term_values_index UNI_ahex_values_index #define UNI_uideo_values_index UNI_ahex_values_index #define UNI_upper_values_index UNI_ahex_values_index #define UNI_vo_values_index 26 #define UNI_vs_values_index UNI_ahex_values_index #define UNI_wb_values_index 27 #define UNI_wspace_values_index UNI_ahex_values_index #define UNI_xidc_values_index UNI_ahex_values_index #define UNI_xids_values_index UNI_ahex_values_index #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */ #if defined(PERL_IN_REGEXEC_C) #define GCB_NOBREAK 0 #define GCB_BREAKABLE 1 #define GCB_RI_then_RI 2 #define GCB_EX_then_EM 3 #define GCB_Maybe_Emoji_NonBreak 4 static const U8 GCB_table[17][17] = { /* 'edg' stands for 'EDGE'; 'EPX' stands for 'ExtPict_XX'; u * stands for 'unused in this Unicode release (and the data in * its row and column are garbage) */ /* XX CN CR edg EPX EX L LF LV LVT PP RI SM T V ZWJ u */ /* XX */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, /* CN */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* CR */ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* edg*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* EPX*/ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, /* EX */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 3 }, /* L */ { 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 }, /* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* LV */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }, /* LVT*/ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 }, /* PP */ { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* RI */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 0, 1, 1, 0, 1 }, /* SM */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, /* T */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1 }, /* V */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }, /* ZWJ*/ { 1, 1, 1, 1, 4, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0 }, /* u */ { 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0 } }; #define LB_NOBREAK 0 #define LB_BREAKABLE 1 #define LB_NOBREAK_EVEN_WITH_SP_BETWEEN 2 #define LB_CM_ZWJ_foo 3 #define LB_SP_foo 6 #define LB_PR_or_PO_then_OP_or_HY 9 #define LB_SY_or_IS_then_various 11 #define LB_HY_or_BA_then_foo 13 #define LB_RI_then_RI 15 #define LB_various_then_PO_or_PR 32 static const U8 LB_table[41][41] = { /* 'EAO' stands for 'East_Asian_OP'; 'edg' stands for 'EDGE'; u stands for 'unused in this Unicode release (and the data in its row and * column are garbage) */ /* AL B2 BA BB BK CB CL CM CP CR EAO EB edg EM EX GL H2 H3 HL HY ID IN IS JL JT JV LF NL NS NU OP PO PR QU RI SP SY WJ ZW ZWJ u */ /* AL */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 }, /* B2 */ { 1, 2, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* BA */ {14,14, 0,14, 0, 1, 2, 0, 2, 0, 14,14, 1,14, 2,14,14,14,14, 0,14,13, 2,14,14,14, 0, 0, 0,14,14,14,14, 0,14, 0, 2, 0, 0, 0, 2 }, /* BB */ { 0, 0, 0, 0, 0, 1, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, /* BK */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* CB */ { 1, 1, 1, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* CL */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, /* CM */ { 3, 3, 3, 3, 0, 3, 3, 0, 3, 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 3 }, /* CP */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 0, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, /* CR */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* EAO*/ { 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2 }, /* EB */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 0, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* edg*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* EM */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* EX */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* GL */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, /* H2 */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* H3 */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* HL */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 }, /* HY */ {14,14, 0,14, 0, 1, 2, 0, 2, 0, 14,14, 1,14, 2,14,14,14,14, 0,14,13, 2,14,14,14, 0, 0, 0,13,14,14,14, 0,14, 0, 2, 0, 0, 0, 2 }, /* ID */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* IN */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* IS */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0,12, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, /* JL */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 0, 0, 1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* JT */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* JV */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* LF */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* NL */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* NS */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* NU */ { 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, /* OP */ { 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2 }, /* PO */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* PR */ { 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,10, 1, 1, 0, 1, 0, 2, 0, 0, 0, 2 }, /* QU */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, /* RI */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0,15, 0, 2, 0, 0, 0, 2 }, /* SP */ { 7, 7, 7, 7, 0, 7, 8, 7, 8, 0, 7, 7, 1, 7, 8, 7, 7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 8, 8, 0, 7, 8 }, /* SY */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0,12, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 }, /* WJ */ { 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 }, /* ZW */ { 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1 }, /* ZWJ*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u */ { 1, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 1, 0, 2, 1, 1, 1, 0, 0, 2, 1, 1,33,33, 0, 1, 0, 2, 0, 0, 0, 2 } }; #define WB_NOBREAK 0 #define WB_BREAKABLE 1 #define WB_hs_then_hs 2 #define WB_Ex_or_FO_or_ZWJ_then_foo 3 #define WB_DQ_then_HL 4 #define WB_HL_then_DQ 6 #define WB_LE_or_HL_then_MB_or_ML_or_SQ 8 #define WB_MB_or_ML_or_SQ_then_LE_or_HL 10 #define WB_MB_or_MN_or_SQ_then_NU 12 #define WB_NU_then_MB_or_MN_or_SQ 14 #define WB_RI_then_RI 16 static const U8 WB_table[23][23] = { /* 'edg' stands for 'EDGE'; 'EPL' stands for 'ExtPict_LE'; 'EPX' stands for * 'ExtPict_XX'; 'Ext' stands for 'Extend'; 'hs' stands for 'Perl_Tailored_HSpace'; * u stands for 'unused in this Unicode release (and the data in its row and column * are garbage) */ /* XX CR DQ edg EPL EPX EX Ext FO HL hs KA LE LF MB ML MN NL NU RI SQ ZWJ u */ /* XX */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, /* CR */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, /* DQ */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, /* edg*/ { 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, /* EPL*/ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 9, 0, 1 }, /* EPX*/ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, /* EX */ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1 }, /* Ext*/ { 3, 1, 3, 1, 3, 3, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 3 }, /* FO */ { 3, 1, 3, 1, 3, 3, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 3 }, /* HL */ { 1, 1, 7, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 8, 0, 1 }, /* hs */ { 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 2, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1 }, /* KA */ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, /* LE */ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 9, 9, 1, 1, 0, 1, 9, 0, 1 }, /* LF */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, /* MB */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, /* ML */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 }, /* MN */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, /* NL */ { 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1 }, /* NU */ { 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1,15, 1,15, 1, 0, 1,15, 0, 1 }, /* RI */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,16, 1, 0, 1 }, /* SQ */ { 1, 1, 1, 1, 11, 1, 1, 0, 0,11, 1, 1,11, 1, 1, 1, 1, 1,13, 1, 1, 0, 1 }, /* ZWJ*/ { 3, 1, 3, 1, 0, 0, 3, 0, 0, 3, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 3, 0, 0 }, /* u */ { 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0 } }; #endif /* defined(PERL_IN_REGEXEC_C) */ /* More than one code point may have the same code point as their fold. This * gives the maximum number in the current Unicode release. (The folded-to * code point is not included in this count.) For example, both 'S' and * \x{17F} fold to 's', so the number for that fold is 2. Another way to * look at it is the maximum length of all the IVCF_AUX_TABLE's */ #define MAX_FOLD_FROMS 3 /* Generated from: * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl * 6bbad21de0848e0236b02f34f5fa0edd3cdae9ba8173cc9469a5513936b9e728 regen/mk_PL_charclass.pl * 7a7e778e903508b1c244a77bae57ec57606ab775bb5f81719dbb122eb66d4259 regen/mk_invlists.pl * ex: set ro: */ embedvar.h 0000644 00000052511 15140731057 0006511 0 ustar 00 /* -*- buffer-read-only: t -*- * * embedvar.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/embed.pl from data in embed.fnc, * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h. * Any changes made here will be lost! * * Edit those files and run 'make regen_headers' to effect changes. */ /* (Doing namespace management portably in C is really gross.) */ /* The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT are supported: 1) none 2) MULTIPLICITY # supported for compatibility 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT All other combinations of these flags are errors. only #3 is supported directly, while #2 is a special case of #3 (supported by redefining vTHX appropriately). */ #if defined(MULTIPLICITY) /* cases 2 and 3 above */ # if defined(PERL_IMPLICIT_CONTEXT) # define vTHX aTHX # else # define vTHX PERL_GET_INTERP # endif #define PL_AboveLatin1 (vTHX->IAboveLatin1) #define PL_Assigned_invlist (vTHX->IAssigned_invlist) #define PL_CCC_non0_non230 (vTHX->ICCC_non0_non230) #define PL_DBcontrol (vTHX->IDBcontrol) #define PL_DBcv (vTHX->IDBcv) #define PL_DBgv (vTHX->IDBgv) #define PL_DBline (vTHX->IDBline) #define PL_DBsignal (vTHX->IDBsignal) #define PL_DBsingle (vTHX->IDBsingle) #define PL_DBsub (vTHX->IDBsub) #define PL_DBtrace (vTHX->IDBtrace) #define PL_Dir (vTHX->IDir) #define PL_Env (vTHX->IEnv) #define PL_GCB_invlist (vTHX->IGCB_invlist) #define PL_HasMultiCharFold (vTHX->IHasMultiCharFold) #define PL_InBitmap (vTHX->IInBitmap) #define PL_InMultiCharFold (vTHX->IInMultiCharFold) #define PL_LB_invlist (vTHX->ILB_invlist) #define PL_LIO (vTHX->ILIO) #define PL_Latin1 (vTHX->ILatin1) #define PL_Mem (vTHX->IMem) #define PL_MemParse (vTHX->IMemParse) #define PL_MemShared (vTHX->IMemShared) #define PL_Posix_ptrs (vTHX->IPosix_ptrs) #define PL_Private_Use (vTHX->IPrivate_Use) #define PL_Proc (vTHX->IProc) #define PL_SB_invlist (vTHX->ISB_invlist) #define PL_SCX_invlist (vTHX->ISCX_invlist) #define PL_Sock (vTHX->ISock) #define PL_StdIO (vTHX->IStdIO) #define PL_Sv (vTHX->ISv) #define PL_TR_SPECIAL_HANDLING_UTF8 (vTHX->ITR_SPECIAL_HANDLING_UTF8) #define PL_UpperLatin1 (vTHX->IUpperLatin1) #define PL_WB_invlist (vTHX->IWB_invlist) #define PL_XPosix_ptrs (vTHX->IXPosix_ptrs) #define PL_Xpv (vTHX->IXpv) #define PL_an (vTHX->Ian) #define PL_argvgv (vTHX->Iargvgv) #define PL_argvout_stack (vTHX->Iargvout_stack) #define PL_argvoutgv (vTHX->Iargvoutgv) #define PL_basetime (vTHX->Ibasetime) #define PL_beginav (vTHX->Ibeginav) #define PL_beginav_save (vTHX->Ibeginav_save) #define PL_blockhooks (vTHX->Iblockhooks) #define PL_body_arenas (vTHX->Ibody_arenas) #define PL_body_roots (vTHX->Ibody_roots) #define PL_bodytarget (vTHX->Ibodytarget) #define PL_breakable_sub_gen (vTHX->Ibreakable_sub_gen) #define PL_checkav (vTHX->Icheckav) #define PL_checkav_save (vTHX->Icheckav_save) #define PL_chopset (vTHX->Ichopset) #define PL_clocktick (vTHX->Iclocktick) #define PL_collation_ix (vTHX->Icollation_ix) #define PL_collation_name (vTHX->Icollation_name) #define PL_collation_standard (vTHX->Icollation_standard) #define PL_collxfrm_base (vTHX->Icollxfrm_base) #define PL_collxfrm_mult (vTHX->Icollxfrm_mult) #define PL_colors (vTHX->Icolors) #define PL_colorset (vTHX->Icolorset) #define PL_compcv (vTHX->Icompcv) #define PL_compiling (vTHX->Icompiling) #define PL_comppad (vTHX->Icomppad) #define PL_comppad_name (vTHX->Icomppad_name) #define PL_comppad_name_fill (vTHX->Icomppad_name_fill) #define PL_comppad_name_floor (vTHX->Icomppad_name_floor) #define PL_constpadix (vTHX->Iconstpadix) #define PL_cop_seqmax (vTHX->Icop_seqmax) #define PL_cryptseen (vTHX->Icryptseen) #define PL_curcop (vTHX->Icurcop) #define PL_curcopdb (vTHX->Icurcopdb) #define PL_curlocales (vTHX->Icurlocales) #define PL_curpad (vTHX->Icurpad) #define PL_curpm (vTHX->Icurpm) #define PL_curpm_under (vTHX->Icurpm_under) #define PL_curstack (vTHX->Icurstack) #define PL_curstackinfo (vTHX->Icurstackinfo) #define PL_curstash (vTHX->Icurstash) #define PL_curstname (vTHX->Icurstname) #define PL_custom_op_descs (vTHX->Icustom_op_descs) #define PL_custom_op_names (vTHX->Icustom_op_names) #define PL_custom_ops (vTHX->Icustom_ops) #define PL_cv_has_eval (vTHX->Icv_has_eval) #define PL_dbargs (vTHX->Idbargs) #define PL_debstash (vTHX->Idebstash) #define PL_debug (vTHX->Idebug) #define PL_debug_pad (vTHX->Idebug_pad) #define PL_def_layerlist (vTHX->Idef_layerlist) #define PL_defgv (vTHX->Idefgv) #define PL_defoutgv (vTHX->Idefoutgv) #define PL_defstash (vTHX->Idefstash) #define PL_delaymagic (vTHX->Idelaymagic) #define PL_delaymagic_egid (vTHX->Idelaymagic_egid) #define PL_delaymagic_euid (vTHX->Idelaymagic_euid) #define PL_delaymagic_gid (vTHX->Idelaymagic_gid) #define PL_delaymagic_uid (vTHX->Idelaymagic_uid) #define PL_destroyhook (vTHX->Idestroyhook) #define PL_diehook (vTHX->Idiehook) #define PL_doswitches (vTHX->Idoswitches) #define PL_dowarn (vTHX->Idowarn) #define PL_dump_re_max_len (vTHX->Idump_re_max_len) #define PL_dumper_fd (vTHX->Idumper_fd) #define PL_dumpindent (vTHX->Idumpindent) #define PL_e_script (vTHX->Ie_script) #define PL_efloatbuf (vTHX->Iefloatbuf) #define PL_efloatsize (vTHX->Iefloatsize) #define PL_endav (vTHX->Iendav) #define PL_envgv (vTHX->Ienvgv) #define PL_errgv (vTHX->Ierrgv) #define PL_errors (vTHX->Ierrors) #define PL_eval_root (vTHX->Ieval_root) #define PL_eval_start (vTHX->Ieval_start) #define PL_evalseq (vTHX->Ievalseq) #define PL_exit_flags (vTHX->Iexit_flags) #define PL_exitlist (vTHX->Iexitlist) #define PL_exitlistlen (vTHX->Iexitlistlen) #define PL_fdpid (vTHX->Ifdpid) #define PL_filemode (vTHX->Ifilemode) #define PL_firstgv (vTHX->Ifirstgv) #define PL_forkprocess (vTHX->Iforkprocess) #define PL_formtarget (vTHX->Iformtarget) #define PL_generation (vTHX->Igeneration) #define PL_gensym (vTHX->Igensym) #define PL_globalstash (vTHX->Iglobalstash) #define PL_globhook (vTHX->Iglobhook) #define PL_hash_rand_bits (vTHX->Ihash_rand_bits) #define PL_hash_rand_bits_enabled (vTHX->Ihash_rand_bits_enabled) #define PL_hintgv (vTHX->Ihintgv) #define PL_hv_fetch_ent_mh (vTHX->Ihv_fetch_ent_mh) #define PL_in_clean_all (vTHX->Iin_clean_all) #define PL_in_clean_objs (vTHX->Iin_clean_objs) #define PL_in_eval (vTHX->Iin_eval) #define PL_in_load_module (vTHX->Iin_load_module) #define PL_in_some_fold (vTHX->Iin_some_fold) #define PL_in_utf8_COLLATE_locale (vTHX->Iin_utf8_COLLATE_locale) #define PL_in_utf8_CTYPE_locale (vTHX->Iin_utf8_CTYPE_locale) #define PL_in_utf8_turkic_locale (vTHX->Iin_utf8_turkic_locale) #define PL_incgv (vTHX->Iincgv) #define PL_initav (vTHX->Iinitav) #define PL_inplace (vTHX->Iinplace) #define PL_internal_random_state (vTHX->Iinternal_random_state) #define PL_isarev (vTHX->Iisarev) #define PL_known_layers (vTHX->Iknown_layers) #define PL_langinfo_buf (vTHX->Ilanginfo_buf) #define PL_langinfo_bufsize (vTHX->Ilanginfo_bufsize) #define PL_last_in_gv (vTHX->Ilast_in_gv) #define PL_lastfd (vTHX->Ilastfd) #define PL_lastgotoprobe (vTHX->Ilastgotoprobe) #define PL_laststatval (vTHX->Ilaststatval) #define PL_laststype (vTHX->Ilaststype) #define PL_lc_numeric_mutex_depth (vTHX->Ilc_numeric_mutex_depth) #define PL_locale_utf8ness (vTHX->Ilocale_utf8ness) #define PL_localizing (vTHX->Ilocalizing) #define PL_localpatches (vTHX->Ilocalpatches) #define PL_lockhook (vTHX->Ilockhook) #define PL_main_cv (vTHX->Imain_cv) #define PL_main_root (vTHX->Imain_root) #define PL_main_start (vTHX->Imain_start) #define PL_mainstack (vTHX->Imainstack) #define PL_markstack (vTHX->Imarkstack) #define PL_markstack_max (vTHX->Imarkstack_max) #define PL_markstack_ptr (vTHX->Imarkstack_ptr) #define PL_max_intro_pending (vTHX->Imax_intro_pending) #define PL_maxsysfd (vTHX->Imaxsysfd) #define PL_mbrlen_ps (vTHX->Imbrlen_ps) #define PL_mbrtowc_ps (vTHX->Imbrtowc_ps) #define PL_memory_debug_header (vTHX->Imemory_debug_header) #define PL_mess_sv (vTHX->Imess_sv) #define PL_min_intro_pending (vTHX->Imin_intro_pending) #define PL_minus_E (vTHX->Iminus_E) #define PL_minus_F (vTHX->Iminus_F) #define PL_minus_a (vTHX->Iminus_a) #define PL_minus_c (vTHX->Iminus_c) #define PL_minus_l (vTHX->Iminus_l) #define PL_minus_n (vTHX->Iminus_n) #define PL_minus_p (vTHX->Iminus_p) #define PL_modcount (vTHX->Imodcount) #define PL_modglobal (vTHX->Imodglobal) #define PL_multideref_pc (vTHX->Imultideref_pc) #define PL_my_cxt_list (vTHX->Imy_cxt_list) #define PL_my_cxt_size (vTHX->Imy_cxt_size) #define PL_na (vTHX->Ina) #define PL_nomemok (vTHX->Inomemok) #define PL_numeric_name (vTHX->Inumeric_name) #define PL_numeric_radix_sv (vTHX->Inumeric_radix_sv) #define PL_numeric_standard (vTHX->Inumeric_standard) #define PL_numeric_underlying (vTHX->Inumeric_underlying) #define PL_numeric_underlying_is_standard (vTHX->Inumeric_underlying_is_standard) #define PL_ofsgv (vTHX->Iofsgv) #define PL_oldname (vTHX->Ioldname) #define PL_op (vTHX->Iop) #define PL_op_exec_cnt (vTHX->Iop_exec_cnt) #define PL_op_mask (vTHX->Iop_mask) #define PL_opfreehook (vTHX->Iopfreehook) #define PL_origalen (vTHX->Iorigalen) #define PL_origargc (vTHX->Iorigargc) #define PL_origargv (vTHX->Iorigargv) #define PL_origenviron (vTHX->Iorigenviron) #define PL_origfilename (vTHX->Iorigfilename) #define PL_ors_sv (vTHX->Iors_sv) #define PL_osname (vTHX->Iosname) #define PL_pad_reset_pending (vTHX->Ipad_reset_pending) #define PL_padix (vTHX->Ipadix) #define PL_padix_floor (vTHX->Ipadix_floor) #define PL_padlist_generation (vTHX->Ipadlist_generation) #define PL_padname_const (vTHX->Ipadname_const) #define PL_padname_undef (vTHX->Ipadname_undef) #define PL_parser (vTHX->Iparser) #define PL_patchlevel (vTHX->Ipatchlevel) #define PL_peepp (vTHX->Ipeepp) #define PL_perl_destruct_level (vTHX->Iperl_destruct_level) #define PL_perldb (vTHX->Iperldb) #define PL_perlio (vTHX->Iperlio) #define PL_phase (vTHX->Iphase) #define PL_pidstatus (vTHX->Ipidstatus) #define PL_preambleav (vTHX->Ipreambleav) #define PL_profiledata (vTHX->Iprofiledata) #define PL_psig_name (vTHX->Ipsig_name) #define PL_psig_pend (vTHX->Ipsig_pend) #define PL_psig_ptr (vTHX->Ipsig_ptr) #define PL_ptr_table (vTHX->Iptr_table) #define PL_random_state (vTHX->Irandom_state) #define PL_reentrant_buffer (vTHX->Ireentrant_buffer) #define PL_reentrant_retint (vTHX->Ireentrant_retint) #define PL_reg_curpm (vTHX->Ireg_curpm) #define PL_regex_pad (vTHX->Iregex_pad) #define PL_regex_padav (vTHX->Iregex_padav) #define PL_registered_mros (vTHX->Iregistered_mros) #define PL_regmatch_slab (vTHX->Iregmatch_slab) #define PL_regmatch_state (vTHX->Iregmatch_state) #define PL_replgv (vTHX->Ireplgv) #define PL_restartjmpenv (vTHX->Irestartjmpenv) #define PL_restartop (vTHX->Irestartop) #define PL_rpeepp (vTHX->Irpeepp) #define PL_rs (vTHX->Irs) #define PL_runops (vTHX->Irunops) #define PL_savebegin (vTHX->Isavebegin) #define PL_savestack (vTHX->Isavestack) #define PL_savestack_ix (vTHX->Isavestack_ix) #define PL_savestack_max (vTHX->Isavestack_max) #ifndef PL_sawampersand #define PL_sawampersand (vTHX->Isawampersand) #endif #define PL_scopestack (vTHX->Iscopestack) #define PL_scopestack_ix (vTHX->Iscopestack_ix) #define PL_scopestack_max (vTHX->Iscopestack_max) #define PL_scopestack_name (vTHX->Iscopestack_name) #define PL_secondgv (vTHX->Isecondgv) #define PL_setlocale_buf (vTHX->Isetlocale_buf) #define PL_setlocale_bufsize (vTHX->Isetlocale_bufsize) #define PL_sharehook (vTHX->Isharehook) #define PL_sig_pending (vTHX->Isig_pending) #define PL_sighandler1p (vTHX->Isighandler1p) #define PL_sighandler3p (vTHX->Isighandler3p) #define PL_sighandlerp (vTHX->Isighandlerp) #define PL_signalhook (vTHX->Isignalhook) #define PL_signals (vTHX->Isignals) #define PL_sortcop (vTHX->Isortcop) #define PL_sortstash (vTHX->Isortstash) #define PL_splitstr (vTHX->Isplitstr) #define PL_srand_called (vTHX->Isrand_called) #define PL_stack_base (vTHX->Istack_base) #define PL_stack_max (vTHX->Istack_max) #define PL_stack_sp (vTHX->Istack_sp) #define PL_start_env (vTHX->Istart_env) #define PL_stashcache (vTHX->Istashcache) #define PL_stashpad (vTHX->Istashpad) #define PL_stashpadix (vTHX->Istashpadix) #define PL_stashpadmax (vTHX->Istashpadmax) #define PL_statcache (vTHX->Istatcache) #define PL_statgv (vTHX->Istatgv) #define PL_statname (vTHX->Istatname) #define PL_statusvalue (vTHX->Istatusvalue) #define PL_statusvalue_posix (vTHX->Istatusvalue_posix) #define PL_statusvalue_vms (vTHX->Istatusvalue_vms) #define PL_stderrgv (vTHX->Istderrgv) #define PL_stdingv (vTHX->Istdingv) #define PL_strtab (vTHX->Istrtab) #define PL_strxfrm_NUL_replacement (vTHX->Istrxfrm_NUL_replacement) #define PL_strxfrm_is_behaved (vTHX->Istrxfrm_is_behaved) #define PL_strxfrm_max_cp (vTHX->Istrxfrm_max_cp) #define PL_sub_generation (vTHX->Isub_generation) #define PL_subline (vTHX->Isubline) #define PL_subname (vTHX->Isubname) #define PL_sv_arenaroot (vTHX->Isv_arenaroot) #define PL_sv_consts (vTHX->Isv_consts) #define PL_sv_count (vTHX->Isv_count) #define PL_sv_immortals (vTHX->Isv_immortals) #define PL_sv_no (vTHX->Isv_no) #define PL_sv_root (vTHX->Isv_root) #define PL_sv_serial (vTHX->Isv_serial) #define PL_sv_undef (vTHX->Isv_undef) #define PL_sv_yes (vTHX->Isv_yes) #define PL_sv_zero (vTHX->Isv_zero) #define PL_sys_intern (vTHX->Isys_intern) #define PL_taint_warn (vTHX->Itaint_warn) #define PL_tainted (vTHX->Itainted) #define PL_tainting (vTHX->Itainting) #define PL_threadhook (vTHX->Ithreadhook) #define PL_tmps_floor (vTHX->Itmps_floor) #define PL_tmps_ix (vTHX->Itmps_ix) #define PL_tmps_max (vTHX->Itmps_max) #define PL_tmps_stack (vTHX->Itmps_stack) #define PL_top_env (vTHX->Itop_env) #define PL_toptarget (vTHX->Itoptarget) #define PL_underlying_numeric_obj (vTHX->Iunderlying_numeric_obj) #define PL_unicode (vTHX->Iunicode) #define PL_unitcheckav (vTHX->Iunitcheckav) #define PL_unitcheckav_save (vTHX->Iunitcheckav_save) #define PL_unlockhook (vTHX->Iunlockhook) #define PL_unsafe (vTHX->Iunsafe) #define PL_utf8_charname_begin (vTHX->Iutf8_charname_begin) #define PL_utf8_charname_continue (vTHX->Iutf8_charname_continue) #define PL_utf8_foldclosures (vTHX->Iutf8_foldclosures) #define PL_utf8_idcont (vTHX->Iutf8_idcont) #define PL_utf8_idstart (vTHX->Iutf8_idstart) #define PL_utf8_mark (vTHX->Iutf8_mark) #define PL_utf8_perl_idcont (vTHX->Iutf8_perl_idcont) #define PL_utf8_perl_idstart (vTHX->Iutf8_perl_idstart) #define PL_utf8_tofold (vTHX->Iutf8_tofold) #define PL_utf8_tolower (vTHX->Iutf8_tolower) #define PL_utf8_tosimplefold (vTHX->Iutf8_tosimplefold) #define PL_utf8_totitle (vTHX->Iutf8_totitle) #define PL_utf8_toupper (vTHX->Iutf8_toupper) #define PL_utf8_xidcont (vTHX->Iutf8_xidcont) #define PL_utf8_xidstart (vTHX->Iutf8_xidstart) #define PL_utf8cache (vTHX->Iutf8cache) #define PL_utf8locale (vTHX->Iutf8locale) #define PL_warn_locale (vTHX->Iwarn_locale) #define PL_warnhook (vTHX->Iwarnhook) #define PL_watchaddr (vTHX->Iwatchaddr) #define PL_watchok (vTHX->Iwatchok) #define PL_wcrtomb_ps (vTHX->Iwcrtomb_ps) #define PL_xsubfilename (vTHX->Ixsubfilename) #endif /* MULTIPLICITY */ #if defined(PERL_GLOBAL_STRUCT) #define PL_C_locale_obj (my_vars->GC_locale_obj) #define PL_GC_locale_obj (my_vars->GC_locale_obj) #define PL_appctx (my_vars->Gappctx) #define PL_Gappctx (my_vars->Gappctx) #define PL_check (my_vars->Gcheck) #define PL_Gcheck (my_vars->Gcheck) #define PL_check_mutex (my_vars->Gcheck_mutex) #define PL_Gcheck_mutex (my_vars->Gcheck_mutex) #define PL_csighandler1p (my_vars->Gcsighandler1p) #define PL_Gcsighandler1p (my_vars->Gcsighandler1p) #define PL_csighandler3p (my_vars->Gcsighandler3p) #define PL_Gcsighandler3p (my_vars->Gcsighandler3p) #define PL_csighandlerp (my_vars->Gcsighandlerp) #define PL_Gcsighandlerp (my_vars->Gcsighandlerp) #define PL_curinterp (my_vars->Gcurinterp) #define PL_Gcurinterp (my_vars->Gcurinterp) #define PL_do_undump (my_vars->Gdo_undump) #define PL_Gdo_undump (my_vars->Gdo_undump) #define PL_dollarzero_mutex (my_vars->Gdollarzero_mutex) #define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex) #define PL_env_mutex (my_vars->Genv_mutex) #define PL_Genv_mutex (my_vars->Genv_mutex) #define PL_fold_locale (my_vars->Gfold_locale) #define PL_Gfold_locale (my_vars->Gfold_locale) #define PL_hash_chars (my_vars->Ghash_chars) #define PL_Ghash_chars (my_vars->Ghash_chars) #define PL_hash_seed (my_vars->Ghash_seed) #define PL_Ghash_seed (my_vars->Ghash_seed) #define PL_hash_seed_set (my_vars->Ghash_seed_set) #define PL_Ghash_seed_set (my_vars->Ghash_seed_set) #define PL_hash_state (my_vars->Ghash_state) #define PL_Ghash_state (my_vars->Ghash_state) #define PL_hints_mutex (my_vars->Ghints_mutex) #define PL_Ghints_mutex (my_vars->Ghints_mutex) #define PL_keyword_plugin (my_vars->Gkeyword_plugin) #define PL_Gkeyword_plugin (my_vars->Gkeyword_plugin) #define PL_keyword_plugin_mutex (my_vars->Gkeyword_plugin_mutex) #define PL_Gkeyword_plugin_mutex (my_vars->Gkeyword_plugin_mutex) #define PL_lc_numeric_mutex (my_vars->Glc_numeric_mutex) #define PL_Glc_numeric_mutex (my_vars->Glc_numeric_mutex) #define PL_locale_mutex (my_vars->Glocale_mutex) #define PL_Glocale_mutex (my_vars->Glocale_mutex) #define PL_malloc_mutex (my_vars->Gmalloc_mutex) #define PL_Gmalloc_mutex (my_vars->Gmalloc_mutex) #define PL_mmap_page_size (my_vars->Gmmap_page_size) #define PL_Gmmap_page_size (my_vars->Gmmap_page_size) #define PL_my_ctx_mutex (my_vars->Gmy_ctx_mutex) #define PL_Gmy_ctx_mutex (my_vars->Gmy_ctx_mutex) #define PL_my_cxt_index (my_vars->Gmy_cxt_index) #define PL_Gmy_cxt_index (my_vars->Gmy_cxt_index) #define PL_my_cxt_keys (my_vars->Gmy_cxt_keys) #define PL_Gmy_cxt_keys (my_vars->Gmy_cxt_keys) #define PL_my_cxt_keys_size (my_vars->Gmy_cxt_keys_size) #define PL_Gmy_cxt_keys_size (my_vars->Gmy_cxt_keys_size) #define PL_op_mutex (my_vars->Gop_mutex) #define PL_Gop_mutex (my_vars->Gop_mutex) #define PL_op_seq (my_vars->Gop_seq) #define PL_Gop_seq (my_vars->Gop_seq) #define PL_op_sequence (my_vars->Gop_sequence) #define PL_Gop_sequence (my_vars->Gop_sequence) #define PL_perlio_debug_fd (my_vars->Gperlio_debug_fd) #define PL_Gperlio_debug_fd (my_vars->Gperlio_debug_fd) #define PL_perlio_fd_refcnt (my_vars->Gperlio_fd_refcnt) #define PL_Gperlio_fd_refcnt (my_vars->Gperlio_fd_refcnt) #define PL_perlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size) #define PL_Gperlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size) #define PL_perlio_mutex (my_vars->Gperlio_mutex) #define PL_Gperlio_mutex (my_vars->Gperlio_mutex) #ifdef __VMS #define PL_perllib_sep (my_vars->Gperllib_sep) #define PL_Gperllib_sep (my_vars->Gperllib_sep) #endif #define PL_ppaddr (my_vars->Gppaddr) #define PL_Gppaddr (my_vars->Gppaddr) #ifdef OS2 #define PL_sh_path (my_vars->Gsh_path) #define PL_Gsh_path (my_vars->Gsh_path) #endif #define PL_sig_defaulting (my_vars->Gsig_defaulting) #define PL_Gsig_defaulting (my_vars->Gsig_defaulting) #define PL_sig_handlers_initted (my_vars->Gsig_handlers_initted) #define PL_Gsig_handlers_initted (my_vars->Gsig_handlers_initted) #define PL_sig_ignoring (my_vars->Gsig_ignoring) #define PL_Gsig_ignoring (my_vars->Gsig_ignoring) #define PL_sig_trapped (my_vars->Gsig_trapped) #define PL_Gsig_trapped (my_vars->Gsig_trapped) #define PL_sigfpe_saved (my_vars->Gsigfpe_saved) #define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved) #define PL_strategy_accept (my_vars->Gstrategy_accept) #define PL_Gstrategy_accept (my_vars->Gstrategy_accept) #define PL_strategy_dup (my_vars->Gstrategy_dup) #define PL_Gstrategy_dup (my_vars->Gstrategy_dup) #define PL_strategy_dup2 (my_vars->Gstrategy_dup2) #define PL_Gstrategy_dup2 (my_vars->Gstrategy_dup2) #define PL_strategy_mkstemp (my_vars->Gstrategy_mkstemp) #define PL_Gstrategy_mkstemp (my_vars->Gstrategy_mkstemp) #define PL_strategy_open (my_vars->Gstrategy_open) #define PL_Gstrategy_open (my_vars->Gstrategy_open) #define PL_strategy_open3 (my_vars->Gstrategy_open3) #define PL_Gstrategy_open3 (my_vars->Gstrategy_open3) #define PL_strategy_pipe (my_vars->Gstrategy_pipe) #define PL_Gstrategy_pipe (my_vars->Gstrategy_pipe) #define PL_strategy_socket (my_vars->Gstrategy_socket) #define PL_Gstrategy_socket (my_vars->Gstrategy_socket) #define PL_strategy_socketpair (my_vars->Gstrategy_socketpair) #define PL_Gstrategy_socketpair (my_vars->Gstrategy_socketpair) #define PL_sv_placeholder (my_vars->Gsv_placeholder) #define PL_Gsv_placeholder (my_vars->Gsv_placeholder) #define PL_thr_key (my_vars->Gthr_key) #define PL_Gthr_key (my_vars->Gthr_key) #define PL_timesbase (my_vars->Gtimesbase) #define PL_Gtimesbase (my_vars->Gtimesbase) #define PL_use_safe_putenv (my_vars->Guse_safe_putenv) #define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv) #define PL_user_def_props (my_vars->Guser_def_props) #define PL_Guser_def_props (my_vars->Guser_def_props) #define PL_user_def_props_aTHX (my_vars->Guser_def_props_aTHX) #define PL_Guser_def_props_aTHX (my_vars->Guser_def_props_aTHX) #define PL_user_prop_mutex (my_vars->Guser_prop_mutex) #define PL_Guser_prop_mutex (my_vars->Guser_prop_mutex) #define PL_veto_cleanup (my_vars->Gveto_cleanup) #define PL_Gveto_cleanup (my_vars->Gveto_cleanup) #define PL_watch_pvx (my_vars->Gwatch_pvx) #define PL_Gwatch_pvx (my_vars->Gwatch_pvx) #endif /* PERL_GLOBAL_STRUCT */ /* ex: set ro: */ embed.h 0000644 00000305575 15140731057 0006013 0 ustar 00 /* -*- buffer-read-only: t -*- * * embed.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/embed.pl from data in embed.fnc, * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h. * Any changes made here will be lost! * * Edit those files and run 'make regen_headers' to effect changes. */ /* (Doing namespace management portably in C is really gross.) */ /* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms * (like warn instead of Perl_warn) for the API are not defined. * Not defining the short forms is a good thing for cleaner embedding. */ #ifndef PERL_NO_SHORT_NAMES /* Hide global symbols */ #define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b) #define SvAMAGIC_off Perl_SvAMAGIC_off #define SvAMAGIC_on Perl_SvAMAGIC_on #define _force_out_malformed_utf8_message(a,b,c,d) Perl__force_out_malformed_utf8_message(aTHX_ a,b,c,d) #define _is_uni_FOO(a,b) Perl__is_uni_FOO(aTHX_ a,b) #define _is_uni_perl_idcont(a) Perl__is_uni_perl_idcont(aTHX_ a) #define _is_uni_perl_idstart(a) Perl__is_uni_perl_idstart(aTHX_ a) #define _is_utf8_FOO(a,b,c) Perl__is_utf8_FOO(aTHX_ a,b,c) #define _is_utf8_perl_idcont(a,b) Perl__is_utf8_perl_idcont(aTHX_ a,b) #define _is_utf8_perl_idstart(a,b) Perl__is_utf8_perl_idstart(aTHX_ a,b) #define _to_uni_fold_flags(a,b,c,d) Perl__to_uni_fold_flags(aTHX_ a,b,c,d) #define _to_utf8_fold_flags(a,b,c,d,e) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e) #define _to_utf8_lower_flags(a,b,c,d,e) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e) #define _to_utf8_title_flags(a,b,c,d,e) Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e) #define _to_utf8_upper_flags(a,b,c,d,e) Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e) #define _utf8n_to_uvchr_msgs_helper Perl__utf8n_to_uvchr_msgs_helper #define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d) #define amagic_deref_call(a,b) Perl_amagic_deref_call(aTHX_ a,b) #define apply_attrs_string(a,b,c,d) Perl_apply_attrs_string(aTHX_ a,b,c,d) #define atfork_lock Perl_atfork_lock #define atfork_unlock Perl_atfork_unlock #define av_clear(a) Perl_av_clear(aTHX_ a) #define av_delete(a,b,c) Perl_av_delete(aTHX_ a,b,c) #define av_exists(a,b) Perl_av_exists(aTHX_ a,b) #define av_extend(a,b) Perl_av_extend(aTHX_ a,b) #define av_fetch(a,b,c) Perl_av_fetch(aTHX_ a,b,c) #define av_fill(a,b) Perl_av_fill(aTHX_ a,b) #define av_len(a) Perl_av_len(aTHX_ a) #define av_make(a,b) Perl_av_make(aTHX_ a,b) #define av_pop(a) Perl_av_pop(aTHX_ a) #define av_push(a,b) Perl_av_push(aTHX_ a,b) #define av_shift(a) Perl_av_shift(aTHX_ a) #define av_store(a,b,c) Perl_av_store(aTHX_ a,b,c) #define av_top_index(a) Perl_av_top_index(aTHX_ a) #define av_undef(a) Perl_av_undef(aTHX_ a) #define av_unshift(a,b) Perl_av_unshift(aTHX_ a,b) #define block_end(a,b) Perl_block_end(aTHX_ a,b) #define block_gimme() Perl_block_gimme(aTHX) #define block_start(a) Perl_block_start(aTHX_ a) #define bytes_cmp_utf8(a,b,c,d) Perl_bytes_cmp_utf8(aTHX_ a,b,c,d) #define bytes_from_utf8_loc Perl_bytes_from_utf8_loc #define bytes_to_utf8(a,b) Perl_bytes_to_utf8(aTHX_ a,b) #define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c) #define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b) #define call_list(a,b) Perl_call_list(aTHX_ a,b) #define call_method(a,b) Perl_call_method(aTHX_ a,b) #define call_pv(a,b) Perl_call_pv(aTHX_ a,b) #define call_sv(a,b) Perl_call_sv(aTHX_ a,b) #define caller_cx(a,b) Perl_caller_cx(aTHX_ a,b) #define cast_i32 Perl_cast_i32 #define cast_iv Perl_cast_iv #define cast_ulong Perl_cast_ulong #define cast_uv Perl_cast_uv #define ck_entersub_args_list(a) Perl_ck_entersub_args_list(aTHX_ a) #define ck_entersub_args_proto(a,b,c) Perl_ck_entersub_args_proto(aTHX_ a,b,c) #define ck_entersub_args_proto_or_list(a,b,c) Perl_ck_entersub_args_proto_or_list(aTHX_ a,b,c) #ifndef PERL_IMPLICIT_CONTEXT #define ck_warner Perl_ck_warner #define ck_warner_d Perl_ck_warner_d #endif #define clear_defarray(a,b) Perl_clear_defarray(aTHX_ a,b) #define cop_fetch_label(a,b,c) Perl_cop_fetch_label(aTHX_ a,b,c) #define cop_store_label(a,b,c,d) Perl_cop_store_label(aTHX_ a,b,c,d) #ifndef PERL_IMPLICIT_CONTEXT #define croak Perl_croak #endif #define croak_memory_wrap Perl_croak_memory_wrap #define croak_no_modify Perl_croak_no_modify #define croak_sv(a) Perl_croak_sv(aTHX_ a) #define croak_xs_usage Perl_croak_xs_usage #define csighandler1 Perl_csighandler1 #define csighandler3 Perl_csighandler3 #ifndef NO_MATHOMS #define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a) #endif #ifndef NO_MATHOMS #define custom_op_name(a) Perl_custom_op_name(aTHX_ a) #endif #define cv_clone(a) Perl_cv_clone(aTHX_ a) #define cv_const_sv Perl_cv_const_sv #define cv_get_call_checker(a,b,c) Perl_cv_get_call_checker(aTHX_ a,b,c) #define cv_get_call_checker_flags(a,b,c,d,e) Perl_cv_get_call_checker_flags(aTHX_ a,b,c,d,e) #define cv_name(a,b,c) Perl_cv_name(aTHX_ a,b,c) #define cv_set_call_checker(a,b,c) Perl_cv_set_call_checker(aTHX_ a,b,c) #define cv_set_call_checker_flags(a,b,c,d) Perl_cv_set_call_checker_flags(aTHX_ a,b,c,d) #define cv_undef(a) Perl_cv_undef(aTHX_ a) #define cx_dump(a) Perl_cx_dump(aTHX_ a) #define cxinc() Perl_cxinc(aTHX) #ifndef PERL_IMPLICIT_CONTEXT #define deb Perl_deb #endif #define debop(a) Perl_debop(aTHX_ a) #define debprofdump() Perl_debprofdump(aTHX) #define debstack() Perl_debstack(aTHX) #define debstackptrs() Perl_debstackptrs(aTHX) #define delimcpy Perl_delimcpy #define despatch_signals() Perl_despatch_signals(aTHX) #ifndef PERL_IMPLICIT_CONTEXT #define die Perl_die #endif #define die_sv(a) Perl_die_sv(aTHX_ a) #ifndef NO_MATHOMS #define do_binmode(a,b,c) Perl_do_binmode(aTHX_ a,b,c) #endif #define do_close(a,b) Perl_do_close(aTHX_ a,b) #define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d) #define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d) #define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d) #define do_join(a,b,c,d) Perl_do_join(aTHX_ a,b,c,d) #define do_magic_dump(a,b,c,d,e,f,g) Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g) #define do_op_dump(a,b,c) Perl_do_op_dump(aTHX_ a,b,c) #ifndef NO_MATHOMS #define do_open9(a,b,c,d,e,f,g,h,i) Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i) #endif #define do_openn(a,b,c,d,e,f,g,h,i) Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i) #define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c) #define do_sprintf(a,b,c) Perl_do_sprintf(aTHX_ a,b,c) #define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g) #define doing_taint Perl_doing_taint #define doref(a,b,c) Perl_doref(aTHX_ a,b,c) #define dounwind(a) Perl_dounwind(aTHX_ a) #define dowantarray() Perl_dowantarray(aTHX) #define dump_all() Perl_dump_all(aTHX) #define dump_eval() Perl_dump_eval(aTHX) #define dump_form(a) Perl_dump_form(aTHX_ a) #ifndef PERL_IMPLICIT_CONTEXT #define dump_indent Perl_dump_indent #endif #define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a) #define dump_sub(a) Perl_dump_sub(aTHX_ a) #define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d) #define eval_pv(a,b) Perl_eval_pv(aTHX_ a,b) #define eval_sv(a,b) Perl_eval_sv(aTHX_ a,b) #define fbm_compile(a,b) Perl_fbm_compile(aTHX_ a,b) #define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d) #define filter_add(a,b) Perl_filter_add(aTHX_ a,b) #define filter_del(a) Perl_filter_del(aTHX_ a) #define filter_read(a,b,c) Perl_filter_read(aTHX_ a,b,c) #define find_runcv(a) Perl_find_runcv(aTHX_ a) #define find_rundefsv() Perl_find_rundefsv(aTHX) #define find_rundefsvoffset() Perl_find_rundefsvoffset(aTHX) #define foldEQ Perl_foldEQ #define foldEQ_latin1 Perl_foldEQ_latin1 #define foldEQ_locale Perl_foldEQ_locale #define foldEQ_utf8_flags(a,b,c,d,e,f,g,h,i) Perl_foldEQ_utf8_flags(aTHX_ a,b,c,d,e,f,g,h,i) #ifndef PERL_IMPLICIT_CONTEXT #define form Perl_form #endif #define free_tmps() Perl_free_tmps(aTHX) #define get_av(a,b) Perl_get_av(aTHX_ a,b) #define get_context Perl_get_context #define get_cv(a,b) Perl_get_cv(aTHX_ a,b) #define get_cvn_flags(a,b,c) Perl_get_cvn_flags(aTHX_ a,b,c) #define get_hv(a,b) Perl_get_hv(aTHX_ a,b) #define get_op_descs() Perl_get_op_descs(aTHX) #define get_op_names() Perl_get_op_names(aTHX) #define get_ppaddr() Perl_get_ppaddr(aTHX) #define get_sv(a,b) Perl_get_sv(aTHX_ a,b) #define get_vtbl(a) Perl_get_vtbl(aTHX_ a) #define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a) #define gp_free(a) Perl_gp_free(aTHX_ a) #define gp_ref(a) Perl_gp_ref(aTHX_ a) #define grok_bin_oct_hex(a,b,c,d,e,f,g) Perl_grok_bin_oct_hex(aTHX_ a,b,c,d,e,f,g) #define grok_infnan(a,b) Perl_grok_infnan(aTHX_ a,b) #define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c) #define grok_number_flags(a,b,c,d) Perl_grok_number_flags(aTHX_ a,b,c,d) #define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b) #define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b) #define gv_autoload_pv(a,b,c) Perl_gv_autoload_pv(aTHX_ a,b,c) #define gv_autoload_pvn(a,b,c,d) Perl_gv_autoload_pvn(aTHX_ a,b,c,d) #define gv_autoload_sv(a,b,c) Perl_gv_autoload_sv(aTHX_ a,b,c) #define gv_check(a) Perl_gv_check(aTHX_ a) #define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a) #define gv_dump(a) Perl_gv_dump(aTHX_ a) #ifndef NO_MATHOMS #define gv_efullname(a,b) Perl_gv_efullname(aTHX_ a,b) #endif #define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d) #define gv_fetchfile(a) Perl_gv_fetchfile(aTHX_ a) #define gv_fetchfile_flags(a,b,c) Perl_gv_fetchfile_flags(aTHX_ a,b,c) #define gv_fetchmeth_pv(a,b,c,d) Perl_gv_fetchmeth_pv(aTHX_ a,b,c,d) #define gv_fetchmeth_pv_autoload(a,b,c,d) Perl_gv_fetchmeth_pv_autoload(aTHX_ a,b,c,d) #define gv_fetchmeth_pvn(a,b,c,d,e) Perl_gv_fetchmeth_pvn(aTHX_ a,b,c,d,e) #define gv_fetchmeth_pvn_autoload(a,b,c,d,e) Perl_gv_fetchmeth_pvn_autoload(aTHX_ a,b,c,d,e) #define gv_fetchmeth_sv(a,b,c,d) Perl_gv_fetchmeth_sv(aTHX_ a,b,c,d) #define gv_fetchmeth_sv_autoload(a,b,c,d) Perl_gv_fetchmeth_sv_autoload(aTHX_ a,b,c,d) #define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c) #define gv_fetchmethod_pv_flags(a,b,c) Perl_gv_fetchmethod_pv_flags(aTHX_ a,b,c) #define gv_fetchmethod_pvn_flags(a,b,c,d) Perl_gv_fetchmethod_pvn_flags(aTHX_ a,b,c,d) #define gv_fetchmethod_sv_flags(a,b,c) Perl_gv_fetchmethod_sv_flags(aTHX_ a,b,c) #define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c) #define gv_fetchpvn_flags(a,b,c,d) Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d) #define gv_fetchsv(a,b,c) Perl_gv_fetchsv(aTHX_ a,b,c) #ifndef NO_MATHOMS #define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b) #endif #define gv_fullname4(a,b,c,d) Perl_gv_fullname4(aTHX_ a,b,c,d) #define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b) #define gv_init_pv(a,b,c,d) Perl_gv_init_pv(aTHX_ a,b,c,d) #define gv_init_pvn(a,b,c,d,e) Perl_gv_init_pvn(aTHX_ a,b,c,d,e) #define gv_init_sv(a,b,c,d) Perl_gv_init_sv(aTHX_ a,b,c,d) #define gv_name_set(a,b,c,d) Perl_gv_name_set(aTHX_ a,b,c,d) #define gv_stashpv(a,b) Perl_gv_stashpv(aTHX_ a,b) #define gv_stashpvn(a,b,c) Perl_gv_stashpvn(aTHX_ a,b,c) #define gv_stashsv(a,b) Perl_gv_stashsv(aTHX_ a,b) #define hv_bucket_ratio(a) Perl_hv_bucket_ratio(aTHX_ a) #define hv_clear(a) Perl_hv_clear(aTHX_ a) #define hv_clear_placeholders(a) Perl_hv_clear_placeholders(aTHX_ a) #define hv_common(a,b,c,d,e,f,g,h) Perl_hv_common(aTHX_ a,b,c,d,e,f,g,h) #define hv_common_key_len(a,b,c,d,e,f) Perl_hv_common_key_len(aTHX_ a,b,c,d,e,f) #define hv_copy_hints_hv(a) Perl_hv_copy_hints_hv(aTHX_ a) #define hv_delayfree_ent(a,b) Perl_hv_delayfree_ent(aTHX_ a,b) #define hv_free_ent(a,b) Perl_hv_free_ent(aTHX_ a,b) #define hv_iterinit(a) Perl_hv_iterinit(aTHX_ a) #define hv_iterkey(a,b) Perl_hv_iterkey(aTHX_ a,b) #define hv_iterkeysv(a) Perl_hv_iterkeysv(aTHX_ a) #define hv_iternext_flags(a,b) Perl_hv_iternext_flags(aTHX_ a,b) #define hv_iternextsv(a,b,c) Perl_hv_iternextsv(aTHX_ a,b,c) #define hv_iterval(a,b) Perl_hv_iterval(aTHX_ a,b) #define hv_ksplit(a,b) Perl_hv_ksplit(aTHX_ a,b) #define hv_name_set(a,b,c,d) Perl_hv_name_set(aTHX_ a,b,c,d) #define hv_rand_set(a,b) Perl_hv_rand_set(aTHX_ a,b) #define hv_scalar(a) Perl_hv_scalar(aTHX_ a) #define init_i18nl10n(a) Perl_init_i18nl10n(aTHX_ a) #ifndef NO_MATHOMS #define init_i18nl14n(a) Perl_init_i18nl14n(aTHX_ a) #endif #define init_stacks() Perl_init_stacks(aTHX) #define init_tm(a) Perl_init_tm(aTHX_ a) #define intro_my() Perl_intro_my(aTHX) #define isC9_STRICT_UTF8_CHAR Perl_isC9_STRICT_UTF8_CHAR #define isSTRICT_UTF8_CHAR Perl_isSTRICT_UTF8_CHAR #define isUTF8_CHAR Perl_isUTF8_CHAR #define is_c9strict_utf8_string_loclen Perl_is_c9strict_utf8_string_loclen #define is_lvalue_sub() Perl_is_lvalue_sub(aTHX) #define is_safe_syscall(a,b,c,d) Perl_is_safe_syscall(aTHX_ a,b,c,d) #define is_strict_utf8_string_loclen Perl_is_strict_utf8_string_loclen #ifndef NO_MATHOMS #define is_utf8_char Perl_is_utf8_char #endif #define is_utf8_char_helper Perl_is_utf8_char_helper #define is_utf8_fixed_width_buf_loclen_flags Perl_is_utf8_fixed_width_buf_loclen_flags #define is_utf8_invariant_string_loc Perl_is_utf8_invariant_string_loc #define is_utf8_string_flags Perl_is_utf8_string_flags #define is_utf8_string_loclen Perl_is_utf8_string_loclen #define is_utf8_string_loclen_flags Perl_is_utf8_string_loclen_flags #define is_utf8_valid_partial_char_flags Perl_is_utf8_valid_partial_char_flags #define isinfnan Perl_isinfnan #define leave_adjust_stacks(a,b,c,d) Perl_leave_adjust_stacks(aTHX_ a,b,c,d) #define leave_scope(a) Perl_leave_scope(aTHX_ a) #define lex_bufutf8() Perl_lex_bufutf8(aTHX) #define lex_discard_to(a) Perl_lex_discard_to(aTHX_ a) #define lex_grow_linestr(a) Perl_lex_grow_linestr(aTHX_ a) #define lex_next_chunk(a) Perl_lex_next_chunk(aTHX_ a) #define lex_peek_unichar(a) Perl_lex_peek_unichar(aTHX_ a) #define lex_read_space(a) Perl_lex_read_space(aTHX_ a) #define lex_read_to(a) Perl_lex_read_to(aTHX_ a) #define lex_read_unichar(a) Perl_lex_read_unichar(aTHX_ a) #define lex_start(a,b,c) Perl_lex_start(aTHX_ a,b,c) #define lex_stuff_pv(a,b) Perl_lex_stuff_pv(aTHX_ a,b) #define lex_stuff_pvn(a,b,c) Perl_lex_stuff_pvn(aTHX_ a,b,c) #define lex_stuff_sv(a,b) Perl_lex_stuff_sv(aTHX_ a,b) #define lex_unstuff(a) Perl_lex_unstuff(aTHX_ a) #ifndef PERL_IMPLICIT_CONTEXT #define load_module Perl_load_module #endif #define looks_like_number(a) Perl_looks_like_number(aTHX_ a) #define magic_dump(a) Perl_magic_dump(aTHX_ a) #define markstack_grow() Perl_markstack_grow(aTHX) #ifndef PERL_IMPLICIT_CONTEXT #define mess Perl_mess #endif #define mess_sv(a,b) Perl_mess_sv(aTHX_ a,b) #define mg_clear(a) Perl_mg_clear(aTHX_ a) #define mg_copy(a,b,c,d) Perl_mg_copy(aTHX_ a,b,c,d) #define mg_find Perl_mg_find #define mg_findext Perl_mg_findext #define mg_free(a) Perl_mg_free(aTHX_ a) #define mg_free_type(a,b) Perl_mg_free_type(aTHX_ a,b) #define mg_freeext(a,b,c) Perl_mg_freeext(aTHX_ a,b,c) #define mg_get(a) Perl_mg_get(aTHX_ a) #define mg_length(a) Perl_mg_length(aTHX_ a) #define mg_magical Perl_mg_magical #define mg_set(a) Perl_mg_set(aTHX_ a) #define mg_size(a) Perl_mg_size(aTHX_ a) #define mini_mktime Perl_mini_mktime #define moreswitches(a) Perl_moreswitches(aTHX_ a) #define mortal_getenv Perl_mortal_getenv #define mro_get_linear_isa(a) Perl_mro_get_linear_isa(aTHX_ a) #define mro_method_changed_in(a) Perl_mro_method_changed_in(aTHX_ a) #define my_atof(a) Perl_my_atof(aTHX_ a) #define my_atof3(a,b,c) Perl_my_atof3(aTHX_ a,b,c) #define my_dirfd Perl_my_dirfd #define my_exit(a) Perl_my_exit(aTHX_ a) #define my_failure_exit() Perl_my_failure_exit(aTHX) #define my_fflush_all() Perl_my_fflush_all(aTHX) #define my_fork Perl_my_fork #define my_popen_list(a,b,c) Perl_my_popen_list(aTHX_ a,b,c) #define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b) #define my_socketpair Perl_my_socketpair #define my_strftime(a,b,c,d,e,f,g,h,i,j) Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j) #define my_strtod Perl_my_strtod #define newANONATTRSUB(a,b,c,d) Perl_newANONATTRSUB(aTHX_ a,b,c,d) #define newANONHASH(a) Perl_newANONHASH(aTHX_ a) #define newANONLIST(a) Perl_newANONLIST(aTHX_ a) #define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c) #define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d) #define newAVREF(a) Perl_newAVREF(aTHX_ a) #define newBINOP(a,b,c,d) Perl_newBINOP(aTHX_ a,b,c,d) #define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d) #define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c) #define newCONSTSUB_flags(a,b,c,d,e) Perl_newCONSTSUB_flags(aTHX_ a,b,c,d,e) #define newCVREF(a,b) Perl_newCVREF(aTHX_ a,b) #define newDEFSVOP() Perl_newDEFSVOP(aTHX) #define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c) #define newFOROP(a,b,c,d,e) Perl_newFOROP(aTHX_ a,b,c,d,e) #define newGIVENOP(a,b,c) Perl_newGIVENOP(aTHX_ a,b,c) #define newGVOP(a,b,c) Perl_newGVOP(aTHX_ a,b,c) #define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b) #define newGVgen_flags(a,b) Perl_newGVgen_flags(aTHX_ a,b) #define newHVREF(a) Perl_newHVREF(aTHX_ a) #define newHVhv(a) Perl_newHVhv(aTHX_ a) #define newLISTOP(a,b,c,d) Perl_newLISTOP(aTHX_ a,b,c,d) #define newLOGOP(a,b,c,d) Perl_newLOGOP(aTHX_ a,b,c,d) #define newLOOPEX(a,b) Perl_newLOOPEX(aTHX_ a,b) #define newLOOPOP(a,b,c,d) Perl_newLOOPOP(aTHX_ a,b,c,d) #define newMETHOP(a,b,c) Perl_newMETHOP(aTHX_ a,b,c) #define newMETHOP_named(a,b,c) Perl_newMETHOP_named(aTHX_ a,b,c) #define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e) #define newNULLLIST() Perl_newNULLLIST(aTHX) #define newOP(a,b) Perl_newOP(aTHX_ a,b) #define newPADNAMELIST Perl_newPADNAMELIST #define newPADNAMEouter Perl_newPADNAMEouter #define newPADNAMEpvn Perl_newPADNAMEpvn #define newPMOP(a,b) Perl_newPMOP(aTHX_ a,b) #define newPROG(a) Perl_newPROG(aTHX_ a) #define newPVOP(a,b,c) Perl_newPVOP(aTHX_ a,b,c) #define newRANGE(a,b,c) Perl_newRANGE(aTHX_ a,b,c) #define newRV(a) Perl_newRV(aTHX_ a) #define newRV_noinc(a) Perl_newRV_noinc(aTHX_ a) #define newSLICEOP(a,b,c) Perl_newSLICEOP(aTHX_ a,b,c) #define newSTATEOP(a,b,c) Perl_newSTATEOP(aTHX_ a,b,c) #define newSV(a) Perl_newSV(aTHX_ a) #define newSVOP(a,b,c) Perl_newSVOP(aTHX_ a,b,c) #define newSVREF(a) Perl_newSVREF(aTHX_ a) #define newSV_type(a) Perl_newSV_type(aTHX_ a) #define newSVhek(a) Perl_newSVhek(aTHX_ a) #define newSViv(a) Perl_newSViv(aTHX_ a) #define newSVnv(a) Perl_newSVnv(aTHX_ a) #define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b) #define newSVpv_share(a,b) Perl_newSVpv_share(aTHX_ a,b) #ifndef PERL_IMPLICIT_CONTEXT #define newSVpvf Perl_newSVpvf #endif #define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b) #define newSVpvn_flags(a,b,c) Perl_newSVpvn_flags(aTHX_ a,b,c) #define newSVpvn_share(a,b,c) Perl_newSVpvn_share(aTHX_ a,b,c) #define newSVrv(a,b) Perl_newSVrv(aTHX_ a,b) #define newSVsv_flags(a,b) Perl_newSVsv_flags(aTHX_ a,b) #define newSVuv(a) Perl_newSVuv(aTHX_ a) #define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c) #define newUNOP_AUX(a,b,c,d) Perl_newUNOP_AUX(aTHX_ a,b,c,d) #define newWHENOP(a,b) Perl_newWHENOP(aTHX_ a,b) #define newWHILEOP(a,b,c,d,e,f,g) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g) #define newXS(a,b,c) Perl_newXS(aTHX_ a,b,c) #define newXS_flags(a,b,c,d,e) Perl_newXS_flags(aTHX_ a,b,c,d,e) #define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b) #define new_version(a) Perl_new_version(aTHX_ a) #define nothreadhook() Perl_nothreadhook(aTHX) #define op_append_elem(a,b,c) Perl_op_append_elem(aTHX_ a,b,c) #define op_append_list(a,b,c) Perl_op_append_list(aTHX_ a,b,c) #define op_class(a) Perl_op_class(aTHX_ a) #define op_contextualize(a,b) Perl_op_contextualize(aTHX_ a,b) #define op_convert_list(a,b,c) Perl_op_convert_list(aTHX_ a,b,c) #define op_dump(a) Perl_op_dump(aTHX_ a) #define op_free(a) Perl_op_free(aTHX_ a) #define op_linklist(a) Perl_op_linklist(aTHX_ a) #define op_null(a) Perl_op_null(aTHX_ a) #define op_parent Perl_op_parent #define op_prepend_elem(a,b,c) Perl_op_prepend_elem(aTHX_ a,b,c) #define op_refcnt_lock() Perl_op_refcnt_lock(aTHX) #define op_refcnt_unlock() Perl_op_refcnt_unlock(aTHX) #define op_scope(a) Perl_op_scope(aTHX_ a) #define op_sibling_splice Perl_op_sibling_splice #define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e) #define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b) #define pad_add_name_pv(a,b,c,d) Perl_pad_add_name_pv(aTHX_ a,b,c,d) #define pad_add_name_pvn(a,b,c,d,e) Perl_pad_add_name_pvn(aTHX_ a,b,c,d,e) #define pad_add_name_sv(a,b,c,d) Perl_pad_add_name_sv(aTHX_ a,b,c,d) #define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b) #define pad_findmy_pv(a,b) Perl_pad_findmy_pv(aTHX_ a,b) #define pad_findmy_pvn(a,b,c) Perl_pad_findmy_pvn(aTHX_ a,b,c) #define pad_findmy_sv(a,b) Perl_pad_findmy_sv(aTHX_ a,b) #define pad_new(a) Perl_pad_new(aTHX_ a) #define pad_tidy(a) Perl_pad_tidy(aTHX_ a) #define padnamelist_fetch Perl_padnamelist_fetch #define padnamelist_store(a,b,c) Perl_padnamelist_store(aTHX_ a,b,c) #define parse_arithexpr(a) Perl_parse_arithexpr(aTHX_ a) #define parse_barestmt(a) Perl_parse_barestmt(aTHX_ a) #define parse_block(a) Perl_parse_block(aTHX_ a) #define parse_fullexpr(a) Perl_parse_fullexpr(aTHX_ a) #define parse_fullstmt(a) Perl_parse_fullstmt(aTHX_ a) #define parse_label(a) Perl_parse_label(aTHX_ a) #define parse_listexpr(a) Perl_parse_listexpr(aTHX_ a) #define parse_stmtseq(a) Perl_parse_stmtseq(aTHX_ a) #define parse_subsignature(a) Perl_parse_subsignature(aTHX_ a) #define parse_termexpr(a) Perl_parse_termexpr(aTHX_ a) #define perly_sighandler Perl_perly_sighandler #define pmop_dump(a) Perl_pmop_dump(aTHX_ a) #define pop_scope() Perl_pop_scope(aTHX) #define pregcomp(a,b) Perl_pregcomp(aTHX_ a,b) #define pregexec(a,b,c,d,e,f,g) Perl_pregexec(aTHX_ a,b,c,d,e,f,g) #define pregfree(a) Perl_pregfree(aTHX_ a) #define pregfree2(a) Perl_pregfree2(aTHX_ a) #define prescan_version(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g) #define ptr_table_clear(a) Perl_ptr_table_clear(aTHX_ a) #define ptr_table_fetch(a,b) Perl_ptr_table_fetch(aTHX_ a,b) #define ptr_table_free(a) Perl_ptr_table_free(aTHX_ a) #define ptr_table_new() Perl_ptr_table_new(aTHX) #define ptr_table_split(a) Perl_ptr_table_split(aTHX_ a) #define ptr_table_store(a,b,c) Perl_ptr_table_store(aTHX_ a,b,c) #define push_scope() Perl_push_scope(aTHX) #define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e) #define pv_escape(a,b,c,d,e,f) Perl_pv_escape(aTHX_ a,b,c,d,e,f) #define pv_pretty(a,b,c,d,e,f,g) Perl_pv_pretty(aTHX_ a,b,c,d,e,f,g) #define pv_uni_display(a,b,c,d,e) Perl_pv_uni_display(aTHX_ a,b,c,d,e) #define re_compile(a,b) Perl_re_compile(aTHX_ a,b) #define re_intuit_start(a,b,c,d,e,f,g) Perl_re_intuit_start(aTHX_ a,b,c,d,e,f,g) #define re_intuit_string(a) Perl_re_intuit_string(aTHX_ a) #define reentrant_free() Perl_reentrant_free(aTHX) #define reentrant_init() Perl_reentrant_init(aTHX) #define reentrant_retry Perl_reentrant_retry #define reentrant_size() Perl_reentrant_size(aTHX) #define reg_named_buff_all(a,b) Perl_reg_named_buff_all(aTHX_ a,b) #define reg_named_buff_exists(a,b,c) Perl_reg_named_buff_exists(aTHX_ a,b,c) #define reg_named_buff_fetch(a,b,c) Perl_reg_named_buff_fetch(aTHX_ a,b,c) #define reg_named_buff_firstkey(a,b) Perl_reg_named_buff_firstkey(aTHX_ a,b) #define reg_named_buff_nextkey(a,b) Perl_reg_named_buff_nextkey(aTHX_ a,b) #define reg_named_buff_scalar(a,b) Perl_reg_named_buff_scalar(aTHX_ a,b) #define regdump(a) Perl_regdump(aTHX_ a) #define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h) #define regfree_internal(a) Perl_regfree_internal(aTHX_ a) #define reginitcolors() Perl_reginitcolors(aTHX) #define regnext(a) Perl_regnext(aTHX_ a) #define repeatcpy Perl_repeatcpy #define require_pv(a) Perl_require_pv(aTHX_ a) #define rninstr Perl_rninstr #define rsignal(a,b) Perl_rsignal(aTHX_ a,b) #define rsignal_state(a) Perl_rsignal_state(aTHX_ a) #define runops_debug() Perl_runops_debug(aTHX) #define runops_standard() Perl_runops_standard(aTHX) #define rv2cv_op_cv(a,b) Perl_rv2cv_op_cv(aTHX_ a,b) #define safesyscalloc Perl_safesyscalloc #define safesysfree Perl_safesysfree #define safesysmalloc Perl_safesysmalloc #define safesysrealloc Perl_safesysrealloc #define save_I16(a) Perl_save_I16(aTHX_ a) #define save_I32(a) Perl_save_I32(aTHX_ a) #define save_I8(a) Perl_save_I8(aTHX_ a) #define save_adelete(a,b) Perl_save_adelete(aTHX_ a,b) #define save_aelem_flags(a,b,c,d) Perl_save_aelem_flags(aTHX_ a,b,c,d) #define save_alloc(a,b) Perl_save_alloc(aTHX_ a,b) #define save_aptr(a) Perl_save_aptr(aTHX_ a) #define save_ary(a) Perl_save_ary(aTHX_ a) #define save_bool(a) Perl_save_bool(aTHX_ a) #define save_clearsv(a) Perl_save_clearsv(aTHX_ a) #define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c) #define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b) #define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b) #define save_generic_pvref(a) Perl_save_generic_pvref(aTHX_ a) #define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a) #define save_gp(a,b) Perl_save_gp(aTHX_ a,b) #define save_hash(a) Perl_save_hash(aTHX_ a) #define save_hdelete(a,b) Perl_save_hdelete(aTHX_ a,b) #define save_helem_flags(a,b,c,d) Perl_save_helem_flags(aTHX_ a,b,c,d) #define save_hints() Perl_save_hints(aTHX) #define save_hptr(a) Perl_save_hptr(aTHX_ a) #define save_int(a) Perl_save_int(aTHX_ a) #define save_item(a) Perl_save_item(aTHX_ a) #define save_iv(a) Perl_save_iv(aTHX_ a) #ifndef NO_MATHOMS #define save_list(a,b) Perl_save_list(aTHX_ a,b) #endif #ifndef NO_MATHOMS #define save_long(a) Perl_save_long(aTHX_ a) #endif #ifndef NO_MATHOMS #define save_nogv(a) Perl_save_nogv(aTHX_ a) #endif #define save_padsv_and_mortalize(a) Perl_save_padsv_and_mortalize(aTHX_ a) #define save_pptr(a) Perl_save_pptr(aTHX_ a) #define save_pushi32ptr(a,b,c) Perl_save_pushi32ptr(aTHX_ a,b,c) #define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b) #define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c) #define save_re_context() Perl_save_re_context(aTHX) #define save_scalar(a) Perl_save_scalar(aTHX_ a) #define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c) #define save_shared_pvref(a) Perl_save_shared_pvref(aTHX_ a) #define save_sptr(a) Perl_save_sptr(aTHX_ a) #define save_svref(a) Perl_save_svref(aTHX_ a) #define save_vptr(a) Perl_save_vptr(aTHX_ a) #define savepv(a) Perl_savepv(aTHX_ a) #define savepvn(a,b) Perl_savepvn(aTHX_ a,b) #define savesharedpv(a) Perl_savesharedpv(aTHX_ a) #define savesharedpvn(a,b) Perl_savesharedpvn(aTHX_ a,b) #define savesharedsvpv(a) Perl_savesharedsvpv(aTHX_ a) #define savestack_grow() Perl_savestack_grow(aTHX) #define savestack_grow_cnt(a) Perl_savestack_grow_cnt(aTHX_ a) #define savesvpv(a) Perl_savesvpv(aTHX_ a) #define scan_bin(a,b,c) Perl_scan_bin(aTHX_ a,b,c) #define scan_hex(a,b,c) Perl_scan_hex(aTHX_ a,b,c) #define scan_num(a,b) Perl_scan_num(aTHX_ a,b) #define scan_oct(a,b,c) Perl_scan_oct(aTHX_ a,b,c) #define scan_version(a,b,c) Perl_scan_version(aTHX_ a,b,c) #define scan_vstring(a,b,c) Perl_scan_vstring(aTHX_ a,b,c) #define seed() Perl_seed(aTHX) #define set_context Perl_set_context #define setdefout(a) Perl_setdefout(aTHX_ a) #define share_hek(a,b,c) Perl_share_hek(aTHX_ a,b,c) #define sortsv(a,b,c) Perl_sortsv(aTHX_ a,b,c) #define sortsv_flags(a,b,c,d) Perl_sortsv_flags(aTHX_ a,b,c,d) #define stack_grow(a,b,c) Perl_stack_grow(aTHX_ a,b,c) #define start_subparse(a,b) Perl_start_subparse(aTHX_ a,b) #define str_to_version(a) Perl_str_to_version(aTHX_ a) #define sv_2bool_flags(a,b) Perl_sv_2bool_flags(aTHX_ a,b) #define sv_2cv(a,b,c,d) Perl_sv_2cv(aTHX_ a,b,c,d) #define sv_2io(a) Perl_sv_2io(aTHX_ a) #define sv_2iv_flags(a,b) Perl_sv_2iv_flags(aTHX_ a,b) #define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a) #define sv_2nv_flags(a,b) Perl_sv_2nv_flags(aTHX_ a,b) #define sv_2pv_flags(a,b,c) Perl_sv_2pv_flags(aTHX_ a,b,c) #define sv_2pvbyte_flags(a,b,c) Perl_sv_2pvbyte_flags(aTHX_ a,b,c) #define sv_2pvutf8_flags(a,b,c) Perl_sv_2pvutf8_flags(aTHX_ a,b,c) #define sv_2uv_flags(a,b) Perl_sv_2uv_flags(aTHX_ a,b) #define sv_backoff Perl_sv_backoff #define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b) #define sv_cat_decode(a,b,c,d,e,f) Perl_sv_cat_decode(aTHX_ a,b,c,d,e,f) #define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b) #define sv_catpv_flags(a,b,c) Perl_sv_catpv_flags(aTHX_ a,b,c) #define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b) #ifndef PERL_IMPLICIT_CONTEXT #define sv_catpvf Perl_sv_catpvf #define sv_catpvf_mg Perl_sv_catpvf_mg #endif #define sv_catpvn_flags(a,b,c,d) Perl_sv_catpvn_flags(aTHX_ a,b,c,d) #define sv_catsv_flags(a,b,c) Perl_sv_catsv_flags(aTHX_ a,b,c) #define sv_chop(a,b) Perl_sv_chop(aTHX_ a,b) #define sv_clear(a) Perl_sv_clear(aTHX_ a) #define sv_cmp_flags(a,b,c) Perl_sv_cmp_flags(aTHX_ a,b,c) #define sv_cmp_locale_flags(a,b,c) Perl_sv_cmp_locale_flags(aTHX_ a,b,c) #define sv_copypv_flags(a,b,c) Perl_sv_copypv_flags(aTHX_ a,b,c) #define sv_dec(a) Perl_sv_dec(aTHX_ a) #define sv_dec_nomg(a) Perl_sv_dec_nomg(aTHX_ a) #define sv_derived_from(a,b) Perl_sv_derived_from(aTHX_ a,b) #define sv_derived_from_pv(a,b,c) Perl_sv_derived_from_pv(aTHX_ a,b,c) #define sv_derived_from_pvn(a,b,c,d) Perl_sv_derived_from_pvn(aTHX_ a,b,c,d) #define sv_derived_from_sv(a,b,c) Perl_sv_derived_from_sv(aTHX_ a,b,c) #define sv_destroyable(a) Perl_sv_destroyable(aTHX_ a) #define sv_does(a,b) Perl_sv_does(aTHX_ a,b) #define sv_does_pv(a,b,c) Perl_sv_does_pv(aTHX_ a,b,c) #define sv_does_pvn(a,b,c,d) Perl_sv_does_pvn(aTHX_ a,b,c,d) #define sv_does_sv(a,b,c) Perl_sv_does_sv(aTHX_ a,b,c) #define sv_dump(a) Perl_sv_dump(aTHX_ a) #define sv_eq_flags(a,b,c) Perl_sv_eq_flags(aTHX_ a,b,c) #define sv_force_normal_flags(a,b) Perl_sv_force_normal_flags(aTHX_ a,b) #define sv_free(a) Perl_sv_free(aTHX_ a) #define sv_get_backrefs Perl_sv_get_backrefs #define sv_gets(a,b,c) Perl_sv_gets(aTHX_ a,b,c) #define sv_grow(a,b) Perl_sv_grow(aTHX_ a,b) #define sv_inc(a) Perl_sv_inc(aTHX_ a) #define sv_inc_nomg(a) Perl_sv_inc_nomg(aTHX_ a) #define sv_insert_flags(a,b,c,d,e,f) Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f) #define sv_isa(a,b) Perl_sv_isa(aTHX_ a,b) #define sv_isa_sv(a,b) Perl_sv_isa_sv(aTHX_ a,b) #define sv_isobject(a) Perl_sv_isobject(aTHX_ a) #ifndef NO_MATHOMS #define sv_iv(a) Perl_sv_iv(aTHX_ a) #endif #define sv_len(a) Perl_sv_len(aTHX_ a) #define sv_len_utf8(a) Perl_sv_len_utf8(aTHX_ a) #define sv_magic(a,b,c,d,e) Perl_sv_magic(aTHX_ a,b,c,d,e) #define sv_magicext(a,b,c,d,e,f) Perl_sv_magicext(aTHX_ a,b,c,d,e,f) #define sv_mortalcopy_flags(a,b) Perl_sv_mortalcopy_flags(aTHX_ a,b) #define sv_newmortal() Perl_sv_newmortal(aTHX) #define sv_newref(a) Perl_sv_newref(aTHX_ a) #ifndef NO_MATHOMS #define sv_nolocking(a) Perl_sv_nolocking(aTHX_ a) #endif #define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a) #ifndef NO_MATHOMS #define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a) #endif #ifndef NO_MATHOMS #define sv_nv(a) Perl_sv_nv(aTHX_ a) #endif #define sv_peek(a) Perl_sv_peek(aTHX_ a) #define sv_pos_b2u(a,b) Perl_sv_pos_b2u(aTHX_ a,b) #define sv_pos_b2u_flags(a,b,c) Perl_sv_pos_b2u_flags(aTHX_ a,b,c) #define sv_pos_u2b(a,b,c) Perl_sv_pos_u2b(aTHX_ a,b,c) #define sv_pos_u2b_flags(a,b,c,d) Perl_sv_pos_u2b_flags(aTHX_ a,b,c,d) #ifndef NO_MATHOMS #define sv_pvbyten(a,b) Perl_sv_pvbyten(aTHX_ a,b) #endif #define sv_pvbyten_force(a,b) Perl_sv_pvbyten_force(aTHX_ a,b) #ifndef NO_MATHOMS #define sv_pvn(a,b) Perl_sv_pvn(aTHX_ a,b) #endif #define sv_pvn_force_flags(a,b,c) Perl_sv_pvn_force_flags(aTHX_ a,b,c) #ifndef NO_MATHOMS #define sv_pvn_nomg(a,b) Perl_sv_pvn_nomg(aTHX_ a,b) #endif #ifndef NO_MATHOMS #define sv_pvutf8n(a,b) Perl_sv_pvutf8n(aTHX_ a,b) #endif #define sv_pvutf8n_force(a,b) Perl_sv_pvutf8n_force(aTHX_ a,b) #define sv_recode_to_utf8(a,b) Perl_sv_recode_to_utf8(aTHX_ a,b) #define sv_ref(a,b,c) Perl_sv_ref(aTHX_ a,b,c) #define sv_reftype(a,b) Perl_sv_reftype(aTHX_ a,b) #define sv_replace(a,b) Perl_sv_replace(aTHX_ a,b) #define sv_report_used() Perl_sv_report_used(aTHX) #define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b) #define sv_rvunweaken(a) Perl_sv_rvunweaken(aTHX_ a) #define sv_rvweaken(a) Perl_sv_rvweaken(aTHX_ a) #define sv_set_undef(a) Perl_sv_set_undef(aTHX_ a) #define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b) #define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b) #define sv_setnv(a,b) Perl_sv_setnv(aTHX_ a,b) #define sv_setnv_mg(a,b) Perl_sv_setnv_mg(aTHX_ a,b) #define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b) #define sv_setpv_bufsize(a,b,c) Perl_sv_setpv_bufsize(aTHX_ a,b,c) #define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b) #ifndef PERL_IMPLICIT_CONTEXT #define sv_setpvf Perl_sv_setpvf #define sv_setpvf_mg Perl_sv_setpvf_mg #endif #ifndef NO_MATHOMS #define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b) #endif #ifndef NO_MATHOMS #define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b) #endif #define sv_setpvn(a,b,c) Perl_sv_setpvn(aTHX_ a,b,c) #define sv_setpvn_mg(a,b,c) Perl_sv_setpvn_mg(aTHX_ a,b,c) #define sv_setref_iv(a,b,c) Perl_sv_setref_iv(aTHX_ a,b,c) #define sv_setref_nv(a,b,c) Perl_sv_setref_nv(aTHX_ a,b,c) #define sv_setref_pv(a,b,c) Perl_sv_setref_pv(aTHX_ a,b,c) #define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d) #define sv_setref_uv(a,b,c) Perl_sv_setref_uv(aTHX_ a,b,c) #define sv_setsv_flags(a,b,c) Perl_sv_setsv_flags(aTHX_ a,b,c) #define sv_setsv_mg(a,b) Perl_sv_setsv_mg(aTHX_ a,b) #define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b) #define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b) #define sv_string_from_errnum(a,b) Perl_sv_string_from_errnum(aTHX_ a,b) #define sv_tainted(a) Perl_sv_tainted(aTHX_ a) #define sv_true(a) Perl_sv_true(aTHX_ a) #define sv_uni_display(a,b,c,d) Perl_sv_uni_display(aTHX_ a,b,c,d) #define sv_unmagic(a,b) Perl_sv_unmagic(aTHX_ a,b) #define sv_unmagicext(a,b,c) Perl_sv_unmagicext(aTHX_ a,b,c) #define sv_unref_flags(a,b) Perl_sv_unref_flags(aTHX_ a,b) #define sv_untaint(a) Perl_sv_untaint(aTHX_ a) #define sv_upgrade(a,b) Perl_sv_upgrade(aTHX_ a,b) #define sv_usepvn_flags(a,b,c,d) Perl_sv_usepvn_flags(aTHX_ a,b,c,d) #define sv_utf8_decode(a) Perl_sv_utf8_decode(aTHX_ a) #define sv_utf8_downgrade_flags(a,b,c) Perl_sv_utf8_downgrade_flags(aTHX_ a,b,c) #define sv_utf8_encode(a) Perl_sv_utf8_encode(aTHX_ a) #define sv_utf8_upgrade_flags_grow(a,b,c) Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c) #ifndef NO_MATHOMS #define sv_uv(a) Perl_sv_uv(aTHX_ a) #endif #define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c) #define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c) #define sv_vcatpvfn(a,b,c,d,e,f,g) Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g) #define sv_vcatpvfn_flags(a,b,c,d,e,f,g,h) Perl_sv_vcatpvfn_flags(aTHX_ a,b,c,d,e,f,g,h) #define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c) #define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c) #define sv_vsetpvfn(a,b,c,d,e,f,g) Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g) #define switch_to_global_locale Perl_switch_to_global_locale #define sync_locale Perl_sync_locale #define taint_env() Perl_taint_env(aTHX) #define taint_proper(a,b) Perl_taint_proper(aTHX_ a,b) #define thread_locale_init Perl_thread_locale_init #define thread_locale_term Perl_thread_locale_term #define to_uni_lower(a,b,c) Perl_to_uni_lower(aTHX_ a,b,c) #define to_uni_title(a,b,c) Perl_to_uni_title(aTHX_ a,b,c) #define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c) #ifndef NO_MATHOMS #define unpack_str(a,b,c,d,e,f,g,h) Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h) #endif #define unpackstring(a,b,c,d,e) Perl_unpackstring(aTHX_ a,b,c,d,e) #define unsharepvn(a,b,c) Perl_unsharepvn(aTHX_ a,b,c) #define upg_version(a,b) Perl_upg_version(aTHX_ a,b) #define utf8_distance(a,b) Perl_utf8_distance(aTHX_ a,b) #define utf8_hop Perl_utf8_hop #define utf8_hop_back Perl_utf8_hop_back #define utf8_hop_forward Perl_utf8_hop_forward #define utf8_hop_safe Perl_utf8_hop_safe #define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b) #define utf8_to_bytes(a,b) Perl_utf8_to_bytes(aTHX_ a,b) #ifndef NO_MATHOMS #define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b) #endif #define utf8_to_uvchr_buf_helper(a,b,c) Perl_utf8_to_uvchr_buf_helper(aTHX_ a,b,c) #ifndef NO_MATHOMS #define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b) #endif #define utf8_to_uvuni_buf(a,b,c) Perl_utf8_to_uvuni_buf(aTHX_ a,b,c) #define utf8n_to_uvchr_msgs Perl_utf8n_to_uvchr_msgs #ifndef NO_MATHOMS #define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d) #endif #define uvoffuni_to_utf8_flags_msgs(a,b,c,d) Perl_uvoffuni_to_utf8_flags_msgs(aTHX_ a,b,c,d) #define uvuni_to_utf8(a,b) Perl_uvuni_to_utf8(aTHX_ a,b) #ifndef NO_MATHOMS #define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c) #endif #define valid_utf8_to_uvchr Perl_valid_utf8_to_uvchr #ifndef NO_MATHOMS #define valid_utf8_to_uvuni(a,b) Perl_valid_utf8_to_uvuni(aTHX_ a,b) #endif #define vcmp(a,b) Perl_vcmp(aTHX_ a,b) #define vcroak(a,b) Perl_vcroak(aTHX_ a,b) #define vdeb(a,b) Perl_vdeb(aTHX_ a,b) #define vform(a,b) Perl_vform(aTHX_ a,b) #define vload_module(a,b,c,d) Perl_vload_module(aTHX_ a,b,c,d) #define vmess(a,b) Perl_vmess(aTHX_ a,b) #define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b) #define vnormal(a) Perl_vnormal(aTHX_ a) #define vnumify(a) Perl_vnumify(aTHX_ a) #define vstringify(a) Perl_vstringify(aTHX_ a) #define vverify(a) Perl_vverify(aTHX_ a) #define vwarn(a,b) Perl_vwarn(aTHX_ a,b) #define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c) #ifndef PERL_IMPLICIT_CONTEXT #define warn Perl_warn #endif #define warn_sv(a) Perl_warn_sv(aTHX_ a) #ifndef PERL_IMPLICIT_CONTEXT #define warner Perl_warner #endif #define whichsig_pv(a) Perl_whichsig_pv(aTHX_ a) #define whichsig_pvn(a,b) Perl_whichsig_pvn(aTHX_ a,b) #define whichsig_sv(a) Perl_whichsig_sv(aTHX_ a) #define wrap_keyword_plugin(a,b) Perl_wrap_keyword_plugin(aTHX_ a,b) #define wrap_op_checker(a,b,c) Perl_wrap_op_checker(aTHX_ a,b,c) #if !(defined(PERL_USE_3ARG_SIGHANDLER)) #define csighandler Perl_csighandler #endif #if !defined(EBCDIC) #define variant_byte_number Perl_variant_byte_number #endif #if !defined(HAS_STRLCAT) #define my_strlcat Perl_my_strlcat #endif #if !defined(HAS_STRLCPY) #define my_strlcpy Perl_my_strlcpy #endif #if !defined(HAS_STRNLEN) #define my_strnlen Perl_my_strnlen #endif #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP) #define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b) #endif #if !defined(PERL_IMPLICIT_SYS) #define my_pclose(a) Perl_my_pclose(aTHX_ a) #define my_popen(a,b) Perl_my_popen(aTHX_ a,b) #endif #if !defined(PERL_NO_INLINE_FUNCTIONS) #define cx_popblock(a) Perl_cx_popblock(aTHX_ a) #define cx_popeval(a) Perl_cx_popeval(aTHX_ a) #define cx_popformat(a) Perl_cx_popformat(aTHX_ a) #define cx_popgiven(a) Perl_cx_popgiven(aTHX_ a) #define cx_poploop(a) Perl_cx_poploop(aTHX_ a) #define cx_popsub(a) Perl_cx_popsub(aTHX_ a) #define cx_popsub_args(a) Perl_cx_popsub_args(aTHX_ a) #define cx_popsub_common(a) Perl_cx_popsub_common(aTHX_ a) #define cx_popwhen(a) Perl_cx_popwhen(aTHX_ a) #define cx_pushblock(a,b,c,d) Perl_cx_pushblock(aTHX_ a,b,c,d) #define cx_pusheval(a,b,c) Perl_cx_pusheval(aTHX_ a,b,c) #define cx_pushformat(a,b,c,d) Perl_cx_pushformat(aTHX_ a,b,c,d) #define cx_pushgiven(a,b) Perl_cx_pushgiven(aTHX_ a,b) #define cx_pushloop_for(a,b,c) Perl_cx_pushloop_for(aTHX_ a,b,c) #define cx_pushloop_plain(a) Perl_cx_pushloop_plain(aTHX_ a) #define cx_pushsub(a,b,c,d) Perl_cx_pushsub(aTHX_ a,b,c,d) #define cx_pushwhen(a) Perl_cx_pushwhen(aTHX_ a) #define cx_topblock(a) Perl_cx_topblock(aTHX_ a) #define gimme_V() Perl_gimme_V(aTHX) #endif #if defined(DEBUGGING) #define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b) #define pad_sv(a) Perl_pad_sv(aTHX_ a) #endif #if defined(HAVE_INTERP_INTERN) #define sys_intern_clear() Perl_sys_intern_clear(aTHX) #define sys_intern_init() Perl_sys_intern_init(aTHX) # if defined(USE_ITHREADS) #define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b) # endif #endif #if defined(MYMALLOC) #define dump_mstats(a) Perl_dump_mstats(aTHX_ a) #define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c) #endif #if defined(PERL_GLOBAL_STRUCT) #define GetVars() Perl_GetVars(aTHX) #define free_global_struct(a) Perl_free_global_struct(aTHX_ a) #define init_global_struct() Perl_init_global_struct(aTHX) #endif #if defined(PERL_IMPLICIT_CONTEXT) #define croak_nocontext Perl_croak_nocontext #define deb_nocontext Perl_deb_nocontext #define die_nocontext Perl_die_nocontext #define form_nocontext Perl_form_nocontext #ifndef NO_MATHOMS #define fprintf_nocontext Perl_fprintf_nocontext #endif #define load_module_nocontext Perl_load_module_nocontext #define mess_nocontext Perl_mess_nocontext #define newSVpvf_nocontext Perl_newSVpvf_nocontext #ifndef NO_MATHOMS #define printf_nocontext Perl_printf_nocontext #endif #define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext #define sv_catpvf_nocontext Perl_sv_catpvf_nocontext #define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext #define sv_setpvf_nocontext Perl_sv_setpvf_nocontext #define warn_nocontext Perl_warn_nocontext #define warner_nocontext Perl_warner_nocontext #endif #if defined(PERL_USE_3ARG_SIGHANDLER) #define csighandler Perl_csighandler #endif #if defined(UNLINK_ALL_VERSIONS) #define unlnk(a) Perl_unlnk(aTHX_ a) #endif #if defined(USE_C_BACKTRACE) #define dump_c_backtrace(a,b,c) Perl_dump_c_backtrace(aTHX_ a,b,c) #define get_c_backtrace_dump(a,b) Perl_get_c_backtrace_dump(aTHX_ a,b) #endif #if defined(USE_ITHREADS) #define alloccopstash(a) Perl_alloccopstash(aTHX_ a) #define any_dup(a,b) Perl_any_dup(aTHX_ a,b) #define cx_dup(a,b,c,d) Perl_cx_dup(aTHX_ a,b,c,d) #define dirp_dup(a,b) Perl_dirp_dup(aTHX_ a,b) #define fp_dup(a,b,c) Perl_fp_dup(aTHX_ a,b,c) #define gp_dup(a,b) Perl_gp_dup(aTHX_ a,b) #define he_dup(a,b,c) Perl_he_dup(aTHX_ a,b,c) #define hek_dup(a,b) Perl_hek_dup(aTHX_ a,b) #define mg_dup(a,b) Perl_mg_dup(aTHX_ a,b) #define newPADOP(a,b,c) Perl_newPADOP(aTHX_ a,b,c) #define parser_dup(a,b) Perl_parser_dup(aTHX_ a,b) #define re_dup_guts(a,b,c) Perl_re_dup_guts(aTHX_ a,b,c) #define regdupe_internal(a,b) Perl_regdupe_internal(aTHX_ a,b) #define rvpv_dup(a,b,c) Perl_rvpv_dup(aTHX_ a,b,c) #define si_dup(a,b) Perl_si_dup(aTHX_ a,b) #define ss_dup(a,b) Perl_ss_dup(aTHX_ a,b) #define sv_dup(a,b) Perl_sv_dup(aTHX_ a,b) #define sv_dup_inc(a,b) Perl_sv_dup_inc(aTHX_ a,b) #endif #if defined(USE_LOCALE) && ( defined(PERL_IN_LOCALE_C) || defined(PERL_IN_MG_C) || defined (PERL_EXT_POSIX) || defined (PERL_EXT_LANGINFO)) #define _is_cur_LC_category_utf8(a) Perl__is_cur_LC_category_utf8(aTHX_ a) #endif #if defined(USE_LOCALE_COLLATE) #define sv_collxfrm_flags(a,b,c) Perl_sv_collxfrm_flags(aTHX_ a,b,c) #endif #if defined(USE_PERLIO) #define PerlIO_clearerr(a) Perl_PerlIO_clearerr(aTHX_ a) #define PerlIO_close(a) Perl_PerlIO_close(aTHX_ a) #define PerlIO_eof(a) Perl_PerlIO_eof(aTHX_ a) #define PerlIO_error(a) Perl_PerlIO_error(aTHX_ a) #define PerlIO_fileno(a) Perl_PerlIO_fileno(aTHX_ a) #define PerlIO_fill(a) Perl_PerlIO_fill(aTHX_ a) #define PerlIO_flush(a) Perl_PerlIO_flush(aTHX_ a) #define PerlIO_get_base(a) Perl_PerlIO_get_base(aTHX_ a) #define PerlIO_get_bufsiz(a) Perl_PerlIO_get_bufsiz(aTHX_ a) #define PerlIO_get_cnt(a) Perl_PerlIO_get_cnt(aTHX_ a) #define PerlIO_get_ptr(a) Perl_PerlIO_get_ptr(aTHX_ a) #define PerlIO_read(a,b,c) Perl_PerlIO_read(aTHX_ a,b,c) #define PerlIO_seek(a,b,c) Perl_PerlIO_seek(aTHX_ a,b,c) #define PerlIO_set_cnt(a,b) Perl_PerlIO_set_cnt(aTHX_ a,b) #define PerlIO_set_ptrcnt(a,b,c) Perl_PerlIO_set_ptrcnt(aTHX_ a,b,c) #define PerlIO_setlinebuf(a) Perl_PerlIO_setlinebuf(aTHX_ a) #define PerlIO_stderr() Perl_PerlIO_stderr(aTHX) #define PerlIO_stdin() Perl_PerlIO_stdin(aTHX) #define PerlIO_stdout() Perl_PerlIO_stdout(aTHX) #define PerlIO_tell(a) Perl_PerlIO_tell(aTHX_ a) #define PerlIO_unread(a,b,c) Perl_PerlIO_unread(aTHX_ a,b,c) #define PerlIO_write(a,b,c) Perl_PerlIO_write(aTHX_ a,b,c) #endif #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS) #define do_aspawn(a,b,c) Perl_do_aspawn(aTHX_ a,b,c) #define do_spawn(a) Perl_do_spawn(aTHX_ a) #define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a) #endif #if defined(PERL_CORE) || defined(PERL_EXT) #define _byte_dump_string(a,b,c) Perl__byte_dump_string(aTHX_ a,b,c) #define _inverse_folds(a,b,c) Perl__inverse_folds(aTHX_ a,b,c) #define append_utf8_from_native_byte Perl_append_utf8_from_native_byte #define av_reify(a) Perl_av_reify(aTHX_ a) #define cntrl_to_mnemonic Perl_cntrl_to_mnemonic #define current_re_engine() Perl_current_re_engine(aTHX) #define cv_ckproto_len_flags(a,b,c,d,e) Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e) #define do_uniprop_match Perl_do_uniprop_match #define get_and_check_backslash_N_name(a,b,c,d) Perl_get_and_check_backslash_N_name(aTHX_ a,b,c,d) #define get_deprecated_property_msg Perl_get_deprecated_property_msg #define get_prop_definition(a) Perl_get_prop_definition(aTHX_ a) #define get_prop_values Perl_get_prop_values #define grok_atoUV Perl_grok_atoUV #define load_charnames(a,b,c,d) Perl_load_charnames(aTHX_ a,b,c,d) #define mg_find_mglob(a) Perl_mg_find_mglob(aTHX_ a) #define multiconcat_stringify(a) Perl_multiconcat_stringify(aTHX_ a) #define multideref_stringify(a,b) Perl_multideref_stringify(aTHX_ a,b) #define op_clear(a) Perl_op_clear(aTHX_ a) #define qerror(a) Perl_qerror(aTHX_ a) #define reg_named_buff(a,b,c,d) Perl_reg_named_buff(aTHX_ a,b,c,d) #define reg_named_buff_iter(a,b,c) Perl_reg_named_buff_iter(aTHX_ a,b,c) #define reg_numbered_buff_fetch(a,b,c) Perl_reg_numbered_buff_fetch(aTHX_ a,b,c) #define reg_numbered_buff_length(a,b,c) Perl_reg_numbered_buff_length(aTHX_ a,b,c) #define reg_numbered_buff_store(a,b,c) Perl_reg_numbered_buff_store(aTHX_ a,b,c) #define reg_qr_package(a) Perl_reg_qr_package(aTHX_ a) #define reg_temp_copy(a,b) Perl_reg_temp_copy(aTHX_ a,b) #define report_uninit(a) Perl_report_uninit(aTHX_ a) #define scan_str(a,b,c,d,e) Perl_scan_str(aTHX_ a,b,c,d,e) #define scan_word(a,b,c,d,e) Perl_scan_word(aTHX_ a,b,c,d,e) #define skipspace_flags(a,b) Perl_skipspace_flags(aTHX_ a,b) #define sv_magicext_mglob(a) Perl_sv_magicext_mglob(aTHX_ a) #define sv_only_taint_gmagic Perl_sv_only_taint_gmagic #define utf16_to_utf8(a,b,c,d) Perl_utf16_to_utf8(aTHX_ a,b,c,d) #define utf16_to_utf8_reversed(a,b,c,d) Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d) #define validate_proto(a,b,c,d) Perl_validate_proto(aTHX_ a,b,c,d) #define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a) #define yylex() Perl_yylex(aTHX) # if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT)) #define my_memrchr S_my_memrchr # endif # if !(!defined(PERL_EXT_RE_BUILD)) # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) #define get_re_gclass_nonbitmap_data(a,b,c,d,e,f) Perl_get_re_gclass_nonbitmap_data(aTHX_ a,b,c,d,e,f) # endif # endif # if !defined(PERL_EXT_RE_BUILD) # if defined(PERL_IN_REGCOMP_C) #define _append_range_to_invlist(a,b,c) S__append_range_to_invlist(aTHX_ a,b,c) #define _invlist_array_init S__invlist_array_init #define get_invlist_previous_index_addr S_get_invlist_previous_index_addr #define invlist_clear(a) S_invlist_clear(aTHX_ a) #define invlist_max S_invlist_max #define invlist_previous_index S_invlist_previous_index #define invlist_replace_list_destroys_src(a,b) S_invlist_replace_list_destroys_src(aTHX_ a,b) #define invlist_set_previous_index S_invlist_set_previous_index #define invlist_trim S_invlist_trim # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) #define get_regclass_nonbitmap_data(a,b,c,d,e,f) Perl_get_regclass_nonbitmap_data(aTHX_ a,b,c,d,e,f) # endif # endif # if defined(DEBUGGING) # if defined(PERL_IN_REGCOMP_C) #define dump_trie(a,b,c,d) S_dump_trie(aTHX_ a,b,c,d) #define dump_trie_interim_list(a,b,c,d,e) S_dump_trie_interim_list(aTHX_ a,b,c,d,e) #define dump_trie_interim_table(a,b,c,d,e) S_dump_trie_interim_table(aTHX_ a,b,c,d,e) #define dumpuntil(a,b,c,d,e,f,g,h) S_dumpuntil(aTHX_ a,b,c,d,e,f,g,h) #define put_charclass_bitmap_innards(a,b,c,d,e,f,g) S_put_charclass_bitmap_innards(aTHX_ a,b,c,d,e,f,g) #define put_charclass_bitmap_innards_common(a,b,c,d,e,f) S_put_charclass_bitmap_innards_common(aTHX_ a,b,c,d,e,f) #define put_charclass_bitmap_innards_invlist(a,b) S_put_charclass_bitmap_innards_invlist(aTHX_ a,b) #define put_code_point(a,b) S_put_code_point(aTHX_ a,b) #define put_range(a,b,c,d) S_put_range(aTHX_ a,b,c,d) #ifndef PERL_IMPLICIT_CONTEXT #define re_indentf Perl_re_indentf #endif #define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b) #define regdump_intflags(a,b) S_regdump_intflags(aTHX_ a,b) #define regtail_study(a,b,c,d) S_regtail_study(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_REGEXEC_C) #define debug_start_match(a,b,c,d,e) S_debug_start_match(aTHX_ a,b,c,d,e) #define dump_exec_pos(a,b,c,d,e,f,g) S_dump_exec_pos(aTHX_ a,b,c,d,e,f,g) #ifndef PERL_IMPLICIT_CONTEXT #define re_exec_indentf Perl_re_exec_indentf #endif # endif # endif # if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING) # if defined(PERL_IN_REGCOMP_C) #define dump_regex_sets_structures(a,b,c,d) S_dump_regex_sets_structures(aTHX_ a,b,c,d) # endif # endif # if defined(PERL_ANY_COW) #define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b) # endif # if defined(PERL_CORE) || defined (PERL_EXT) #define is_utf8_non_invariant_string Perl_is_utf8_non_invariant_string #define sv_or_pv_pos_u2b(a,b,c,d) S_sv_or_pv_pos_u2b(aTHX_ a,b,c,d) # endif # if defined(PERL_CORE) || defined(PERL_EXT) #define isSCRIPT_RUN(a,b,c) Perl_isSCRIPT_RUN(aTHX_ a,b,c) #define variant_under_utf8_count S_variant_under_utf8_count # endif # if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C) #define gv_stashsvpvn_cached(a,b,c,d) Perl_gv_stashsvpvn_cached(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_REGCOMP_C) #define add_above_Latin1_folds(a,b,c) S_add_above_Latin1_folds(aTHX_ a,b,c) #define add_data S_add_data #define add_multi_match(a,b,c) S_add_multi_match(aTHX_ a,b,c) #define change_engine_size(a,b) S_change_engine_size(aTHX_ a,b) #define compile_wildcard(a,b,c) S_compile_wildcard(aTHX_ a,b,c) #define compute_EXACTish S_compute_EXACTish #define construct_ahocorasick_from_trie(a,b,c) S_construct_ahocorasick_from_trie(aTHX_ a,b,c) #define edit_distance S_edit_distance #define execute_wildcard(a,b,c,d,e,f,g) S_execute_wildcard(aTHX_ a,b,c,d,e,f,g) #define find_first_differing_byte_pos S_find_first_differing_byte_pos #define get_ANYOFM_contents(a) S_get_ANYOFM_contents(aTHX_ a) #define get_ANYOF_cp_list_for_ssc(a,b) S_get_ANYOF_cp_list_for_ssc(aTHX_ a,b) #define grok_bslash_N(a,b,c,d,e,f,g) S_grok_bslash_N(aTHX_ a,b,c,d,e,f,g) #define handle_named_backref(a,b,c,d) S_handle_named_backref(aTHX_ a,b,c,d) #define handle_names_wildcard(a,b,c,d) S_handle_names_wildcard(aTHX_ a,b,c,d) #define handle_possible_posix(a,b,c,d,e) S_handle_possible_posix(aTHX_ a,b,c,d,e) #define handle_regex_sets(a,b,c,d,e) S_handle_regex_sets(aTHX_ a,b,c,d,e) #define handle_user_defined_property(a,b,c,d,e,f,g,h,i,j) S_handle_user_defined_property(aTHX_ a,b,c,d,e,f,g,h,i,j) #define invlist_contents(a,b) S_invlist_contents(aTHX_ a,b) #define invlist_is_iterating S_invlist_is_iterating #define invlist_lowest S_invlist_lowest #define is_ssc_worth_it S_is_ssc_worth_it #define join_exact(a,b,c,d,e,f,g) S_join_exact(aTHX_ a,b,c,d,e,f,g) #define make_exactf_invlist(a,b) S_make_exactf_invlist(aTHX_ a,b) #define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h) #define new_regcurly S_new_regcurly #define nextchar(a) S_nextchar(aTHX_ a) #define output_posix_warnings(a,b) S_output_posix_warnings(aTHX_ a,b) #define parse_lparen_question_flags(a) S_parse_lparen_question_flags(aTHX_ a) #define parse_uniprop_string(a,b,c,d,e,f,g,h,i,j) S_parse_uniprop_string(aTHX_ a,b,c,d,e,f,g,h,i,j) #define populate_ANYOF_from_invlist(a,b) S_populate_ANYOF_from_invlist(aTHX_ a,b) #define rck_elide_nothing(a) S_rck_elide_nothing(aTHX_ a) #define reg(a,b,c,d) S_reg(aTHX_ a,b,c,d) #define reg2Lanode(a,b,c,d) S_reg2Lanode(aTHX_ a,b,c,d) #define reg_node(a,b) S_reg_node(aTHX_ a,b) #define reg_scan_name(a,b) S_reg_scan_name(aTHX_ a,b) #define reg_skipcomment S_reg_skipcomment #define reganode(a,b,c) S_reganode(aTHX_ a,b,c) #define regatom(a,b,c) S_regatom(aTHX_ a,b,c) #define regbranch(a,b,c,d) S_regbranch(aTHX_ a,b,c,d) #define regclass(a,b,c,d,e,f,g,h,i) S_regclass(aTHX_ a,b,c,d,e,f,g,h,i) #define regex_set_precedence S_regex_set_precedence #define reginsert(a,b,c,d) S_reginsert(aTHX_ a,b,c,d) #define regnode_guts(a,b,c,d) S_regnode_guts(aTHX_ a,b,c,d) #define regpiece(a,b,c) S_regpiece(aTHX_ a,b,c) #define regpnode(a,b,c) S_regpnode(aTHX_ a,b,c) #define regtail(a,b,c,d) S_regtail(aTHX_ a,b,c,d) #define scan_commit(a,b,c,d) S_scan_commit(aTHX_ a,b,c,d) #define set_ANYOF_arg(a,b,c,d,e) S_set_ANYOF_arg(aTHX_ a,b,c,d,e) #define set_regex_pv(a,b) S_set_regex_pv(aTHX_ a,b) #define skip_to_be_ignored_text(a,b,c) S_skip_to_be_ignored_text(aTHX_ a,b,c) #define ssc_add_range(a,b,c) S_ssc_add_range(aTHX_ a,b,c) #define ssc_and(a,b,c) S_ssc_and(aTHX_ a,b,c) #define ssc_anything(a) S_ssc_anything(aTHX_ a) #define ssc_clear_locale S_ssc_clear_locale #define ssc_cp_and(a,b) S_ssc_cp_and(aTHX_ a,b) #define ssc_finalize(a,b) S_ssc_finalize(aTHX_ a,b) #define ssc_init(a,b) S_ssc_init(aTHX_ a,b) #define ssc_intersection(a,b,c) S_ssc_intersection(aTHX_ a,b,c) #define ssc_is_anything S_ssc_is_anything #define ssc_is_cp_posixl_init S_ssc_is_cp_posixl_init #define ssc_or(a,b,c) S_ssc_or(aTHX_ a,b,c) #define ssc_union(a,b,c) S_ssc_union(aTHX_ a,b,c) #define study_chunk(a,b,c,d,e,f,g,h,i,j,k,l) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l) # endif # if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C) || defined(PERL_IN_OP_C) #define _invlist_dump(a,b,c,d) Perl__invlist_dump(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) #define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b) #define invlist_extend(a,b) S_invlist_extend(aTHX_ a,b) #define invlist_highest S_invlist_highest #define invlist_set_len(a,b,c) S_invlist_set_len(aTHX_ a,b,c) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DOOP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_UTF8_C) #define _add_range_to_invlist(a,b,c) Perl__add_range_to_invlist(aTHX_ a,b,c) #define _invlist_intersection_maybe_complement_2nd(a,b,c,d) Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d) #define _invlist_invert(a) Perl__invlist_invert(aTHX_ a) #define _invlist_union_maybe_complement_2nd(a,b,c,d) Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d) #define _new_invlist(a) Perl__new_invlist(aTHX_ a) #define _setup_canned_invlist(a,b,c) Perl__setup_canned_invlist(aTHX_ a,b,c) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) #define form_alien_digit_msg(a,b,c,d,e,f) Perl_form_alien_digit_msg(aTHX_ a,b,c,d,e,f) #define grok_bslash_c(a,b,c,d) Perl_grok_bslash_c(aTHX_ a,b,c,d) #define grok_bslash_o(a,b,c,d,e,f,g,h) Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g,h) #define grok_bslash_x(a,b,c,d,e,f,g,h) Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g,h) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_DQUOTE_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) #define form_cp_too_large_msg(a,b,c,d) Perl_form_cp_too_large_msg(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_OP_C) #define get_invlist_iter_addr S_get_invlist_iter_addr #define invlist_iterfinish S_invlist_iterfinish #define invlist_iterinit S_invlist_iterinit #define invlist_iternext S_invlist_iternext # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C) #define _invlistEQ(a,b,c) Perl__invlistEQ(aTHX_ a,b,c) #define _new_invlist_C_array(a) Perl__new_invlist_C_array(aTHX_ a) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UNIVERSAL_C) #define get_regex_charset_name S_get_regex_charset_name # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) #ifndef PERL_IMPLICIT_CONTEXT #define re_printf Perl_re_printf #endif #define regprop(a,b,c,d,e) Perl_regprop(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_PP_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_DOOP_C) #define _invlist_contains_cp S__invlist_contains_cp #define _invlist_len S__invlist_len #define _invlist_search Perl__invlist_search #define get_invlist_offset_addr S_get_invlist_offset_addr #define invlist_array S_invlist_array #define is_invlist S_is_invlist # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) #define is_grapheme(a,b,c,d) Perl_is_grapheme(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) #define _to_fold_latin1 Perl__to_fold_latin1 # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_SV_C) #define invlist_clone(a,b) Perl_invlist_clone(aTHX_ a,b) # endif # if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) #define regcurly S_regcurly # endif # if defined(PERL_IN_REGEXEC_C) #define advance_one_LB(a,b,c) S_advance_one_LB(aTHX_ a,b,c) #define advance_one_SB(a,b,c) S_advance_one_SB(aTHX_ a,b,c) #define advance_one_WB(a,b,c,d) S_advance_one_WB(aTHX_ a,b,c,d) #define backup_one_GCB(a,b,c) S_backup_one_GCB(aTHX_ a,b,c) #define backup_one_LB(a,b,c) S_backup_one_LB(aTHX_ a,b,c) #define backup_one_SB(a,b,c) S_backup_one_SB(aTHX_ a,b,c) #define backup_one_WB(a,b,c,d) S_backup_one_WB(aTHX_ a,b,c,d) #define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e) #define find_next_masked S_find_next_masked #define find_span_end S_find_span_end #define find_span_end_mask S_find_span_end_mask #define foldEQ_latin1_s2_folded S_foldEQ_latin1_s2_folded #define isFOO_utf8_lc(a,b,c) S_isFOO_utf8_lc(aTHX_ a,b,c) #define isGCB(a,b,c,d,e) S_isGCB(aTHX_ a,b,c,d,e) #define isLB(a,b,c,d,e,f) S_isLB(aTHX_ a,b,c,d,e,f) #define isSB(a,b,c,d,e,f) S_isSB(aTHX_ a,b,c,d,e,f) #define isWB(a,b,c,d,e,f,g) S_isWB(aTHX_ a,b,c,d,e,f,g) #define reg_check_named_buff_matched S_reg_check_named_buff_matched #define regcp_restore(a,b,c) S_regcp_restore(aTHX_ a,b,c _aDEPTH) #define regcppop(a,b) S_regcppop(aTHX_ a,b _aDEPTH) #define regcppush(a,b,c) S_regcppush(aTHX_ a,b,c _aDEPTH) #define reghop3 S_reghop3 #define reghop4 S_reghop4 #define reghopmaybe3 S_reghopmaybe3 #define reginclass(a,b,c,d,e) S_reginclass(aTHX_ a,b,c,d,e) #define regmatch(a,b,c) S_regmatch(aTHX_ a,b,c) #define regrepeat(a,b,c,d,e,f) S_regrepeat(aTHX_ a,b,c,d,e,f _aDEPTH) #define regtry(a,b) S_regtry(aTHX_ a,b) #define to_byte_substr(a) S_to_byte_substr(aTHX_ a) #define to_utf8_substr(a) S_to_utf8_substr(aTHX_ a) # endif # if defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) #define isFOO_lc(a,b) Perl_isFOO_lc(aTHX_ a,b) # endif #endif #ifdef PERL_CORE #define PerlLIO_dup2_cloexec(a,b) Perl_PerlLIO_dup2_cloexec(aTHX_ a,b) #define PerlLIO_dup_cloexec(a) Perl_PerlLIO_dup_cloexec(aTHX_ a) #define PerlLIO_open3_cloexec(a,b,c) Perl_PerlLIO_open3_cloexec(aTHX_ a,b,c) #define PerlLIO_open_cloexec(a,b) Perl_PerlLIO_open_cloexec(aTHX_ a,b) #define Slab_Alloc(a) Perl_Slab_Alloc(aTHX_ a) #define Slab_Free(a) Perl_Slab_Free(aTHX_ a) #define _is_in_locale_category(a,b) Perl__is_in_locale_category(aTHX_ a,b) #define _warn_problematic_locale Perl__warn_problematic_locale #define abort_execution(a,b) Perl_abort_execution(aTHX_ a,b) #define alloc_LOGOP(a,b,c) Perl_alloc_LOGOP(aTHX_ a,b,c) #define allocmy(a,b,c) Perl_allocmy(aTHX_ a,b,c) #define amagic_is_enabled(a) Perl_amagic_is_enabled(aTHX_ a) #define apply(a,b,c) Perl_apply(aTHX_ a,b,c) #define av_extend_guts(a,b,c,d,e) Perl_av_extend_guts(aTHX_ a,b,c,d,e) #define av_nonelem(a,b) Perl_av_nonelem(aTHX_ a,b) #define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c) #define boot_core_PerlIO() Perl_boot_core_PerlIO(aTHX) #define boot_core_UNIVERSAL() Perl_boot_core_UNIVERSAL(aTHX) #define boot_core_mro() Perl_boot_core_mro(aTHX) #define cando(a,b,c) Perl_cando(aTHX_ a,b,c) #define check_utf8_print(a,b) Perl_check_utf8_print(aTHX_ a,b) #define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a) #define ck_backtick(a) Perl_ck_backtick(aTHX_ a) #define ck_bitop(a) Perl_ck_bitop(aTHX_ a) #define ck_cmp(a) Perl_ck_cmp(aTHX_ a) #define ck_concat(a) Perl_ck_concat(aTHX_ a) #define ck_defined(a) Perl_ck_defined(aTHX_ a) #define ck_delete(a) Perl_ck_delete(aTHX_ a) #define ck_each(a) Perl_ck_each(aTHX_ a) #define ck_eof(a) Perl_ck_eof(aTHX_ a) #define ck_eval(a) Perl_ck_eval(aTHX_ a) #define ck_exec(a) Perl_ck_exec(aTHX_ a) #define ck_exists(a) Perl_ck_exists(aTHX_ a) #define ck_ftst(a) Perl_ck_ftst(aTHX_ a) #define ck_fun(a) Perl_ck_fun(aTHX_ a) #define ck_glob(a) Perl_ck_glob(aTHX_ a) #define ck_grep(a) Perl_ck_grep(aTHX_ a) #define ck_index(a) Perl_ck_index(aTHX_ a) #define ck_isa(a) Perl_ck_isa(aTHX_ a) #define ck_join(a) Perl_ck_join(aTHX_ a) #define ck_length(a) Perl_ck_length(aTHX_ a) #define ck_lfun(a) Perl_ck_lfun(aTHX_ a) #define ck_listiob(a) Perl_ck_listiob(aTHX_ a) #define ck_match(a) Perl_ck_match(aTHX_ a) #define ck_method(a) Perl_ck_method(aTHX_ a) #define ck_null(a) Perl_ck_null(aTHX_ a) #define ck_open(a) Perl_ck_open(aTHX_ a) #define ck_prototype(a) Perl_ck_prototype(aTHX_ a) #define ck_readline(a) Perl_ck_readline(aTHX_ a) #define ck_refassign(a) Perl_ck_refassign(aTHX_ a) #define ck_repeat(a) Perl_ck_repeat(aTHX_ a) #define ck_require(a) Perl_ck_require(aTHX_ a) #define ck_return(a) Perl_ck_return(aTHX_ a) #define ck_rfun(a) Perl_ck_rfun(aTHX_ a) #define ck_rvconst(a) Perl_ck_rvconst(aTHX_ a) #define ck_sassign(a) Perl_ck_sassign(aTHX_ a) #define ck_select(a) Perl_ck_select(aTHX_ a) #define ck_shift(a) Perl_ck_shift(aTHX_ a) #define ck_smartmatch(a) Perl_ck_smartmatch(aTHX_ a) #define ck_sort(a) Perl_ck_sort(aTHX_ a) #define ck_spair(a) Perl_ck_spair(aTHX_ a) #define ck_split(a) Perl_ck_split(aTHX_ a) #define ck_stringify(a) Perl_ck_stringify(aTHX_ a) #define ck_subr(a) Perl_ck_subr(aTHX_ a) #define ck_substr(a) Perl_ck_substr(aTHX_ a) #define ck_svconst(a) Perl_ck_svconst(aTHX_ a) #define ck_tell(a) Perl_ck_tell(aTHX_ a) #define ck_trunc(a) Perl_ck_trunc(aTHX_ a) #define closest_cop(a,b,c,d) Perl_closest_cop(aTHX_ a,b,c,d) #define cmpchain_extend(a,b,c) Perl_cmpchain_extend(aTHX_ a,b,c) #define cmpchain_finish(a) Perl_cmpchain_finish(aTHX_ a) #define cmpchain_start(a,b,c) Perl_cmpchain_start(aTHX_ a,b,c) #define core_prototype(a,b,c,d) Perl_core_prototype(aTHX_ a,b,c,d) #define coresub_op(a,b,c) Perl_coresub_op(aTHX_ a,b,c) #define create_eval_scope(a,b) Perl_create_eval_scope(aTHX_ a,b) #define croak_caller Perl_croak_caller #define croak_no_mem Perl_croak_no_mem #define croak_popstack Perl_croak_popstack #define custom_op_get_field(a,b) Perl_custom_op_get_field(aTHX_ a,b) #define cv_clone_into(a,b) Perl_cv_clone_into(aTHX_ a,b) #define cv_const_sv_or_av Perl_cv_const_sv_or_av #define cv_forget_slab(a) Perl_cv_forget_slab(aTHX_ a) #define cv_undef_flags(a,b) Perl_cv_undef_flags(aTHX_ a,b) #define cvgv_set(a,b) Perl_cvgv_set(aTHX_ a,b) #define cvstash_set(a,b) Perl_cvstash_set(aTHX_ a,b) #define deb_stack_all() Perl_deb_stack_all(aTHX) #define defelem_target(a,b) Perl_defelem_target(aTHX_ a,b) #define delete_eval_scope() Perl_delete_eval_scope(aTHX) #define delimcpy_no_escape Perl_delimcpy_no_escape #define die_unwind(a) Perl_die_unwind(aTHX_ a) #define do_aexec5(a,b,c,d,e) Perl_do_aexec5(aTHX_ a,b,c,d,e) #define do_dump_pad(a,b,c,d) Perl_do_dump_pad(aTHX_ a,b,c,d) #define do_eof(a) Perl_do_eof(aTHX_ a) #define do_ncmp(a,b) Perl_do_ncmp(aTHX_ a,b) #define do_open6(a,b,c,d,e,f) Perl_do_open6(aTHX_ a,b,c,d,e,f) #define do_open_raw(a,b,c,d,e,f) Perl_do_open_raw(aTHX_ a,b,c,d,e,f) #define do_print(a,b) Perl_do_print(aTHX_ a,b) #define do_readline() Perl_do_readline(aTHX) #define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c) #define do_sysseek(a,b,c) Perl_do_sysseek(aTHX_ a,b,c) #define do_tell(a) Perl_do_tell(aTHX_ a) #define do_trans(a) Perl_do_trans(aTHX_ a) #define do_vecget(a,b,c) Perl_do_vecget(aTHX_ a,b,c) #define do_vecset(a) Perl_do_vecset(aTHX_ a) #define do_vop(a,b,c,d) Perl_do_vop(aTHX_ a,b,c,d) #define dofile(a,b) Perl_dofile(aTHX_ a,b) #define dump_all_perl(a) Perl_dump_all_perl(aTHX_ a) #define dump_packsubs_perl(a,b) Perl_dump_packsubs_perl(aTHX_ a,b) #define dump_sub_perl(a,b) Perl_dump_sub_perl(aTHX_ a,b) #define finalize_optree(a) Perl_finalize_optree(aTHX_ a) #define find_lexical_cv(a) Perl_find_lexical_cv(aTHX_ a) #define find_runcv_where(a,b,c) Perl_find_runcv_where(aTHX_ a,b,c) #define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d) #define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX) #define get_hash_seed(a) Perl_get_hash_seed(aTHX_ a) #define get_no_modify() Perl_get_no_modify(aTHX) #define get_opargs() Perl_get_opargs(aTHX) #define gv_override(a,b) Perl_gv_override(aTHX_ a,b) #define gv_setref(a,b) Perl_gv_setref(aTHX_ a,b) #define gv_try_downgrade(a) Perl_gv_try_downgrade(aTHX_ a) #define hv_ename_add(a,b,c,d) Perl_hv_ename_add(aTHX_ a,b,c,d) #define hv_ename_delete(a,b,c,d) Perl_hv_ename_delete(aTHX_ a,b,c,d) #define hv_pushkv(a,b) Perl_hv_pushkv(aTHX_ a,b) #define init_argv_symbols(a,b) Perl_init_argv_symbols(aTHX_ a,b) #define init_constants() Perl_init_constants(aTHX) #define init_debugger() Perl_init_debugger(aTHX) #define init_named_cv(a,b) Perl_init_named_cv(aTHX_ a,b) #define init_uniprops() Perl_init_uniprops(aTHX) #define invert(a) Perl_invert(aTHX_ a) #define invmap_dump(a,b) Perl_invmap_dump(aTHX_ a,b) #define io_close(a,b,c,d) Perl_io_close(aTHX_ a,b,c,d) #define isinfnansv(a) Perl_isinfnansv(aTHX_ a) #define jmaybe(a) Perl_jmaybe(aTHX_ a) #define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c) #define list(a) Perl_list(aTHX_ a) #define localize(a,b) Perl_localize(aTHX_ a,b) #define magic_clear_all_env(a,b) Perl_magic_clear_all_env(aTHX_ a,b) #define magic_cleararylen_p(a,b) Perl_magic_cleararylen_p(aTHX_ a,b) #define magic_clearenv(a,b) Perl_magic_clearenv(aTHX_ a,b) #define magic_clearhint(a,b) Perl_magic_clearhint(aTHX_ a,b) #define magic_clearhints(a,b) Perl_magic_clearhints(aTHX_ a,b) #define magic_clearisa(a,b) Perl_magic_clearisa(aTHX_ a,b) #define magic_clearpack(a,b) Perl_magic_clearpack(aTHX_ a,b) #define magic_clearsig(a,b) Perl_magic_clearsig(aTHX_ a,b) #define magic_copycallchecker(a,b,c,d,e) Perl_magic_copycallchecker(aTHX_ a,b,c,d,e) #define magic_existspack(a,b) Perl_magic_existspack(aTHX_ a,b) #define magic_freearylen_p(a,b) Perl_magic_freearylen_p(aTHX_ a,b) #define magic_freeovrld(a,b) Perl_magic_freeovrld(aTHX_ a,b) #define magic_get(a,b) Perl_magic_get(aTHX_ a,b) #define magic_getarylen(a,b) Perl_magic_getarylen(aTHX_ a,b) #define magic_getdebugvar(a,b) Perl_magic_getdebugvar(aTHX_ a,b) #define magic_getdefelem(a,b) Perl_magic_getdefelem(aTHX_ a,b) #define magic_getnkeys(a,b) Perl_magic_getnkeys(aTHX_ a,b) #define magic_getpack(a,b) Perl_magic_getpack(aTHX_ a,b) #define magic_getpos(a,b) Perl_magic_getpos(aTHX_ a,b) #define magic_getsig(a,b) Perl_magic_getsig(aTHX_ a,b) #define magic_getsubstr(a,b) Perl_magic_getsubstr(aTHX_ a,b) #define magic_gettaint(a,b) Perl_magic_gettaint(aTHX_ a,b) #define magic_getuvar(a,b) Perl_magic_getuvar(aTHX_ a,b) #define magic_getvec(a,b) Perl_magic_getvec(aTHX_ a,b) #define magic_killbackrefs(a,b) Perl_magic_killbackrefs(aTHX_ a,b) #define magic_nextpack(a,b,c) Perl_magic_nextpack(aTHX_ a,b,c) #define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b) #define magic_regdatum_get(a,b) Perl_magic_regdatum_get(aTHX_ a,b) #define magic_scalarpack(a,b) Perl_magic_scalarpack(aTHX_ a,b) #define magic_set(a,b) Perl_magic_set(aTHX_ a,b) #define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b) #define magic_setarylen(a,b) Perl_magic_setarylen(aTHX_ a,b) #define magic_setdbline(a,b) Perl_magic_setdbline(aTHX_ a,b) #define magic_setdebugvar(a,b) Perl_magic_setdebugvar(aTHX_ a,b) #define magic_setdefelem(a,b) Perl_magic_setdefelem(aTHX_ a,b) #define magic_setenv(a,b) Perl_magic_setenv(aTHX_ a,b) #define magic_sethint(a,b) Perl_magic_sethint(aTHX_ a,b) #define magic_setisa(a,b) Perl_magic_setisa(aTHX_ a,b) #define magic_setlvref(a,b) Perl_magic_setlvref(aTHX_ a,b) #define magic_setmglob(a,b) Perl_magic_setmglob(aTHX_ a,b) #define magic_setnkeys(a,b) Perl_magic_setnkeys(aTHX_ a,b) #define magic_setnonelem(a,b) Perl_magic_setnonelem(aTHX_ a,b) #define magic_setpack(a,b) Perl_magic_setpack(aTHX_ a,b) #define magic_setpos(a,b) Perl_magic_setpos(aTHX_ a,b) #define magic_setregexp(a,b) Perl_magic_setregexp(aTHX_ a,b) #define magic_setsig(a,b) Perl_magic_setsig(aTHX_ a,b) #define magic_setsubstr(a,b) Perl_magic_setsubstr(aTHX_ a,b) #define magic_settaint(a,b) Perl_magic_settaint(aTHX_ a,b) #define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b) #define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b) #define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b) #define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b) #define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b) #define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c) #define mode_from_discipline(a,b) Perl_mode_from_discipline(aTHX_ a,b) #define mro_isa_changed_in(a) Perl_mro_isa_changed_in(aTHX_ a) #define mro_package_moved(a,b,c,d) Perl_mro_package_moved(aTHX_ a,b,c,d) #define my_attrs(a,b) Perl_my_attrs(aTHX_ a,b) #define my_clearenv() Perl_my_clearenv(aTHX) #define my_lstat_flags(a) Perl_my_lstat_flags(aTHX_ a) #define my_stat_flags(a) Perl_my_stat_flags(aTHX_ a) #define my_strerror(a) Perl_my_strerror(aTHX_ a) #define my_unexec() Perl_my_unexec(aTHX) #define newATTRSUB_x(a,b,c,d,e,f) Perl_newATTRSUB_x(aTHX_ a,b,c,d,e,f) #define newSTUB(a,b) Perl_newSTUB(aTHX_ a,b) #define newSVavdefelem(a,b,c) Perl_newSVavdefelem(aTHX_ a,b,c) #define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b) #define newXS_len_flags(a,b,c,d,e,f,g) Perl_newXS_len_flags(aTHX_ a,b,c,d,e,f,g) #define nextargv(a,b) Perl_nextargv(aTHX_ a,b) #define noperl_die Perl_noperl_die #define notify_parser_that_changed_to_utf8() Perl_notify_parser_that_changed_to_utf8(aTHX) #define oopsAV(a) Perl_oopsAV(aTHX_ a) #define oopsHV(a) Perl_oopsHV(aTHX_ a) #define op_unscope(a) Perl_op_unscope(aTHX_ a) #define optimize_optree(a) Perl_optimize_optree(aTHX_ a) #define package(a) Perl_package(aTHX_ a) #define package_version(a) Perl_package_version(aTHX_ a) #define pad_add_weakref(a) Perl_pad_add_weakref(aTHX_ a) #define pad_block_start(a) Perl_pad_block_start(aTHX_ a) #define pad_fixup_inner_anons(a,b,c) Perl_pad_fixup_inner_anons(aTHX_ a,b,c) #define pad_free(a) Perl_pad_free(aTHX_ a) #define pad_leavemy() Perl_pad_leavemy(aTHX) #define pad_push(a,b) Perl_pad_push(aTHX_ a,b) #define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b) #define padlist_store(a,b,c) Perl_padlist_store(aTHX_ a,b,c) #define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a) #define parser_free(a) Perl_parser_free(aTHX_ a) #define peep(a) Perl_peep(aTHX_ a) #define pmruntime(a,b,c,d,e) Perl_pmruntime(aTHX_ a,b,c,d,e) #define re_op_compile(a,b,c,d,e,f,g,h) Perl_re_op_compile(aTHX_ a,b,c,d,e,f,g,h) #define refcounted_he_chain_2hv(a,b) Perl_refcounted_he_chain_2hv(aTHX_ a,b) #define refcounted_he_fetch_pv(a,b,c,d) Perl_refcounted_he_fetch_pv(aTHX_ a,b,c,d) #define refcounted_he_fetch_pvn(a,b,c,d,e) Perl_refcounted_he_fetch_pvn(aTHX_ a,b,c,d,e) #define refcounted_he_fetch_sv(a,b,c,d) Perl_refcounted_he_fetch_sv(aTHX_ a,b,c,d) #define refcounted_he_free(a) Perl_refcounted_he_free(aTHX_ a) #define refcounted_he_inc(a) Perl_refcounted_he_inc(aTHX_ a) #define refcounted_he_new_pv(a,b,c,d,e) Perl_refcounted_he_new_pv(aTHX_ a,b,c,d,e) #define refcounted_he_new_pvn(a,b,c,d,e,f) Perl_refcounted_he_new_pvn(aTHX_ a,b,c,d,e,f) #define refcounted_he_new_sv(a,b,c,d,e) Perl_refcounted_he_new_sv(aTHX_ a,b,c,d,e) #define report_evil_fh(a) Perl_report_evil_fh(aTHX_ a) #define report_wrongway_fh(a,b) Perl_report_wrongway_fh(aTHX_ a,b) #define rpeep(a) Perl_rpeep(aTHX_ a) #define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b) #define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c) #define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b) #define save_strlen(a) Perl_save_strlen(aTHX_ a) #define sawparens(a) Perl_sawparens(aTHX_ a) #define scalar(a) Perl_scalar(aTHX_ a) #define scalarvoid(a) Perl_scalarvoid(aTHX_ a) #define set_caret_X() Perl_set_caret_X(aTHX) #define set_numeric_standard() Perl_set_numeric_standard(aTHX) #define set_numeric_underlying() Perl_set_numeric_underlying(aTHX) #define setfd_cloexec Perl_setfd_cloexec #define setfd_cloexec_for_nonsysfd(a) Perl_setfd_cloexec_for_nonsysfd(aTHX_ a) #define setfd_cloexec_or_inhexec_by_sysfdness(a) Perl_setfd_cloexec_or_inhexec_by_sysfdness(aTHX_ a) #define setfd_inhexec Perl_setfd_inhexec #define setfd_inhexec_for_sysfd(a) Perl_setfd_inhexec_for_sysfd(aTHX_ a) #define sighandler1 Perl_sighandler1 #define sighandler3 Perl_sighandler3 #define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a) #define sv_2num(a) Perl_sv_2num(aTHX_ a) #define sv_clean_all() Perl_sv_clean_all(aTHX) #define sv_clean_objs() Perl_sv_clean_objs(aTHX) #define sv_del_backref(a,b) Perl_sv_del_backref(aTHX_ a,b) #define sv_free_arenas() Perl_sv_free_arenas(aTHX) #define sv_len_utf8_nomg(a) Perl_sv_len_utf8_nomg(aTHX_ a) #define sv_resetpvn(a,b,c) Perl_sv_resetpvn(aTHX_ a,b,c) #define sv_sethek(a,b) Perl_sv_sethek(aTHX_ a,b) #ifndef PERL_IMPLICIT_CONTEXT #define tied_method Perl_tied_method #endif #define tmps_grow_p(a) Perl_tmps_grow_p(aTHX_ a) #define unshare_hek(a) Perl_unshare_hek(aTHX_ a) #define utilize(a,b,c,d,e) Perl_utilize(aTHX_ a,b,c,d,e) #define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b) #define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c) #define watch(a) Perl_watch(aTHX_ a) #define write_to_stderr(a) Perl_write_to_stderr(aTHX_ a) #define xs_boot_epilog(a) Perl_xs_boot_epilog(aTHX_ a) #define yyerror(a) Perl_yyerror(aTHX_ a) #define yyerror_pv(a,b) Perl_yyerror_pv(aTHX_ a,b) #define yyerror_pvn(a,b,c) Perl_yyerror_pvn(aTHX_ a,b,c) #define yyparse(a) Perl_yyparse(aTHX_ a) #define yyquit() Perl_yyquit(aTHX) #define yyunlex() Perl_yyunlex(aTHX) # if !(defined(DEBUGGING)) # if !defined(NV_PRESERVES_UV) # if defined(PERL_IN_SV_C) #define sv_2iuv_non_preserve(a) S_sv_2iuv_non_preserve(aTHX_ a) # endif # endif # endif # if !(defined(HAS_NL_LANGINFO)) # if defined(PERL_IN_LOCALE_C) #define my_nl_langinfo S_my_nl_langinfo # endif # endif # if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)) #define do_exec(a) Perl_do_exec(aTHX_ a) # endif # if !(defined(PERL_USE_3ARG_SIGHANDLER)) #define sighandler Perl_sighandler # endif # if !(defined(_MSC_VER)) #define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # endif # if !defined(HAS_GETENV_LEN) #define getenv_len(a,b) Perl_getenv_len(aTHX_ a,b) # endif # if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) # if defined(PERL_IN_PP_SYS_C) #define dooneliner(a,b) S_dooneliner(aTHX_ a,b) # endif # endif # if !defined(HAS_RENAME) #define same_dirent(a,b) Perl_same_dirent(aTHX_ a,b) # endif # if !defined(NV_PRESERVES_UV) # if defined(DEBUGGING) # if defined(PERL_IN_SV_C) #define sv_2iuv_non_preserve(a,b) S_sv_2iuv_non_preserve(aTHX_ a,b) # endif # endif # endif # if !defined(PERL_DISABLE_PMC) # if defined(PERL_IN_PP_CTL_C) #define doopen_pm(a) S_doopen_pm(aTHX_ a) # endif # endif # if !defined(PERL_EXT_RE_BUILD) # if defined(PERL_IN_REGCOMP_C) #define initialize_invlist_guts(a,b) S_initialize_invlist_guts(aTHX_ a,b) # endif # endif # if !defined(PERL_IS_MINIPERL) # if defined(PERL_IN_PERL_C) #define incpush_if_exists(a,b,c) S_incpush_if_exists(aTHX_ a,b,c) # endif # endif # if !defined(PERL_NO_UTF16_FILTER) # if defined(PERL_IN_TOKE_C) #define add_utf16_textfilter(a,b) S_add_utf16_textfilter(aTHX_ a,b) #define utf16_textfilter(a,b,c) S_utf16_textfilter(aTHX_ a,b,c) # endif # endif # if !defined(UV_IS_QUAD) # if defined(PERL_IN_UTF8_C) #define is_utf8_cp_above_31_bits S_is_utf8_cp_above_31_bits # endif # endif # if !defined(WIN32) #define do_exec3(a,b,c) Perl_do_exec3(aTHX_ a,b,c) # endif # if 0 /* Not currently used, but may be needed in the future */ # if defined(PERL_IN_UTF8_C) #define warn_on_first_deprecated_use(a,b,c,d,e) S_warn_on_first_deprecated_use(aTHX_ a,b,c,d,e) # endif # endif # if defined (HAS_SOCKETPAIR) || (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && defined(AF_INET) && defined(PF_INET)) #define PerlSock_socketpair_cloexec(a,b,c,d) Perl_PerlSock_socketpair_cloexec(aTHX_ a,b,c,d) # endif # if defined(DEBUGGING) #define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b) #define set_padlist Perl_set_padlist # if defined(PERL_IN_LOCALE_C) # if defined(USE_LOCALE) #define print_bytes_for_locale(a,b,c) S_print_bytes_for_locale(aTHX_ a,b,c) #define print_collxfrm_input_and_return(a,b,c,d) S_print_collxfrm_input_and_return(aTHX_ a,b,c,d) #define setlocale_debug_string S_setlocale_debug_string # endif # endif # if defined(PERL_IN_PAD_C) #define cv_dump(a,b) S_cv_dump(aTHX_ a,b) # endif # if defined(PERL_IN_SV_C) #define del_sv(a) S_del_sv(aTHX_ a) # endif # if defined(PERL_IN_TOKE_C) #define printbuf(a,b) S_printbuf(aTHX_ a,b) #define tokereport(a,b) S_tokereport(aTHX_ a,b) # endif # endif # if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP) #define dump_sv_child(a) Perl_dump_sv_child(aTHX_ a) # endif # if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM) #define do_ipcctl(a,b,c) Perl_do_ipcctl(aTHX_ a,b,c) #define do_ipcget(a,b,c) Perl_do_ipcget(aTHX_ a,b,c) #define do_msgrcv(a,b) Perl_do_msgrcv(aTHX_ a,b) #define do_msgsnd(a,b) Perl_do_msgsnd(aTHX_ a,b) #define do_semop(a,b) Perl_do_semop(aTHX_ a,b) #define do_shmio(a,b,c) Perl_do_shmio(aTHX_ a,b,c) # endif # if defined(HAS_NL_LANGINFO) # if defined(PERL_IN_LOCALE_C) #define my_nl_langinfo S_my_nl_langinfo # endif # endif # if defined(HAS_PIPE) #define PerlProc_pipe_cloexec(a) Perl_PerlProc_pipe_cloexec(aTHX_ a) # endif # if defined(HAS_SOCKET) #define PerlSock_accept_cloexec(a,b,c) Perl_PerlSock_accept_cloexec(aTHX_ a,b,c) #define PerlSock_socket_cloexec(a,b,c) Perl_PerlSock_socket_cloexec(aTHX_ a,b,c) # endif # if defined(MYMALLOC) #define malloc_good_size Perl_malloc_good_size #define malloced_size Perl_malloced_size # endif # if defined(PERL_CORE) #define opslab_force_free(a) Perl_opslab_force_free(aTHX_ a) #define opslab_free(a) Perl_opslab_free(aTHX_ a) #define opslab_free_nopad(a) Perl_opslab_free_nopad(aTHX_ a) #define parser_free_nexttoke_ops(a,b) Perl_parser_free_nexttoke_ops(aTHX_ a,b) #define should_warn_nl S_should_warn_nl # if defined(PERL_DEBUG_READONLY_OPS) #define Slab_to_ro(a) Perl_Slab_to_ro(aTHX_ a) #define Slab_to_rw(a) Perl_Slab_to_rw(aTHX_ a) # endif # endif # if defined(PERL_CR_FILTER) # if defined(PERL_IN_TOKE_C) #define cr_textfilter(a,b,c) S_cr_textfilter(aTHX_ a,b,c) #define strip_return(a) S_strip_return(aTHX_ a) # endif # endif # if defined(PERL_DEBUG_READONLY_COW) #define sv_buf_to_ro(a) Perl_sv_buf_to_ro(aTHX_ a) # if defined(PERL_IN_SV_C) #define sv_buf_to_rw(a) S_sv_buf_to_rw(aTHX_ a) # endif # endif # if defined(PERL_IN_AV_C) #define get_aux_mg(a) S_get_aux_mg(aTHX_ a) # endif # if defined(PERL_IN_DEB_C) #define deb_stack_n(a,b,c,d,e) S_deb_stack_n(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_DOIO_C) #define argvout_final(a,b,c) S_argvout_final(aTHX_ a,b,c) #define exec_failed(a,b,c) S_exec_failed(aTHX_ a,b,c) #define ingroup(a,b) S_ingroup(aTHX_ a,b) #define openn_cleanup(a,b,c,d,e,f,g,h,i,j,k,l,m) S_openn_cleanup(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l,m) #define openn_setup(a,b,c,d,e,f) S_openn_setup(aTHX_ a,b,c,d,e,f) # endif # if defined(PERL_IN_DOOP_C) #define do_trans_complex(a,b) S_do_trans_complex(aTHX_ a,b) #define do_trans_count(a,b) S_do_trans_count(aTHX_ a,b) #define do_trans_count_invmap(a,b) S_do_trans_count_invmap(aTHX_ a,b) #define do_trans_invmap(a,b) S_do_trans_invmap(aTHX_ a,b) #define do_trans_simple(a,b) S_do_trans_simple(aTHX_ a,b) # endif # if defined(PERL_IN_DUMP_C) #define deb_curcv(a) S_deb_curcv(aTHX_ a) #define debprof(a) S_debprof(aTHX_ a) #define pm_description(a) S_pm_description(aTHX_ a) #define sequence_num(a) S_sequence_num(aTHX_ a) # endif # if defined(PERL_IN_GV_C) #define find_default_stash(a,b,c,d,e,f) S_find_default_stash(aTHX_ a,b,c,d,e,f) #define gv_fetchmeth_internal(a,b,c,d,e,f) S_gv_fetchmeth_internal(aTHX_ a,b,c,d,e,f) #define gv_init_svtype(a,b) S_gv_init_svtype(aTHX_ a,b) #define gv_is_in_main(a,b,c) S_gv_is_in_main(aTHX_ a,b,c) #define gv_magicalize(a,b,c,d,e) S_gv_magicalize(aTHX_ a,b,c,d,e) #define gv_magicalize_isa(a) S_gv_magicalize_isa(aTHX_ a) #define gv_stashpvn_internal(a,b,c) S_gv_stashpvn_internal(aTHX_ a,b,c) #define maybe_multimagic_gv(a,b,c) S_maybe_multimagic_gv(aTHX_ a,b,c) #define parse_gv_stash_name(a,b,c,d,e,f,g,h) S_parse_gv_stash_name(aTHX_ a,b,c,d,e,f,g,h) #define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_HV_C) #define clear_placeholders(a,b) S_clear_placeholders(aTHX_ a,b) #define hsplit(a,b,c) S_hsplit(aTHX_ a,b,c) #define hv_auxinit(a) S_hv_auxinit(aTHX_ a) #define hv_auxinit_internal S_hv_auxinit_internal #define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g) #define hv_free_ent_ret(a,b) S_hv_free_ent_ret(aTHX_ a,b) #define hv_free_entries(a) S_hv_free_entries(aTHX_ a) #define hv_magic_check S_hv_magic_check #define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d) #define new_he() S_new_he(aTHX) #define ptr_hash S_ptr_hash #define refcounted_he_value(a) S_refcounted_he_value(aTHX_ a) #define save_hek_flags S_save_hek_flags #define share_hek_flags(a,b,c,d) S_share_hek_flags(aTHX_ a,b,c,d) #define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_LOCALE_C) #define save_to_buffer S_save_to_buffer # if defined(USE_LOCALE) #define category_name S_category_name #define new_collate(a) S_new_collate(aTHX_ a) #define new_ctype(a) S_new_ctype(aTHX_ a) #define new_numeric(a) S_new_numeric(aTHX_ a) #define restore_switched_locale(a,b) S_restore_switched_locale(aTHX_ a,b) #define set_numeric_radix(a) S_set_numeric_radix(aTHX_ a) #define stdize_locale(a) S_stdize_locale(aTHX_ a) #define switch_category_locale_to_template(a,b,c) S_switch_category_locale_to_template(aTHX_ a,b,c) # if defined(USE_POSIX_2008_LOCALE) #define emulate_setlocale S_emulate_setlocale # endif # if defined(WIN32) #define win32_setlocale(a,b) S_win32_setlocale(aTHX_ a,b) # endif # endif # endif # if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C) # if defined(USE_LOCALE_COLLATE) #define _mem_collxfrm(a,b,c,d) Perl__mem_collxfrm(aTHX_ a,b,c,d) # endif # endif # if defined(PERL_IN_MALLOC_C) #define adjust_size_and_find_bucket S_adjust_size_and_find_bucket # endif # if defined(PERL_IN_MG_C) #define fixup_errno_string(a) S_fixup_errno_string(aTHX_ a) #define magic_methcall1(a,b,c,d,e,f) S_magic_methcall1(aTHX_ a,b,c,d,e,f) #define magic_methpack(a,b,c) S_magic_methpack(aTHX_ a,b,c) #define restore_magic(a) S_restore_magic(aTHX_ a) #define save_magic_flags(a,b,c) S_save_magic_flags(aTHX_ a,b,c) #define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a) # endif # if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C) #define translate_substr_offsets Perl_translate_substr_offsets # endif # if defined(PERL_IN_MRO_C) #define mro_clean_isarev(a,b,c,d,e,f) S_mro_clean_isarev(aTHX_ a,b,c,d,e,f) #define mro_gather_and_rename(a,b,c,d,e) S_mro_gather_and_rename(aTHX_ a,b,c,d,e) #define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b) # endif # if defined(PERL_IN_NUMERIC_C) #define output_non_portable(a) S_output_non_portable(aTHX_ a) # endif # if defined(PERL_IN_OP_C) #define apply_attrs(a,b,c) S_apply_attrs(aTHX_ a,b,c) #define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d) #define assignment_type(a) S_assignment_type(aTHX_ a) #define bad_type_gv(a,b,c,d) S_bad_type_gv(aTHX_ a,b,c,d) #define bad_type_pv(a,b,c,d) S_bad_type_pv(aTHX_ a,b,c,d) #define clear_special_blocks(a,b,c) S_clear_special_blocks(aTHX_ a,b,c) #define cop_free(a) S_cop_free(aTHX_ a) #define dup_attrlist(a) S_dup_attrlist(aTHX_ a) #define finalize_op(a) S_finalize_op(aTHX_ a) #define find_and_forget_pmops(a) S_find_and_forget_pmops(aTHX_ a) #define fold_constants(a) S_fold_constants(aTHX_ a) #define force_list(a,b) S_force_list(aTHX_ a,b) #define forget_pmop(a) S_forget_pmop(aTHX_ a) #define gen_constant_list(a) S_gen_constant_list(aTHX_ a) #define inplace_aassign(a) S_inplace_aassign(aTHX_ a) #define is_handle_constructor S_is_handle_constructor #define listkids(a) S_listkids(aTHX_ a) #define looks_like_bool(a) S_looks_like_bool(aTHX_ a) #define modkids(a,b) S_modkids(aTHX_ a,b) #define move_proto_attr(a,b,c,d) S_move_proto_attr(aTHX_ a,b,c,d) #define my_kid(a,b,c) S_my_kid(aTHX_ a,b,c) #define newGIVWHENOP(a,b,c,d,e) S_newGIVWHENOP(aTHX_ a,b,c,d,e) #define newMETHOP_internal(a,b,c,d) S_newMETHOP_internal(aTHX_ a,b,c,d) #define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d) #define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a) #define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a) #define op_integerize(a) S_op_integerize(aTHX_ a) #define op_std_init(a) S_op_std_init(aTHX_ a) #define optimize_op(a) S_optimize_op(aTHX_ a) #define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c) #define process_special_blocks(a,b,c,d) S_process_special_blocks(aTHX_ a,b,c,d) #define ref_array_or_hash(a) S_ref_array_or_hash(aTHX_ a) #define refkids(a,b) S_refkids(aTHX_ a,b) #define scalar_mod_type S_scalar_mod_type #define scalarboolean(a) S_scalarboolean(aTHX_ a) #define scalarkids(a) S_scalarkids(aTHX_ a) #define scalarseq(a) S_scalarseq(aTHX_ a) #define search_const(a) S_search_const(aTHX_ a) #define simplify_sort(a) S_simplify_sort(aTHX_ a) #define too_few_arguments_pv(a,b,c) S_too_few_arguments_pv(aTHX_ a,b,c) #define too_many_arguments_pv(a,b,c) S_too_many_arguments_pv(aTHX_ a,b,c) #define traverse_op_tree(a,b) S_traverse_op_tree(aTHX_ a,b) # if defined(USE_ITHREADS) #define op_relocate_sv(a,b) S_op_relocate_sv(aTHX_ a,b) # endif # endif # if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C) #define report_redefined_cv(a,b,c) Perl_report_redefined_cv(aTHX_ a,b,c) # endif # if defined(PERL_IN_PAD_C) #define pad_alloc_name(a,b,c,d) S_pad_alloc_name(aTHX_ a,b,c,d) #define pad_check_dup(a,b,c) S_pad_check_dup(aTHX_ a,b,c) #define pad_findlex(a,b,c,d,e,f,g,h,i) S_pad_findlex(aTHX_ a,b,c,d,e,f,g,h,i) #define pad_reset() S_pad_reset(aTHX) # endif # if defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C) #define PadnameIN_SCOPE S_PadnameIN_SCOPE # endif # if defined(PERL_IN_PERL_C) #define find_beginning(a,b) S_find_beginning(aTHX_ a,b) #define forbid_setid(a,b) S_forbid_setid(aTHX_ a,b) #define incpush(a,b,c) S_incpush(aTHX_ a,b,c) #define incpush_use_sep(a,b,c) S_incpush_use_sep(aTHX_ a,b,c) #define init_ids() S_init_ids(aTHX) #define init_interp() S_init_interp(aTHX) #define init_main_stash() S_init_main_stash(aTHX) #define init_perllib() S_init_perllib(aTHX) #define init_postdump_symbols(a,b,c) S_init_postdump_symbols(aTHX_ a,b,c) #define init_predump_symbols() S_init_predump_symbols(aTHX) #define mayberelocate(a,b,c) S_mayberelocate(aTHX_ a,b,c) #define minus_v() S_minus_v(aTHX) #define my_exit_jump() S_my_exit_jump(aTHX) #define nuke_stacks() S_nuke_stacks(aTHX) #define open_script(a,b,c) S_open_script(aTHX_ a,b,c) #define parse_body(a,b) S_parse_body(aTHX_ a,b) #define run_body(a) S_run_body(aTHX_ a) #define usage() S_usage(aTHX) # endif # if defined(PERL_IN_PP_C) #define do_chomp(a,b,c) S_do_chomp(aTHX_ a,b,c) #define do_delete_local() S_do_delete_local(aTHX) #define refto(a) S_refto(aTHX_ a) # endif # if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) #define lossless_NV_to_IV S_lossless_NV_to_IV # endif # if defined(PERL_IN_PP_CTL_C) #define check_type_and_open(a) S_check_type_and_open(aTHX_ a) #define destroy_matcher(a) S_destroy_matcher(aTHX_ a) #define do_smartmatch(a,b,c) S_do_smartmatch(aTHX_ a,b,c) #define docatch(a) S_docatch(aTHX_ a) #define doeval_compile(a,b,c,d) S_doeval_compile(aTHX_ a,b,c,d) #define dofindlabel(a,b,c,d,e,f) S_dofindlabel(aTHX_ a,b,c,d,e,f) #define doparseform(a) S_doparseform(aTHX_ a) #define dopoptoeval(a) S_dopoptoeval(aTHX_ a) #define dopoptogivenfor(a) S_dopoptogivenfor(aTHX_ a) #define dopoptolabel(a,b,c) S_dopoptolabel(aTHX_ a,b,c) #define dopoptoloop(a) S_dopoptoloop(aTHX_ a) #define dopoptosub_at(a,b) S_dopoptosub_at(aTHX_ a,b) #define dopoptowhen(a) S_dopoptowhen(aTHX_ a) #define make_matcher(a) S_make_matcher(aTHX_ a) #define matcher_matches_sv(a,b) S_matcher_matches_sv(aTHX_ a,b) #define num_overflow S_num_overflow #define path_is_searchable S_path_is_searchable #define run_user_filter(a,b,c) S_run_user_filter(aTHX_ a,b,c) #define rxres_free(a) S_rxres_free(aTHX_ a) #define rxres_restore(a,b) S_rxres_restore(aTHX_ a,b) #define save_lines(a,b) S_save_lines(aTHX_ a,b) # endif # if defined(PERL_IN_PP_HOT_C) #define do_oddball(a,b) S_do_oddball(aTHX_ a,b) #define opmethod_stash(a) S_opmethod_stash(aTHX_ a) #define should_we_output_Debug_r(a) S_should_we_output_Debug_r(aTHX_ a) # endif # if defined(PERL_IN_PP_PACK_C) #define div128(a,b) S_div128(aTHX_ a,b) #define first_symbol S_first_symbol #define get_num(a,b) S_get_num(aTHX_ a,b) #define group_end(a,b,c) S_group_end(aTHX_ a,b,c) #define is_an_int(a,b) S_is_an_int(aTHX_ a,b) #define measure_struct(a) S_measure_struct(aTHX_ a) #define mul128(a,b) S_mul128(aTHX_ a,b) #define my_bytes_to_utf8 S_my_bytes_to_utf8 #define need_utf8 S_need_utf8 #define next_symbol(a) S_next_symbol(aTHX_ a) #define pack_rec(a,b,c,d) S_pack_rec(aTHX_ a,b,c,d) #define sv_exp_grow(a,b) S_sv_exp_grow(aTHX_ a,b) #define unpack_rec(a,b,c,d,e) S_unpack_rec(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_PP_SORT_C) #define amagic_cmp(a,b) S_amagic_cmp(aTHX_ a,b) #define amagic_cmp_desc(a,b) S_amagic_cmp_desc(aTHX_ a,b) #define amagic_i_ncmp(a,b) S_amagic_i_ncmp(aTHX_ a,b) #define amagic_i_ncmp_desc(a,b) S_amagic_i_ncmp_desc(aTHX_ a,b) #define amagic_ncmp(a,b) S_amagic_ncmp(aTHX_ a,b) #define amagic_ncmp_desc(a,b) S_amagic_ncmp_desc(aTHX_ a,b) #define cmp_desc(a,b) S_cmp_desc(aTHX_ a,b) #define sortcv(a,b) S_sortcv(aTHX_ a,b) #define sortcv_stacked(a,b) S_sortcv_stacked(aTHX_ a,b) #define sortcv_xsub(a,b) S_sortcv_xsub(aTHX_ a,b) #define sortsv_flags_impl(a,b,c,d) S_sortsv_flags_impl(aTHX_ a,b,c,d) #define sv_i_ncmp(a,b) S_sv_i_ncmp(aTHX_ a,b) #define sv_i_ncmp_desc(a,b) S_sv_i_ncmp_desc(aTHX_ a,b) #define sv_ncmp(a,b) S_sv_ncmp(aTHX_ a,b) #define sv_ncmp_desc(a,b) S_sv_ncmp_desc(aTHX_ a,b) # if defined(USE_LOCALE_COLLATE) #define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b) #define amagic_cmp_locale_desc(a,b) S_amagic_cmp_locale_desc(aTHX_ a,b) #define cmp_locale_desc(a,b) S_cmp_locale_desc(aTHX_ a,b) # endif # endif # if defined(PERL_IN_PP_SYS_C) #define doform(a,b,c) S_doform(aTHX_ a,b,c) #define space_join_names_mortal(a) S_space_join_names_mortal(aTHX_ a) # endif # if defined(PERL_IN_SCOPE_C) #define save_pushptri32ptr(a,b,c,d) S_save_pushptri32ptr(aTHX_ a,b,c,d) #define save_scalar_at(a,b) S_save_scalar_at(aTHX_ a,b) # endif # if defined(PERL_IN_SV_C) #define F0convert S_F0convert #define anonymise_cv_maybe(a,b) S_anonymise_cv_maybe(aTHX_ a,b) #define assert_uft8_cache_coherent(a,b,c,d) S_assert_uft8_cache_coherent(aTHX_ a,b,c,d) #define curse(a,b) S_curse(aTHX_ a,b) #define expect_number(a) S_expect_number(aTHX_ a) #define find_array_subscript(a,b) S_find_array_subscript(aTHX_ a,b) #define find_hash_subscript(a,b) S_find_hash_subscript(aTHX_ a,b) #define find_uninit_var(a,b,c,d) S_find_uninit_var(aTHX_ a,b,c,d) #define glob_2number(a) S_glob_2number(aTHX_ a) #define glob_assign_glob(a,b,c) S_glob_assign_glob(aTHX_ a,b,c) #define more_sv() S_more_sv(aTHX) #define not_a_number(a) S_not_a_number(aTHX_ a) #define not_incrementable(a) S_not_incrementable(aTHX_ a) #define ptr_table_find S_ptr_table_find #define sv_2iuv_common(a) S_sv_2iuv_common(aTHX_ a) #define sv_add_arena(a,b,c) S_sv_add_arena(aTHX_ a,b,c) #define sv_display(a,b,c) S_sv_display(aTHX_ a,b,c) #define sv_pos_b2u_midway(a,b,c,d) S_sv_pos_b2u_midway(aTHX_ a,b,c,d) #define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g) #define sv_pos_u2b_forwards S_sv_pos_u2b_forwards #define sv_pos_u2b_midway S_sv_pos_u2b_midway #define sv_unglob(a,b) S_sv_unglob(aTHX_ a,b) #define uiv_2buf S_uiv_2buf #define utf8_mg_len_cache_update(a,b,c) S_utf8_mg_len_cache_update(aTHX_ a,b,c) #define utf8_mg_pos_cache_update(a,b,c,d,e) S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e) #define visit(a,b,c) S_visit(aTHX_ a,b,c) # if defined(USE_ITHREADS) #define sv_dup_common(a,b) S_sv_dup_common(aTHX_ a,b) #define sv_dup_inc_multiple(a,b,c,d) S_sv_dup_inc_multiple(aTHX_ a,b,c,d) #define unreferenced_to_tmp_stack(a) S_unreferenced_to_tmp_stack(aTHX_ a) # endif # endif # if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C) #define varname(a,b,c,d,e,f) Perl_varname(aTHX_ a,b,c,d,e,f) # endif # if defined(PERL_IN_TOKE_C) #define ao(a) S_ao(aTHX_ a) #define check_uni() S_check_uni(aTHX) #define checkcomma(a,b,c) S_checkcomma(aTHX_ a,b,c) #define filter_gets(a,b) S_filter_gets(aTHX_ a,b) #define find_in_my_stash(a,b) S_find_in_my_stash(aTHX_ a,b) #define force_ident(a,b) S_force_ident(aTHX_ a,b) #define force_ident_maybe_lex(a) S_force_ident_maybe_lex(aTHX_ a) #define force_next(a) S_force_next(aTHX_ a) #define force_strict_version(a) S_force_strict_version(aTHX_ a) #define force_version(a,b) S_force_version(aTHX_ a,b) #define force_word(a,b,c,d) S_force_word(aTHX_ a,b,c,d) #define get_and_check_backslash_N_name_wrapper(a,b) S_get_and_check_backslash_N_name_wrapper(aTHX_ a,b) #define incline(a,b) S_incline(aTHX_ a,b) #define intuit_method(a,b,c) S_intuit_method(aTHX_ a,b,c) #define intuit_more(a,b) S_intuit_more(aTHX_ a,b) #define lop(a,b,c) S_lop(aTHX_ a,b,c) #define missingterm(a,b) S_missingterm(aTHX_ a,b) #define no_op(a,b) S_no_op(aTHX_ a,b) #define parse_ident(a,b,c,d,e,f,g) S_parse_ident(aTHX_ a,b,c,d,e,f,g) #define pending_ident() S_pending_ident(aTHX) #define scan_const(a) S_scan_const(aTHX_ a) #define scan_formline(a) S_scan_formline(aTHX_ a) #define scan_heredoc(a) S_scan_heredoc(aTHX_ a) #define scan_ident(a,b,c,d) S_scan_ident(aTHX_ a,b,c,d) #define scan_inputsymbol(a) S_scan_inputsymbol(aTHX_ a) #define scan_pat(a,b) S_scan_pat(aTHX_ a,b) #define scan_subst(a) S_scan_subst(aTHX_ a) #define scan_trans(a) S_scan_trans(aTHX_ a) #define sublex_done() S_sublex_done(aTHX) #define sublex_push() S_sublex_push(aTHX) #define sublex_start() S_sublex_start(aTHX) #define swallow_bom(a) S_swallow_bom(aTHX_ a) #define tokenize_use(a,b) S_tokenize_use(aTHX_ a,b) #define tokeq(a) S_tokeq(aTHX_ a) #define update_debugger_info(a,b,c) S_update_debugger_info(aTHX_ a,b,c) #define yywarn(a,b) S_yywarn(aTHX_ a,b) # endif # if defined(PERL_IN_UNIVERSAL_C) #define isa_lookup(a,b,c,d,e) S_isa_lookup(aTHX_ a,b,c,d,e) #define sv_derived_from_svpvn(a,b,c,d,e) S_sv_derived_from_svpvn(aTHX_ a,b,c,d,e) # endif # if defined(PERL_IN_UTF8_C) #define _to_utf8_case(a,b,c,d,e,f,g,h,i) S__to_utf8_case(aTHX_ a,b,c,d,e,f,g,h,i) #define check_locale_boundary_crossing(a,b,c,d) S_check_locale_boundary_crossing(aTHX_ a,b,c,d) #define does_utf8_overflow S_does_utf8_overflow #define isFF_OVERLONG S_isFF_OVERLONG #define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c) #define is_utf8_overlong_given_start_byte_ok S_is_utf8_overlong_given_start_byte_ok #define new_msg_hv(a,b,c) S_new_msg_hv(aTHX_ a,b,c) #define to_lower_latin1 S_to_lower_latin1 #define turkic_fc(a,b,c,d) S_turkic_fc(aTHX_ a,b,c,d) #define turkic_lc(a,b,c,d) S_turkic_lc(aTHX_ a,b,c,d) #define turkic_uc(a,b,c,d) S_turkic_uc(aTHX_ a,b,c,d) #define unexpected_non_continuation_text(a,b,c,d) S_unexpected_non_continuation_text(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C) #define _to_upper_title_latin1(a,b,c,d) Perl__to_upper_title_latin1(aTHX_ a,b,c,d) # endif # if defined(PERL_IN_UTIL_C) #define ckwarn_common(a) S_ckwarn_common(aTHX_ a) #define invoke_exception_hook(a,b) S_invoke_exception_hook(aTHX_ a,b) #define mess_alloc() S_mess_alloc(aTHX) #define with_queued_errors(a) S_with_queued_errors(aTHX_ a) # if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL) #define mem_log_common S_mem_log_common # endif # endif # if defined(PERL_MEM_LOG) #define mem_log_alloc Perl_mem_log_alloc #define mem_log_free Perl_mem_log_free #define mem_log_realloc Perl_mem_log_realloc # endif # if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C) #define pidgone(a,b) S_pidgone(aTHX_ a,b) # endif # if defined(PERL_USE_3ARG_SIGHANDLER) #define sighandler Perl_sighandler # endif # if defined(USE_C_BACKTRACE) #define get_c_backtrace(a,b) Perl_get_c_backtrace(aTHX_ a,b) # endif # if defined(USE_ITHREADS) #define mro_meta_dup(a,b) Perl_mro_meta_dup(aTHX_ a,b) #define padlist_dup(a,b) Perl_padlist_dup(aTHX_ a,b) #define padname_dup(a,b) Perl_padname_dup(aTHX_ a,b) #define padnamelist_dup(a,b) Perl_padnamelist_dup(aTHX_ a,b) # endif # if defined(USE_LOCALE_COLLATE) #define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b) #ifndef NO_MATHOMS #define mem_collxfrm(a,b,c) Perl_mem_collxfrm(aTHX_ a,b,c) #endif # endif # if defined(USE_PERLIO) #define PerlIO_restore_errno(a) Perl_PerlIO_restore_errno(aTHX_ a) #define PerlIO_save_errno(a) Perl_PerlIO_save_errno(aTHX_ a) # endif # if defined(USE_QUADMATH) #define quadmath_format_needed Perl_quadmath_format_needed #define quadmath_format_valid Perl_quadmath_format_valid # endif # if defined(_MSC_VER) #define magic_regdatum_set(a,b) Perl_magic_regdatum_set(aTHX_ a,b) # endif #endif #endif /* #ifndef PERL_NO_SHORT_NAMES */ /* Compatibility stubs. Compile extensions with -DPERL_NOCOMPAT to disable them. */ #if !defined(PERL_CORE) # define sv_setptrobj(rv,ptr,name) sv_setref_iv(rv,name,PTR2IV(ptr)) # define sv_setptrref(rv,ptr) sv_setref_iv(rv,NULL,PTR2IV(ptr)) #endif #if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) /* Compatibility for various misnamed functions. All functions in the API that begin with "perl_" (not "Perl_") take an explicit interpreter context pointer. The following are not like that, but since they had a "perl_" prefix in previous versions, we provide compatibility macros. */ # define perl_atexit(a,b) call_atexit(a,b) # define perl_call_argv(a,b,c) call_argv(a,b,c) # define perl_call_method(a,b) call_method(a,b) # define perl_call_pv(a,b) call_pv(a,b) # define perl_call_sv(a,b) call_sv(a,b) # define perl_eval_pv(a,b) eval_pv(a,b) # define perl_eval_sv(a,b) eval_sv(a,b) # define perl_get_av(a,b) get_av(a,b) # define perl_get_cv(a,b) get_cv(a,b) # define perl_get_hv(a,b) get_hv(a,b) # define perl_get_sv(a,b) get_sv(a,b) # define perl_init_i18nl10n(a) init_i18nl10n(a) # define perl_init_i18nl14n(a) init_i18nl14n(a) # define perl_require_pv(a) require_pv(a) /* varargs functions can't be handled with CPP macros. :-( This provides a set of compatibility functions that don't take an extra argument but grab the context pointer using the macro dTHX. */ #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES) # define croak Perl_croak_nocontext # define deb Perl_deb_nocontext # define die Perl_die_nocontext # define form Perl_form_nocontext # define load_module Perl_load_module_nocontext # define mess Perl_mess_nocontext # define newSVpvf Perl_newSVpvf_nocontext # define sv_catpvf Perl_sv_catpvf_nocontext # define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext # define sv_setpvf Perl_sv_setpvf_nocontext # define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext # define warn Perl_warn_nocontext # define warner Perl_warner_nocontext #endif #endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */ #if !defined(PERL_IMPLICIT_CONTEXT) /* undefined symbols, point them back at the usual ones */ # define Perl_croak_nocontext Perl_croak # define Perl_deb_nocontext Perl_deb # define Perl_die_nocontext Perl_die # define Perl_form_nocontext Perl_form # define Perl_load_module_nocontext Perl_load_module # define Perl_mess_nocontext Perl_mess # define Perl_newSVpvf_nocontext Perl_newSVpvf # define Perl_sv_catpvf_nocontext Perl_sv_catpvf # define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg # define Perl_sv_setpvf_nocontext Perl_sv_setpvf # define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg # define Perl_warn_nocontext Perl_warn # define Perl_warner_nocontext Perl_warner #endif /* ex: set ro: */ unixish.h 0000644 00000012225 15140731057 0006411 0 ustar 00 /* unixish.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, * 2003, 2006, 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * The following symbols are defined if your operating system supports * functions by that name. All Unixes I know of support them, thus they * are not checked by the configuration script, but are directly defined * here. */ #ifndef PERL_MICRO /* HAS_IOCTL: * This symbol, if defined, indicates that the ioctl() routine is * available to set I/O characteristics */ #define HAS_IOCTL /**/ /* HAS_UTIME: * This symbol, if defined, indicates that the routine utime() is * available to update the access and modification times of files. */ #define HAS_UTIME /**/ /* HAS_GROUP * This symbol, if defined, indicates that the getgrnam() and * getgrgid() routines are available to get group entries. * The getgrent() has a separate definition, HAS_GETGRENT. */ #define HAS_GROUP /**/ /* HAS_PASSWD * This symbol, if defined, indicates that the getpwnam() and * getpwuid() routines are available to get password entries. * The getpwent() has a separate definition, HAS_GETPWENT. */ #define HAS_PASSWD /**/ #define HAS_KILL #define HAS_WAIT #endif /* !PERL_MICRO */ /* USEMYBINMODE * This symbol, if defined, indicates that the program should * use the routine my_binmode(FILE *fp, char iotype) to insure * that a file is in "binary" mode -- that is, that no translation * of bytes occurs on read or write operations. */ #undef USEMYBINMODE /* Stat_t: * This symbol holds the type used to declare buffers for information * returned by stat(). It's usually just struct stat. It may be necessary * to include <sys/stat.h> and <sys/types.h> to get any typedef'ed * information. */ #define Stat_t struct stat /* USE_STAT_RDEV: * This symbol is defined if this system has a stat structure declaring * st_rdev */ #define USE_STAT_RDEV /**/ /* ACME_MESS: * This symbol, if defined, indicates that error messages should be * should be generated in a format that allows the use of the Acme * GUI/editor's autofind feature. */ #undef ACME_MESS /**/ /* UNLINK_ALL_VERSIONS: * This symbol, if defined, indicates that the program should arrange * to remove all versions of a file if unlink() is called. This is * probably only relevant for VMS. */ /* #define UNLINK_ALL_VERSIONS / **/ /* VMS: * This symbol, if defined, indicates that the program is running under * VMS. It is currently automatically set by cpps running under VMS, * and is included here for completeness only. */ /* #define VMS / **/ /* ALTERNATE_SHEBANG: * This symbol, if defined, contains a "magic" string which may be used * as the first line of a Perl program designed to be executed directly * by name, instead of the standard Unix #!. If ALTERNATE_SHEBANG * begins with a character other then #, then Perl will only treat * it as a command line if it finds the string "perl" in the first * word; otherwise it's treated as the first line of code in the script. * (IOW, Perl won't hand off to another interpreter via an alternate * shebang sequence that might be legal Perl code.) */ /* #define ALTERNATE_SHEBANG "#!" / **/ # include <signal.h> #ifndef SIGABRT # define SIGABRT SIGILL #endif #ifndef SIGILL # define SIGILL 6 /* blech */ #endif #define ABORT() kill(PerlProc_getpid(),SIGABRT); /* * fwrite1() should be a routine with the same calling sequence as fwrite(), * but which outputs all of the bytes requested as a single stream (unlike * fwrite() itself, which on some systems outputs several distinct records * if the number_of_items parameter is >1). */ #define fwrite1 fwrite #define Stat(fname,bufptr) stat((fname),(bufptr)) #ifdef __amigaos4__ int afstat(int fd, struct stat *statb); # define Fstat(fd,bufptr) afstat((fd),(bufptr)) #endif #ifndef Fstat # define Fstat(fd,bufptr) fstat((fd),(bufptr)) #endif #define Fflush(fp) fflush(fp) #define Mkdir(path,mode) mkdir((path),(mode)) #if defined(__amigaos4__) # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT; amigaos4_init_fork_array(); amigaos4_init_environ_sema(); # define PERL_SYS_TERM_BODY() \ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ ENV_TERM; \ amigaos4_dispose_fork_array(); #endif #ifndef PERL_SYS_INIT_BODY # define PERL_SYS_INIT_BODY(c,v) \ MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT #endif #ifndef PERL_SYS_TERM_BODY # define PERL_SYS_TERM_BODY() \ HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM; \ OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM; \ MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM; \ ENV_TERM; #endif #define BIT_BUCKET "/dev/null" #define dXSUB_SYS dNOOP #ifndef NO_ENVIRON_ARRAY #define USE_ENVIRON_ARRAY #endif /* * ex: set ts=8 sts=4 sw=4 et: */ util.h 0000644 00000024517 15140731057 0005706 0 ustar 00 /* util.h * * Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, 2005, * 2007, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #ifndef PERL_UTIL_H_ #define PERL_UTIL_H_ #ifdef VMS # define PERL_FILE_IS_ABSOLUTE(f) \ (*(f) == '/' \ || (strchr(f,':') \ || ((*(f) == '[' || *(f) == '<') \ && (isWORDCHAR((f)[1]) || memCHRs("$-_]>",(f)[1]))))) #elif defined(WIN32) || defined(__CYGWIN__) # define PERL_FILE_IS_ABSOLUTE(f) \ (*(f) == '/' || *(f) == '\\' /* UNC/rooted path */ \ || ((f)[0] && (f)[1] == ':')) /* drive name */ #elif defined(NETWARE) # define PERL_FILE_IS_ABSOLUTE(f) \ (((f)[0] && (f)[1] == ':') /* drive name */ \ || ((f)[0] == '\\' && (f)[1] == '\\') /* UNC path */ \ || ((f)[3] == ':')) /* volume name, currently only sys */ #elif defined(DOSISH) || defined(__SYMBIAN32__) # define PERL_FILE_IS_ABSOLUTE(f) \ (*(f) == '/' \ || ((f)[0] && (f)[1] == ':')) /* drive name */ #else /* NEITHER DOSISH NOR SYMBIANISH */ # define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/') #endif /* =head1 Miscellaneous Functions =for apidoc ibcmp This is a synonym for S<C<(! foldEQ())>> =for apidoc ibcmp_locale This is a synonym for S<C<(! foldEQ_locale())>> =cut */ #define ibcmp(s1, s2, len) cBOOL(! foldEQ(s1, s2, len)) #define ibcmp_locale(s1, s2, len) cBOOL(! foldEQ_locale(s1, s2, len)) /* outside the core, perl.h undefs HAS_QUAD if IV isn't 64-bit We can't swap this to HAS_QUAD, because the logic here affects the type of perl_drand48_t below, and that is visible outside of the core. */ #if defined(U64TYPE) /* use a faster implementation when quads are available */ # define PERL_DRAND48_QUAD #endif #ifdef PERL_DRAND48_QUAD /* U64 is only defined under PERL_CORE, but this needs to be visible * elsewhere so the definition of PerlInterpreter is complete. */ typedef U64TYPE perl_drand48_t; #else struct PERL_DRAND48_T { U16 seed[3]; }; typedef struct PERL_DRAND48_T perl_drand48_t; #endif #define PL_RANDOM_STATE_TYPE perl_drand48_t #define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed))) #define Perl_drand48() (Perl_drand48_r(&PL_random_state)) #ifdef PERL_CORE /* uses a different source of randomness to avoid interfering with the results * of rand() */ #define Perl_internal_drand48() (Perl_drand48_r(&PL_internal_random_state)) #endif #ifdef USE_C_BACKTRACE typedef struct { /* The number of frames returned. */ UV frame_count; /* The total size of the Perl_c_backtrace, including this header, * the frames, and the name strings. */ UV total_bytes; } Perl_c_backtrace_header; typedef struct { void* addr; /* the program counter at this frame */ /* We could use Dl_info (as used by dladdr()) for many of these but * that would be naughty towards non-dlfcn systems (hi there, Win32). */ void* symbol_addr; /* symbol address (hint: try symbol_addr - addr) */ void* object_base_addr; /* base address of the shared object */ /* The offsets are from the beginning of the whole backtrace, * which makes the backtrace relocatable. */ STRLEN object_name_offset; /* pathname of the shared object */ STRLEN object_name_size; /* length of the pathname */ STRLEN symbol_name_offset; /* symbol name */ STRLEN symbol_name_size; /* length of the symbol name */ STRLEN source_name_offset; /* source code file name */ STRLEN source_name_size; /* length of the source code file name */ STRLEN source_line_number; /* source code line number */ /* OS X notes: atos(1) (more recently, "xcrun atos"), but the C * API atos() uses is unknown (private "Symbolicator" framework, * might require Objective-C even if the API would be known). * Currently we open read pipe to "xcrun atos" and parse the * output - quite disgusting. And that won't work if the * Developer Tools isn't installed. */ /* FreeBSD notes: execinfo.h exists, but probably would need also * the library -lexecinfo. BFD exists if the pkg devel/binutils * has been installed, but there seems to be a known problem that * the "bfd.h" getting installed refers to "ansidecl.h", which * doesn't get installed. */ /* Win32 notes: as moral equivalents of backtrace() + dladdr(), * one could possibly first use GetCurrentProcess() + * SymInitialize(), and then CaptureStackBackTrace() + * SymFromAddr(). */ /* Note that using the compiler optimizer easily leads into much * of this information, like the symbol names (think inlining), * and source code locations getting lost or confused. In many * cases keeping the debug information (-g) is necessary. * * Note that for example with gcc you can do both -O and -g. * * Note, however, that on some platforms (e.g. OSX + clang (cc)) * backtrace() + dladdr() works fine without -g. */ /* For example: the mere presence of <bfd.h> is no guarantee: e.g. * OS X has that, but BFD does not seem to work on the OSX executables. * * Another niceness would be to able to see something about * the function arguments, however gdb/lldb manage to do that. */ } Perl_c_backtrace_frame; typedef struct { Perl_c_backtrace_header header; Perl_c_backtrace_frame frame_info[1]; /* After the header come: * (1) header.frame_count frames * (2) frame_count times the \0-terminated strings (object_name * and so forth). The frames contain the pointers to the starts * of these strings, and the lengths of these strings. */ } Perl_c_backtrace; #define Perl_free_c_backtrace(bt) Safefree(bt) #endif /* USE_C_BACKTRACE */ /* Use a packed 32 bit constant "key" to start the handshake. The key defines ABI compatibility, and how to process the vararg list. Note, some bits may be taken from INTRPSIZE (but then a simple x86 AX register can't be used to read it) and 4 bits from API version len can also be taken, since v00.00.00 is 9 bytes long. XS version length should not have any bits taken since XS_VERSION lengths can get quite long since they are user selectable. These spare bits allow for additional features for the varargs stuff or ABI compat test flags in the future. */ #define HSm_APIVERLEN 0x0000001F /* perl version string won't be more than 31 chars */ #define HS_APIVERLEN_MAX HSm_APIVERLEN #define HSm_XSVERLEN 0x0000FF00 /* if 0, not present, dont check, die if over 255*/ #define HS_XSVERLEN_MAX 0xFF /* uses var file to set default filename for newXS_deffile to use for CvFILE */ #define HSf_SETXSUBFN 0x00000020 #define HSf_POPMARK 0x00000040 /* popmark mode or you must supply ax and items */ #define HSf_IMP_CXT 0x00000080 /* ABI, threaded/PERL_IMPLICIT_CONTEXT, pTHX_ present */ #define HSm_INTRPSIZE 0xFFFF0000 /* ABI, interp struct size */ /* A mask of bits in the key which must always match between a XS mod and interp. Also if all ABI bits in a key are true, skip all ABI checks, it is very the unlikely interp size will all 1 bits */ /* Maybe HSm_APIVERLEN one day if Perl_xs_apiversion_bootcheck is changed to a memcmp */ #define HSm_KEY_MATCH (HSm_INTRPSIZE|HSf_IMP_CXT) #define HSf_NOCHK HSm_KEY_MATCH /* if all ABI bits are 1 in the key, dont chk */ #define HS_GETINTERPSIZE(key) ((key) >> 16) /* if in the future "" and NULL must be separated, XSVERLEN would be 0 means arg not present, 1 is empty string/null byte */ /* (((key) & 0x0000FF00) >> 8) is less efficient on Visual C */ #define HS_GETXSVERLEN(key) ((key) >> 8 & 0xFF) #define HS_GETAPIVERLEN(key) ((key) & HSm_APIVERLEN) /* internal to util.h macro to create a packed handshake key, all args must be constants */ /* U32 return = (U16 interpsize, bool cxt, bool setxsubfn, bool popmark, U5 (FIVE!) apiverlen, U8 xsverlen) */ #define HS_KEYp(interpsize, cxt, setxsubfn, popmark, apiverlen, xsverlen) \ (((interpsize) << 16) \ | ((xsverlen) > HS_XSVERLEN_MAX \ ? (Perl_croak_nocontext("panic: handshake overflow"), HS_XSVERLEN_MAX) \ : (xsverlen) << 8) \ | (cBOOL(setxsubfn) ? HSf_SETXSUBFN : 0) \ | (cBOOL(cxt) ? HSf_IMP_CXT : 0) \ | (cBOOL(popmark) ? HSf_POPMARK : 0) \ | ((apiverlen) > HS_APIVERLEN_MAX \ ? (Perl_croak_nocontext("panic: handshake overflow"), HS_APIVERLEN_MAX) \ : (apiverlen))) /* overflows above will optimize away unless they will execute */ /* public macro for core usage to create a packed handshake key but this is not public API. This more friendly version already collected all ABI info */ /* U32 return = (bool setxsubfn, bool popmark, "litteral_string_api_ver", "litteral_string_xs_ver") */ #ifdef PERL_IMPLICIT_CONTEXT # define HS_KEY(setxsubfn, popmark, apiver, xsver) \ HS_KEYp(sizeof(PerlInterpreter), TRUE, setxsubfn, popmark, \ sizeof("" apiver "")-1, sizeof("" xsver "")-1) # define HS_CXT aTHX #else # define HS_KEY(setxsubfn, popmark, apiver, xsver) \ HS_KEYp(sizeof(struct PerlHandShakeInterpreter), FALSE, setxsubfn, popmark, \ sizeof("" apiver "")-1, sizeof("" xsver "")-1) # define HS_CXT cv #endif /* =for apidoc instr Same as L<strstr(3)>, which finds and returns a pointer to the first occurrence of the NUL-terminated substring C<little> in the NUL-terminated string C<big>, returning NULL if not found. The terminating NUL bytes are not compared. =cut */ #define instr(haystack, needle) strstr(haystack, needle) #ifdef HAS_MEMMEM # define ninstr(big, bigend, little, lend) \ ((char *) memmem((big), (bigend) - (big), \ (little), (lend) - (little))) #else # define ninstr(a,b,c,d) Perl_ninstr(a,b,c,d) #endif #ifdef __Lynx__ /* Missing proto on LynxOS */ int mkstemp(char*); #endif #ifdef PERL_CORE # if defined(VMS) /* only useful for calls to our mkostemp() emulation */ # define O_VMS_DELETEONCLOSE 0x40000000 # ifdef HAS_MKOSTEMP # error 134221 will need a new solution for VMS # endif # else # define O_VMS_DELETEONCLOSE 0 # endif #endif #if defined(HAS_MKOSTEMP) && defined(PERL_CORE) # define Perl_my_mkostemp(templte, flags) mkostemp(templte, flags) #endif #if defined(HAS_MKSTEMP) && defined(PERL_CORE) # define Perl_my_mkstemp(templte) mkstemp(templte) #endif #endif /* PERL_UTIL_H_ */ /* * ex: set ts=8 sts=4 sw=4 et: */ vutil.h 0000644 00000017471 15140731057 0006075 0 ustar 00 /* This file is part of the "version" CPAN distribution. Please avoid editing it in the perl core. */ #ifndef PERL_CORE # include "ppport.h" #endif /* The MUTABLE_*() macros cast pointers to the types shown, in such a way * (compiler permitting) that casting away const-ness will give a warning; * e.g.: * * const SV *sv = ...; * AV *av1 = (AV*)sv; <== BAD: the const has been silently cast away * AV *av2 = MUTABLE_AV(sv); <== GOOD: it may warn */ #ifndef MUTABLE_PTR # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define MUTABLE_PTR(p) ({ void *_p = (p); _p; }) # else # define MUTABLE_PTR(p) ((void *) (p)) # endif # define MUTABLE_AV(p) ((AV *)MUTABLE_PTR(p)) # define MUTABLE_CV(p) ((CV *)MUTABLE_PTR(p)) # define MUTABLE_GV(p) ((GV *)MUTABLE_PTR(p)) # define MUTABLE_HV(p) ((HV *)MUTABLE_PTR(p)) # define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p)) # define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p)) #endif #ifndef SvPVx_nolen_const # if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) # define SvPVx_nolen_const(sv) ({SV *_sv = (sv); SvPV_nolen_const(_sv); }) # else # define SvPVx_nolen_const(sv) (SvPV_nolen_const(sv)) # endif #endif #ifndef PERL_ARGS_ASSERT_CK_WARNER static void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...); # ifdef vwarner static void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...) { va_list args; PERL_UNUSED_ARG(err); if (ckWARN(err)) { va_list args; va_start(args, pat); vwarner(err, pat, &args); va_end(args); } } # else /* yes this replicates my_warner */ static void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...) { SV *sv; va_list args; PERL_UNUSED_ARG(err); va_start(args, pat); sv = vnewSVpvf(pat, &args); va_end(args); sv_2mortal(sv); warn("%s", SvPV_nolen(sv)); } # endif #endif #define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s) #define PERL_DECIMAL_VERSION \ PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION) #define PERL_VERSION_LT(r,v,s) \ (PERL_DECIMAL_VERSION < PERL_VERSION_DECIMAL(r,v,s)) #define PERL_VERSION_GE(r,v,s) \ (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s)) #if PERL_VERSION_LT(5,15,4) # define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from(v,"version")) #else # define ISA_VERSION_OBJ(v) (sv_isobject(v) && sv_derived_from_pvn(v,"version",7,0)) #endif #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params) /* prototype to pass -Wmissing-prototypes */ STATIC void S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params); STATIC void S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params) { const GV *const gv = CvGV(cv); PERL_ARGS_ASSERT_CROAK_XS_USAGE; if (gv) { const char *const gvname = GvNAME(gv); const HV *const stash = GvSTASH(gv); const char *const hvname = stash ? HvNAME(stash) : NULL; if (hvname) Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params); else Perl_croak_nocontext("Usage: %s(%s)", gvname, params); } else { /* Pants. I don't think that it should be possible to get here. */ Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params); } } #ifdef PERL_IMPLICIT_CONTEXT #define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b) #else #define croak_xs_usage S_croak_xs_usage #endif #endif #if PERL_VERSION_GE(5,9,0) && !defined(PERL_CORE) # define VUTIL_REPLACE_CORE 1 static const char * Perl_scan_version2(pTHX_ const char *s, SV *rv, bool qv); static SV * Perl_new_version2(pTHX_ SV *ver); static SV * Perl_upg_version2(pTHX_ SV *sv, bool qv); static SV * Perl_vstringify2(pTHX_ SV *vs); static SV * Perl_vverify2(pTHX_ SV *vs); static SV * Perl_vnumify2(pTHX_ SV *vs); static SV * Perl_vnormal2(pTHX_ SV *vs); static SV * Perl_vstringify2(pTHX_ SV *vs); static int Perl_vcmp2(pTHX_ SV *lsv, SV *rsv); static const char * Perl_prescan_version2(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha); # define SCAN_VERSION(a,b,c) Perl_scan_version2(aTHX_ a,b,c) # define NEW_VERSION(a) Perl_new_version2(aTHX_ a) # define UPG_VERSION(a,b) Perl_upg_version2(aTHX_ a, b) # define VSTRINGIFY(a) Perl_vstringify2(aTHX_ a) # define VVERIFY(a) Perl_vverify2(aTHX_ a) # define VNUMIFY(a) Perl_vnumify2(aTHX_ a) # define VNORMAL(a) Perl_vnormal2(aTHX_ a) # define VCMP(a,b) Perl_vcmp2(aTHX_ a,b) # define PRESCAN_VERSION(a,b,c,d,e,f,g) Perl_prescan_version2(aTHX_ a,b,c,d,e,f,g) # undef is_LAX_VERSION # define is_LAX_VERSION(a,b) \ (a != Perl_prescan_version2(aTHX_ a, FALSE, b, NULL, NULL, NULL, NULL)) # undef is_STRICT_VERSION # define is_STRICT_VERSION(a,b) \ (a != Perl_prescan_version2(aTHX_ a, TRUE, b, NULL, NULL, NULL, NULL)) #else const char * Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv); SV * Perl_new_version(pTHX_ SV *ver); SV * Perl_upg_version(pTHX_ SV *sv, bool qv); SV * Perl_vverify(pTHX_ SV *vs); SV * Perl_vnumify(pTHX_ SV *vs); SV * Perl_vnormal(pTHX_ SV *vs); SV * Perl_vstringify(pTHX_ SV *vs); int Perl_vcmp(pTHX_ SV *lsv, SV *rsv); const char * Perl_prescan_version(pTHX_ const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha); # define SCAN_VERSION(a,b,c) Perl_scan_version(aTHX_ a,b,c) # define NEW_VERSION(a) Perl_new_version(aTHX_ a) # define UPG_VERSION(a,b) Perl_upg_version(aTHX_ a, b) # define VSTRINGIFY(a) Perl_vstringify(aTHX_ a) # define VVERIFY(a) Perl_vverify(aTHX_ a) # define VNUMIFY(a) Perl_vnumify(aTHX_ a) # define VNORMAL(a) Perl_vnormal(aTHX_ a) # define VCMP(a,b) Perl_vcmp(aTHX_ a,b) # define PRESCAN_VERSION(a,b,c,d,e,f,g) Perl_prescan_version(aTHX_ a,b,c,d,e,f,g) # ifndef is_LAX_VERSION # define is_LAX_VERSION(a,b) \ (a != Perl_prescan_version(aTHX_ a, FALSE, b, NULL, NULL, NULL, NULL)) # endif # ifndef is_STRICT_VERSION # define is_STRICT_VERSION(a,b) \ (a != Perl_prescan_version(aTHX_ a, TRUE, b, NULL, NULL, NULL, NULL)) # endif #endif #if PERL_VERSION_LT(5,11,4) # define BADVERSION(a,b,c) \ if (b) { \ *b = c; \ } \ return a; # define PERL_ARGS_ASSERT_PRESCAN_VERSION \ assert(s); assert(sqv); assert(ssaw_decimal);\ assert(swidth); assert(salpha); # define PERL_ARGS_ASSERT_SCAN_VERSION \ assert(s); assert(rv) # define PERL_ARGS_ASSERT_NEW_VERSION \ assert(ver) # define PERL_ARGS_ASSERT_UPG_VERSION \ assert(ver) # define PERL_ARGS_ASSERT_VVERIFY \ assert(vs) # define PERL_ARGS_ASSERT_VNUMIFY \ assert(vs) # define PERL_ARGS_ASSERT_VNORMAL \ assert(vs) # define PERL_ARGS_ASSERT_VSTRINGIFY \ assert(vs) # define PERL_ARGS_ASSERT_VCMP \ assert(lhv); assert(rhv) # define PERL_ARGS_ASSERT_CK_WARNER \ assert(pat) #endif #if PERL_VERSION_LT(5,27,9) # define LC_NUMERIC_LOCK # define LC_NUMERIC_UNLOCK # if PERL_VERSION_LT(5,19,0) # undef STORE_LC_NUMERIC_SET_STANDARD # undef RESTORE_LC_NUMERIC # undef DECLARATION_FOR_LC_NUMERIC_MANIPULATION # ifdef USE_LOCALE # define DECLARATION_FOR_LC_NUMERIC_MANIPULATION char *loc # define STORE_NUMERIC_SET_STANDARD()\ loc = savepv(setlocale(LC_NUMERIC, NULL)); \ SAVEFREEPV(loc); \ setlocale(LC_NUMERIC, "C"); # define RESTORE_LC_NUMERIC()\ setlocale(LC_NUMERIC, loc); # else # define DECLARATION_FOR_LC_NUMERIC_MANIPULATION # define STORE_LC_NUMERIC_SET_STANDARD() # define RESTORE_LC_NUMERIC() # endif # endif #endif #ifndef LOCK_NUMERIC_STANDARD # define LOCK_NUMERIC_STANDARD() #endif #ifndef UNLOCK_NUMERIC_STANDARD # define UNLOCK_NUMERIC_STANDARD() #endif /* The names of these changed in 5.28 */ #ifndef LOCK_LC_NUMERIC_STANDARD # define LOCK_LC_NUMERIC_STANDARD() LOCK_NUMERIC_STANDARD() #endif #ifndef UNLOCK_LC_NUMERIC_STANDARD # define UNLOCK_LC_NUMERIC_STANDARD() UNLOCK_NUMERIC_STANDARD() #endif /* ex: set ro: */ EXTERN.h 0000644 00000003136 15140731057 0005730 0 ustar 00 /* EXTERN.h * * Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999, * 2000, 2001, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * EXT designates a global var which is defined in perl.h * dEXT designates a global var which is defined in another * file, so we can't count on finding it in perl.h * (this practice should be avoided). */ #undef EXT #undef dEXT #undef EXTCONST #undef dEXTCONST # if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS) /* miniperl should not export anything */ # if defined(PERL_IS_MINIPERL) # define EXT extern # define dEXT # define EXTCONST extern const # define dEXTCONST const # elif defined(PERLDLL) || defined(__SYMBIAN32__) # define EXT EXTERN_C __declspec(dllexport) # define dEXT # define EXTCONST EXTERN_C __declspec(dllexport) const # define dEXTCONST const # else # define EXT EXTERN_C __declspec(dllimport) # define dEXT # define EXTCONST EXTERN_C __declspec(dllimport) const # define dEXTCONST const # endif # else # if defined(__CYGWIN__) && defined(USEIMPORTLIB) # define EXT extern __declspec(dllimport) # define dEXT # define EXTCONST extern __declspec(dllimport) const # define dEXTCONST const # else # define EXT extern # define dEXT # define EXTCONST extern const # define dEXTCONST const # endif # endif #undef INIT #define INIT(x) #undef DOINIT perlapi.h 0000644 00000017000 15140731057 0006352 0 ustar 00 /* -*- buffer-read-only: t -*- * * perlapi.h * * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * * !!!!!!! DO NOT EDIT THIS FILE !!!!!!! * This file is built by regen/embed.pl from data in embed.fnc, * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h. * Any changes made here will be lost! * * Edit those files and run 'make regen_headers' to effect changes. */ /* declare accessor functions for Perl variables */ #ifndef __perlapi_h__ #define __perlapi_h__ #if defined (MULTIPLICITY) && defined (PERL_GLOBAL_STRUCT) START_EXTERN_C #undef PERLVAR #undef PERLVARA #undef PERLVARI #undef PERLVARIC #define PERLVAR(p,v,t) EXTERN_C t* Perl_##p##v##_ptr(pTHX); #define PERLVARA(p,v,n,t) typedef t PL_##v##_t[n]; \ EXTERN_C PL_##v##_t* Perl_##p##v##_ptr(pTHX); #define PERLVARI(p,v,t,i) PERLVAR(p,v,t) #define PERLVARIC(p,v,t,i) PERLVAR(p,v, const t) #include "perlvars.h" #undef PERLVAR #undef PERLVARA #undef PERLVARI #undef PERLVARIC END_EXTERN_C #if defined(PERL_CORE) /* accessor functions for Perl "global" variables */ /* these need to be mentioned here, or most linkers won't put them in the perl executable */ #ifndef PERL_NO_FORCE_LINK START_EXTERN_C #ifndef DOINIT EXTCONST void * const PL_force_link_funcs[]; #else EXTCONST void * const PL_force_link_funcs[] = { #undef PERLVAR #undef PERLVARA #undef PERLVARI #undef PERLVARIC #define PERLVAR(p,v,t) (void*)Perl_##p##v##_ptr, #define PERLVARA(p,v,n,t) PERLVAR(p,v,t) #define PERLVARI(p,v,t,i) PERLVAR(p,v,t) #define PERLVARIC(p,v,t,i) PERLVAR(p,v,t) /* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one * cannot cast between void pointers and function pointers without * info level warnings. The PL_force_link_funcs[] would cause a few * hundred of those warnings. In code one can circumnavigate this by using * unions that overlay the different pointers, but in declarations one * cannot use this trick. Therefore we just disable the warning here * for the duration of the PL_force_link_funcs[] declaration. */ #if defined(__DECC) && defined(__osf__) #pragma message save #pragma message disable (nonstandcast) #endif #include "perlvars.h" #if defined(__DECC) && defined(__osf__) #pragma message restore #endif #undef PERLVAR #undef PERLVARA #undef PERLVARI #undef PERLVARIC }; #endif /* DOINIT */ END_EXTERN_C #endif /* PERL_NO_FORCE_LINK */ #else /* !PERL_CORE */ #undef PL_C_locale_obj #define PL_C_locale_obj (*Perl_GC_locale_obj_ptr(NULL)) #undef PL_appctx #define PL_appctx (*Perl_Gappctx_ptr(NULL)) #undef PL_check #define PL_check (*Perl_Gcheck_ptr(NULL)) #undef PL_check_mutex #define PL_check_mutex (*Perl_Gcheck_mutex_ptr(NULL)) #undef PL_csighandler1p #define PL_csighandler1p (*Perl_Gcsighandler1p_ptr(NULL)) #undef PL_csighandler3p #define PL_csighandler3p (*Perl_Gcsighandler3p_ptr(NULL)) #undef PL_csighandlerp #define PL_csighandlerp (*Perl_Gcsighandlerp_ptr(NULL)) #undef PL_curinterp #define PL_curinterp (*Perl_Gcurinterp_ptr(NULL)) #undef PL_do_undump #define PL_do_undump (*Perl_Gdo_undump_ptr(NULL)) #undef PL_dollarzero_mutex #define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL)) #undef PL_env_mutex #define PL_env_mutex (*Perl_Genv_mutex_ptr(NULL)) #undef PL_fold_locale #define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL)) #undef PL_hash_chars #define PL_hash_chars (*Perl_Ghash_chars_ptr(NULL)) #undef PL_hash_seed #define PL_hash_seed (*Perl_Ghash_seed_ptr(NULL)) #undef PL_hash_seed_set #define PL_hash_seed_set (*Perl_Ghash_seed_set_ptr(NULL)) #undef PL_hash_state #define PL_hash_state (*Perl_Ghash_state_ptr(NULL)) #undef PL_hints_mutex #define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL)) #undef PL_keyword_plugin #define PL_keyword_plugin (*Perl_Gkeyword_plugin_ptr(NULL)) #undef PL_keyword_plugin_mutex #define PL_keyword_plugin_mutex (*Perl_Gkeyword_plugin_mutex_ptr(NULL)) #undef PL_lc_numeric_mutex #define PL_lc_numeric_mutex (*Perl_Glc_numeric_mutex_ptr(NULL)) #undef PL_locale_mutex #define PL_locale_mutex (*Perl_Glocale_mutex_ptr(NULL)) #undef PL_malloc_mutex #define PL_malloc_mutex (*Perl_Gmalloc_mutex_ptr(NULL)) #undef PL_mmap_page_size #define PL_mmap_page_size (*Perl_Gmmap_page_size_ptr(NULL)) #undef PL_my_ctx_mutex #define PL_my_ctx_mutex (*Perl_Gmy_ctx_mutex_ptr(NULL)) #undef PL_my_cxt_index #define PL_my_cxt_index (*Perl_Gmy_cxt_index_ptr(NULL)) #undef PL_my_cxt_keys #define PL_my_cxt_keys (*Perl_Gmy_cxt_keys_ptr(NULL)) #undef PL_my_cxt_keys_size #define PL_my_cxt_keys_size (*Perl_Gmy_cxt_keys_size_ptr(NULL)) #undef PL_op_mutex #define PL_op_mutex (*Perl_Gop_mutex_ptr(NULL)) #undef PL_op_seq #define PL_op_seq (*Perl_Gop_seq_ptr(NULL)) #undef PL_op_sequence #define PL_op_sequence (*Perl_Gop_sequence_ptr(NULL)) #undef PL_perlio_debug_fd #define PL_perlio_debug_fd (*Perl_Gperlio_debug_fd_ptr(NULL)) #undef PL_perlio_fd_refcnt #define PL_perlio_fd_refcnt (*Perl_Gperlio_fd_refcnt_ptr(NULL)) #undef PL_perlio_fd_refcnt_size #define PL_perlio_fd_refcnt_size (*Perl_Gperlio_fd_refcnt_size_ptr(NULL)) #undef PL_perlio_mutex #define PL_perlio_mutex (*Perl_Gperlio_mutex_ptr(NULL)) #undef PL_perllib_sep #define PL_perllib_sep (*Perl_Gperllib_sep_ptr(NULL)) #undef PL_ppaddr #define PL_ppaddr (*Perl_Gppaddr_ptr(NULL)) #undef PL_sh_path #define PL_sh_path (*Perl_Gsh_path_ptr(NULL)) #undef PL_sig_defaulting #define PL_sig_defaulting (*Perl_Gsig_defaulting_ptr(NULL)) #undef PL_sig_handlers_initted #define PL_sig_handlers_initted (*Perl_Gsig_handlers_initted_ptr(NULL)) #undef PL_sig_ignoring #define PL_sig_ignoring (*Perl_Gsig_ignoring_ptr(NULL)) #undef PL_sig_trapped #define PL_sig_trapped (*Perl_Gsig_trapped_ptr(NULL)) #undef PL_sigfpe_saved #define PL_sigfpe_saved (*Perl_Gsigfpe_saved_ptr(NULL)) #undef PL_strategy_accept #define PL_strategy_accept (*Perl_Gstrategy_accept_ptr(NULL)) #undef PL_strategy_dup #define PL_strategy_dup (*Perl_Gstrategy_dup_ptr(NULL)) #undef PL_strategy_dup2 #define PL_strategy_dup2 (*Perl_Gstrategy_dup2_ptr(NULL)) #undef PL_strategy_mkstemp #define PL_strategy_mkstemp (*Perl_Gstrategy_mkstemp_ptr(NULL)) #undef PL_strategy_open #define PL_strategy_open (*Perl_Gstrategy_open_ptr(NULL)) #undef PL_strategy_open3 #define PL_strategy_open3 (*Perl_Gstrategy_open3_ptr(NULL)) #undef PL_strategy_pipe #define PL_strategy_pipe (*Perl_Gstrategy_pipe_ptr(NULL)) #undef PL_strategy_socket #define PL_strategy_socket (*Perl_Gstrategy_socket_ptr(NULL)) #undef PL_strategy_socketpair #define PL_strategy_socketpair (*Perl_Gstrategy_socketpair_ptr(NULL)) #undef PL_sv_placeholder #define PL_sv_placeholder (*Perl_Gsv_placeholder_ptr(NULL)) #undef PL_thr_key #define PL_thr_key (*Perl_Gthr_key_ptr(NULL)) #undef PL_timesbase #define PL_timesbase (*Perl_Gtimesbase_ptr(NULL)) #undef PL_use_safe_putenv #define PL_use_safe_putenv (*Perl_Guse_safe_putenv_ptr(NULL)) #undef PL_user_def_props #define PL_user_def_props (*Perl_Guser_def_props_ptr(NULL)) #undef PL_user_def_props_aTHX #define PL_user_def_props_aTHX (*Perl_Guser_def_props_aTHX_ptr(NULL)) #undef PL_user_prop_mutex #define PL_user_prop_mutex (*Perl_Guser_prop_mutex_ptr(NULL)) #undef PL_veto_cleanup #define PL_veto_cleanup (*Perl_Gveto_cleanup_ptr(NULL)) #undef PL_watch_pvx #define PL_watch_pvx (*Perl_Gwatch_pvx_ptr(NULL)) #endif /* !PERL_CORE */ #endif /* MULTIPLICITY && PERL_GLOBAL_STRUCT */ #endif /* __perlapi_h__ */ /* ex: set ro: */ intrpvar.h 0000644 00000076743 15140731057 0006606 0 ustar 00 /* intrpvar.h * * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, * 2006, 2007, 2008 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ #include "handy.h" /* =head1 Per-Interpreter Variables */ /* These variables are per-interpreter in threaded/multiplicity builds, * global otherwise. * Don't forget to re-run regen/embed.pl to propagate changes! */ /* New variables must be added to the very end for binary compatibility. */ /* DON'T FORGET to add your variable also to perl_clone()! (in sv.c) */ /* The 'I' prefix is only needed for vars that need appropriate #defines * generated when built with or without MULTIPLICITY. It is also used * to generate the appropriate export list for win32. If the variable * needs to be initialized, use PERLVARI. * * When building without MULTIPLICITY, these variables will be truly global. * * Important ones in the first cache line (if alignment is done right) */ PERLVAR(I, stack_sp, SV **) /* top of the stack */ PERLVAR(I, op, OP *) /* currently executing op */ PERLVAR(I, curpad, SV **) /* active pad (lexicals+tmps) */ PERLVAR(I, stack_base, SV **) PERLVAR(I, stack_max, SV **) PERLVAR(I, savestack, ANY *) /* items that need to be restored when LEAVEing scopes we've ENTERed */ PERLVAR(I, savestack_ix, I32) PERLVAR(I, savestack_max, I32) PERLVAR(I, scopestack, I32 *) /* scopes we've ENTERed */ PERLVAR(I, scopestack_ix, I32) PERLVAR(I, scopestack_max, I32) PERLVAR(I, tmps_stack, SV **) /* mortals we've made */ PERLVARI(I, tmps_ix, SSize_t, -1) PERLVARI(I, tmps_floor, SSize_t, -1) PERLVAR(I, tmps_max, SSize_t) /* first unalloced slot in tmps stack */ PERLVARI(I, sub_generation, U32, 1) /* incr to invalidate method cache */ PERLVAR(I, markstack, I32 *) /* stack_sp locations we're remembering */ PERLVAR(I, markstack_ptr, I32 *) PERLVAR(I, markstack_max, I32 *) #ifdef PERL_HASH_RANDOMIZE_KEYS #ifdef USE_PERL_PERTURB_KEYS PERLVARI(I, hash_rand_bits_enabled, U8, 1) /* used to randomize hash stuff 0 == no-random, 1 == random, 2 == determinsitic */ #endif PERLVARI(I, hash_rand_bits, UV, 0) /* used to randomize hash stuff */ #endif PERLVAR(I, strtab, HV *) /* shared string table */ /* prog counter for the currently executing OP_MULTIDEREF Used to signal * to S_find_uninit_var() where we are */ PERLVAR(I, multideref_pc, UNOP_AUX_item *) /* Fields used by magic variables such as $@, $/ and so on */ PERLVAR(I, curpm, PMOP *) /* what to do \ interps in REs from */ PERLVAR(I, curpm_under, PMOP *) /* what to do \ interps in REs from */ PERLVAR(I, tainting, bool) /* ? doing taint checks */ PERLVARI(I, tainted, bool, FALSE) /* using variables controlled by $< */ /* PL_delaymagic is currently used for two purposes: to assure simultaneous * updates in ($<,$>) = ..., and to assure atomic update in push/unshift * @ISA, It works like this: a few places such as pp_push set the DM_DELAY * flag; then various places such as av_store() skip mg_set(ary) if this * flag is set, and various magic vtable methods set flags like * DM_ARRAY_ISA if they've seen something of that ilk. Finally when * control returns to pp_push or whatever, it sees if any of those flags * have been set, and if so finally calls mg_set(). * * NB: PL_delaymagic is automatically saved and restored by JUMPENV_PUSH * / POP. This removes the need to do ENTER/SAVEI16(PL_delaymagic)/LEAVE * in hot code like pp_push. */ PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */ /* =for apidoc Amn|GV *|PL_defgv The GV representing C<*_>. Useful for access to C<$_>. =cut */ PERLVAR(I, localizing, U8) /* are we processing a local() list? */ PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */ PERLVAR(I, defgv, GV *) /* the *_ glob */ /* =for apidoc mn|U8|PL_dowarn The C variable that roughly corresponds to Perl's C<$^W> warning variable. However, C<$^W> is treated as a boolean, whereas C<PL_dowarn> is a collection of flag bits. =cut */ PERLVAR(I, dowarn, U8) #if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING) # define PERL___I -1 #else # define PERL___I 1 #endif PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */ #undef PERL___I /* =for apidoc Amn|HV*|PL_curstash The stash for the package code will be compiled into. =cut */ /* Stashes */ PERLVAR(I, defstash, HV *) /* main symbol table */ PERLVAR(I, curstash, HV *) /* symbol table for current package */ /* =for apidoc Amn|COP*|PL_curcop The currently active COP (control op) roughly representing the current statement in the source. =cut */ PERLVAR(I, curcop, COP *) PERLVAR(I, curstack, AV *) /* THE STACK */ PERLVAR(I, curstackinfo, PERL_SI *) /* current stack + context */ PERLVAR(I, mainstack, AV *) /* the stack when nothing funny is happening */ /* memory management */ PERLVAR(I, sv_count, IV) /* how many SV* are currently allocated */ PERLVAR(I, sv_root, SV *) /* storage for SVs belonging to interp */ PERLVAR(I, sv_arenaroot, SV *) /* list of areas for garbage collection */ /* fake PMOP that PL_curpm points to while in (?{}) so $1 et al are visible */ PERLVARI(I, reg_curpm, PMOP*, NULL) /* the currently active slab in a chain of slabs of regmatch states, * and the currently active state within that slab. This stack of states * is shared amongst re-entrant calls to the regex engine */ PERLVARI(I, regmatch_slab, regmatch_slab *, NULL) PERLVAR(I, regmatch_state, regmatch_state *) PERLVAR(I, comppad, PAD *) /* storage for lexically scoped temporaries */ /* =for apidoc Amn|SV|PL_sv_undef This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>. =for apidoc Amn|SV|PL_sv_no This is the C<false> SV. See C<L</PL_sv_yes>>. Always refer to this as C<&PL_sv_no>. =for apidoc Amn|SV|PL_sv_yes This is the C<true> SV. See C<L</PL_sv_no>>. Always refer to this as C<&PL_sv_yes>. =for apidoc Amn|SV|PL_sv_zero This readonly SV has a zero numeric value and a C<"0"> string value. It's similar to C<L</PL_sv_no>> except for its string value. Can be used as a cheap alternative to C<mXPUSHi(0)> for example. Always refer to this as C<&PL_sv_zero>. Introduced in 5.28. =cut */ #ifdef MULTIPLICITY PERLVAR(I, sv_yes, SV) PERLVAR(I, sv_undef, SV) PERLVAR(I, sv_no, SV) PERLVAR(I, sv_zero, SV) #else /* store the immortals as an array to ensure they are contiguous in * memory: makes SvIMMORTAL_INTERP(sv) possible */ PERLVARA(I, sv_immortals, 4, SV) #endif PERLVAR(I, padname_undef, PADNAME) PERLVAR(I, padname_const, PADNAME) PERLVAR(I, Sv, SV *) /* used to hold temporary values */ PERLVAR(I, parser, yy_parser *) /* current parser state */ PERLVAR(I, stashcache, HV *) /* Cache to speed up S_method_common */ /* =for apidoc Amn|STRLEN|PL_na A convenience variable which is typically used with C<SvPV> when one doesn't care about the length of the string. It is usually more efficient to either declare a local variable and use that instead or to use the C<SvPV_nolen> macro. =cut */ PERLVAR(I, na, STRLEN) /* for use in SvPV when length is Not Applicable */ /* stat stuff */ PERLVAR(I, statcache, Stat_t) /* _ */ PERLVAR(I, statgv, GV *) PERLVARI(I, statname, SV *, NULL) /* =for apidoc mn|SV*|PL_rs The input record separator - C<$/> in Perl space. =for apidoc mn|GV*|PL_last_in_gv The GV which was last used for a filehandle input operation. (C<< <FH> >>) =for apidoc mn|GV*|PL_ofsgv The glob containing the output field separator - C<*,> in Perl space. =cut */ PERLVAR(I, rs, SV *) /* input record separator $/ */ PERLVAR(I, last_in_gv, GV *) /* GV used in last <FH> */ PERLVAR(I, ofsgv, GV *) /* GV of output field separator *, */ PERLVAR(I, defoutgv, GV *) /* default FH for output */ PERLVARI(I, chopset, const char *, " \n-") /* $: */ PERLVAR(I, formtarget, SV *) PERLVAR(I, bodytarget, SV *) PERLVAR(I, toptarget, SV *) PERLVAR(I, restartop, OP *) /* propagating an error from croak? */ PERLVAR(I, restartjmpenv, JMPENV *) /* target frame for longjmp in die */ PERLVAR(I, top_env, JMPENV *) /* ptr to current sigjmp environment */ PERLVAR(I, start_env, JMPENV) /* empty startup sigjmp environment */ PERLVARI(I, errors, SV *, NULL) /* outstanding queued errors */ /* statics "owned" by various functions */ PERLVAR(I, hv_fetch_ent_mh, HE*) /* owned by hv_fetch_ent() */ PERLVAR(I, lastgotoprobe, OP*) /* from pp_ctl.c */ /* sort stuff */ PERLVAR(I, sortcop, OP *) /* user defined sort routine */ PERLVAR(I, sortstash, HV *) /* which is in some package or other */ PERLVAR(I, firstgv, GV *) /* $a */ PERLVAR(I, secondgv, GV *) /* $b */ /* float buffer */ PERLVAR(I, efloatbuf, char *) PERLVAR(I, efloatsize, STRLEN) PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump indentation level */ /* =for apidoc Amn|U8|PL_exit_flags Contains flags controlling perl's behaviour on exit(): =over =item * C<PERL_EXIT_DESTRUCT_END> If set, END blocks are executed when the interpreter is destroyed. This is normally set by perl itself after the interpreter is constructed. =item * C<PERL_EXIT_ABORT> Call C<abort()> on exit. This is used internally by perl itself to abort if exit is called while processing exit. =item * C<PERL_EXIT_WARN> Warn on exit. =item * C<PERL_EXIT_EXPECTED> Set by the L<perlfunc/exit> operator. =back =for apidoc Amnh||PERL_EXIT_EXPECTED =for apidoc Amnh||PERL_EXIT_ABORT =for apidoc Amnh||PERL_EXIT_DESTRUCT_END =for apidoc Amnh||PERL_EXIT_WARN =cut */ PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */ PERLVAR(I, utf8locale, bool) /* utf8 locale detected */ PERLVAR(I, in_utf8_CTYPE_locale, bool) PERLVAR(I, in_utf8_COLLATE_locale, bool) PERLVAR(I, in_utf8_turkic_locale, bool) #if defined(USE_ITHREADS) && ! defined(USE_THREAD_SAFE_LOCALE) PERLVARI(I, lc_numeric_mutex_depth, int, 0) /* Emulate general semaphore */ #endif PERLVARA(I, locale_utf8ness, 256, char) #ifdef USE_LOCALE_CTYPE PERLVAR(I, warn_locale, SV *) #endif PERLVARA(I, colors,6, char *) /* values from PERL_RE_COLORS env var */ /* =for apidoc Amn|peep_t|PL_peepp Pointer to the per-subroutine peephole optimiser. This is a function that gets called at the end of compilation of a Perl subroutine (or equivalently independent piece of Perl code) to perform fixups of some ops and to perform small-scale optimisations. The function is called once for each subroutine that is compiled, and is passed, as sole parameter, a pointer to the op that is the entry point to the subroutine. It modifies the op tree in place. The peephole optimiser should never be completely replaced. Rather, add code to it by wrapping the existing optimiser. The basic way to do this can be seen in L<perlguts/Compile pass 3: peephole optimization>. If the new code wishes to operate on ops throughout the subroutine's structure, rather than just at the top level, it is likely to be more convenient to wrap the L</PL_rpeepp> hook. =cut */ PERLVARI(I, peepp, peep_t, Perl_peep) /* =for apidoc Amn|peep_t|PL_rpeepp Pointer to the recursive peephole optimiser. This is a function that gets called at the end of compilation of a Perl subroutine (or equivalently independent piece of Perl code) to perform fixups of some ops and to perform small-scale optimisations. The function is called once for each chain of ops linked through their C<op_next> fields; it is recursively called to handle each side chain. It is passed, as sole parameter, a pointer to the op that is at the head of the chain. It modifies the op tree in place. The peephole optimiser should never be completely replaced. Rather, add code to it by wrapping the existing optimiser. The basic way to do this can be seen in L<perlguts/Compile pass 3: peephole optimization>. If the new code wishes to operate only on ops at a subroutine's top level, rather than throughout the structure, it is likely to be more convenient to wrap the L</PL_peepp> hook. =cut */ PERLVARI(I, rpeepp, peep_t, Perl_rpeep) /* =for apidoc Amn|Perl_ophook_t|PL_opfreehook When non-C<NULL>, the function pointed by this variable will be called each time an OP is freed with the corresponding OP as the argument. This allows extensions to free any extra attribute they have locally attached to an OP. It is also assured to first fire for the parent OP and then for its kids. When you replace this variable, it is considered a good practice to store the possibly previously installed hook and that you recall it inside your own. =cut */ PERLVARI(I, opfreehook, Perl_ophook_t, 0) /* op_free() hook */ PERLVARI(I, watchaddr, char **, 0) PERLVAR(I, watchok, char *) PERLVAR(I, perldb, U32) PERLVAR(I, signals, U32) /* Using which pre-5.8 signals */ PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */ /* pseudo environmental stuff */ PERLVAR(I, origargc, int) PERLVAR(I, origargv, char **) PERLVAR(I, envgv, GV *) PERLVAR(I, incgv, GV *) PERLVAR(I, hintgv, GV *) PERLVAR(I, origfilename, char *) PERLVARI(I, xsubfilename, const char *, NULL) PERLVAR(I, diehook, SV *) PERLVAR(I, warnhook, SV *) /* switches */ PERLVAR(I, patchlevel, SV *) PERLVAR(I, localpatches, const char * const *) PERLVARI(I, splitstr, const char *, " ") PERLVAR(I, minus_c, bool) PERLVAR(I, minus_n, bool) PERLVAR(I, minus_p, bool) PERLVAR(I, minus_l, bool) PERLVAR(I, minus_a, bool) PERLVAR(I, minus_F, bool) PERLVAR(I, doswitches, bool) PERLVAR(I, minus_E, bool) PERLVAR(I, inplace, char *) PERLVAR(I, e_script, SV *) PERLVAR(I, basetime, Time_t) /* $^T */ PERLVARI(I, maxsysfd, I32, MAXSYSFD) /* top fd to pass to subprocesses */ PERLVAR(I, statusvalue, I32) /* $? */ #ifdef VMS PERLVAR(I, statusvalue_vms, U32) #else PERLVAR(I, statusvalue_posix, I32) #endif PERLVARI(I, sig_pending, int, 0) /* Number if highest signal pending */ PERLVAR(I, psig_pend, int *) /* per-signal "count" of pending */ /* shortcuts to various I/O objects */ PERLVAR(I, stdingv, GV *) /* *STDIN */ PERLVAR(I, stderrgv, GV *) /* *STDERR */ PERLVAR(I, argvgv, GV *) /* *ARGV */ PERLVAR(I, argvoutgv, GV *) /* *ARGVOUT */ PERLVAR(I, argvout_stack, AV *) /* shortcuts to regexp stuff */ PERLVAR(I, replgv, GV *) /* *^R */ /* shortcuts to misc objects */ PERLVAR(I, errgv, GV *) /* *@ */ /* shortcuts to debugging objects */ PERLVAR(I, DBgv, GV *) /* *DB::DB */ PERLVAR(I, DBline, GV *) /* *DB::line */ /* =for apidoc mn|GV *|PL_DBsub When Perl is run in debugging mode, with the B<-d> switch, this GV contains the SV which holds the name of the sub being debugged. This is the C variable which corresponds to Perl's $DB::sub variable. See C<L</PL_DBsingle>>. =for apidoc mn|SV *|PL_DBsingle When Perl is run in debugging mode, with the B<-d> switch, this SV is a boolean which indicates whether subs are being single-stepped. Single-stepping is automatically turned on after every step. This is the C variable which corresponds to Perl's $DB::single variable. See C<L</PL_DBsub>>. =for apidoc mn|SV *|PL_DBtrace Trace variable used when Perl is run in debugging mode, with the B<-d> switch. This is the C variable which corresponds to Perl's $DB::trace variable. See C<L</PL_DBsingle>>. =cut */ PERLVAR(I, DBsub, GV *) /* *DB::sub */ PERLVAR(I, DBsingle, SV *) /* $DB::single */ PERLVAR(I, DBtrace, SV *) /* $DB::trace */ PERLVAR(I, DBsignal, SV *) /* $DB::signal */ PERLVAR(I, dbargs, AV *) /* args to call listed by caller function */ PERLVARA(I, DBcontrol, DBVARMG_COUNT, IV) /* IV versions of $DB::single, trace, signal */ /* symbol tables */ PERLVAR(I, debstash, HV *) /* symbol table for perldb package */ PERLVAR(I, globalstash, HV *) /* global keyword overrides imported here */ PERLVAR(I, curstname, SV *) /* name of current package */ PERLVAR(I, beginav, AV *) /* names of BEGIN subroutines */ PERLVAR(I, endav, AV *) /* names of END subroutines */ PERLVAR(I, unitcheckav, AV *) /* names of UNITCHECK subroutines */ PERLVAR(I, checkav, AV *) /* names of CHECK subroutines */ PERLVAR(I, initav, AV *) /* names of INIT subroutines */ /* subprocess state */ PERLVAR(I, fdpid, AV *) /* keep fd-to-pid mappings for my_popen */ /* internal state */ PERLVARI(I, op_mask, char *, NULL) /* masked operations for safe evals */ /* current interpreter roots */ PERLVAR(I, main_cv, CV *) PERLVAR(I, main_root, OP *) PERLVAR(I, main_start, OP *) PERLVAR(I, eval_root, OP *) PERLVAR(I, eval_start, OP *) /* runtime control stuff */ PERLVARI(I, curcopdb, COP *, NULL) PERLVAR(I, filemode, int) /* so nextargv() can preserve mode */ PERLVAR(I, lastfd, int) /* what to preserve mode on */ PERLVAR(I, oldname, char *) /* what to preserve mode on */ /* Elements in this array have ';' appended and are injected as a single line into the tokeniser. You can't put any (literal) newlines into any program you stuff in into this array, as the point where it's injected is expecting a single physical line. */ PERLVAR(I, preambleav, AV *) PERLVAR(I, mess_sv, SV *) PERLVAR(I, ors_sv, SV *) /* output record separator $\ */ /* funky return mechanisms */ PERLVAR(I, forkprocess, int) /* so do_open |- can return proc# */ /* statics moved here for shared library purposes */ PERLVARI(I, gensym, I32, 0) /* next symbol for getsym() to define */ PERLVARI(I, cv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */ PERLVAR(I, taint_warn, bool) /* taint warns instead of dying */ PERLVARI(I, laststype, U16, OP_STAT) PERLVARI(I, laststatval, int, -1) PERLVAR(I, modcount, I32) /* how much op_lvalue()ification in assignment? */ /* interpreter atexit processing */ PERLVARI(I, exitlistlen, I32, 0) /* length of same */ PERLVARI(I, exitlist, PerlExitListEntry *, NULL) /* list of exit functions */ /* =for apidoc Amn|HV*|PL_modglobal C<PL_modglobal> is a general purpose, interpreter global HV for use by extensions that need to keep information on a per-interpreter basis. In a pinch, it can also be used as a symbol table for extensions to share data among each other. It is a good idea to use keys prefixed by the package name of the extension that owns the data. =cut */ PERLVAR(I, modglobal, HV *) /* per-interp module data */ /* these used to be in global before 5.004_68 */ PERLVARI(I, profiledata, U32 *, NULL) /* table of ops, counts */ PERLVAR(I, compiling, COP) /* compiling/done executing marker */ PERLVAR(I, compcv, CV *) /* currently compiling subroutine */ PERLVAR(I, comppad_name, PADNAMELIST *) /* variable names for "my" variables */ PERLVAR(I, comppad_name_fill, PADOFFSET)/* last "introduced" variable offset */ PERLVAR(I, comppad_name_floor, PADOFFSET)/* start of vars in innermost block */ #ifdef HAVE_INTERP_INTERN PERLVAR(I, sys_intern, struct interp_intern) /* platform internals */ #endif /* more statics moved here */ PERLVAR(I, DBcv, CV *) /* from perl.c */ PERLVARI(I, generation, int, 100) /* scan sequence# for OP_AASSIGN compile-time common elem detection */ PERLVAR(I, unicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */ PERLVARI(I, in_clean_objs,bool, FALSE) /* from sv.c */ PERLVARI(I, in_clean_all, bool, FALSE) /* ptrs to freed SVs now legal */ PERLVAR(I, nomemok, bool) /* let malloc context handle nomem */ PERLVARI(I, savebegin, bool, FALSE) /* save BEGINs for compiler */ PERLVAR(I, delaymagic_uid, Uid_t) /* current real user id, only for delaymagic */ PERLVAR(I, delaymagic_euid, Uid_t) /* current effective user id, only for delaymagic */ PERLVAR(I, delaymagic_gid, Gid_t) /* current real group id, only for delaymagic */ PERLVAR(I, delaymagic_egid, Gid_t) /* current effective group id, only for delaymagic */ PERLVARI(I, an, U32, 0) /* malloc sequence number */ /* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen" */ PERLVARI(I, breakable_sub_gen, U32, 0) #ifdef DEBUGGING /* exercise wrap-around */ #define PERL_COP_SEQMAX (U32_MAX-50) #else #define PERL_COP_SEQMAX 0 #endif PERLVARI(I, cop_seqmax, U32, PERL_COP_SEQMAX) /* statement sequence number */ #undef PERL_COP_SEQMAX PERLVARI(I, evalseq, U32, 0) /* eval sequence number */ PERLVAR(I, origalen, U32) PERLVAR(I, origenviron, char **) #ifdef PERL_USES_PL_PIDSTATUS PERLVAR(I, pidstatus, HV *) /* pid-to-status mappings for waitpid */ #endif PERLVAR(I, osname, char *) /* operating system */ PERLVAR(I, sighandlerp, Sighandler_t) /* these two are provided only to solve library linkage issues; they * should not be hooked by user code */ PERLVAR(I, sighandler1p, Sighandler1_t) PERLVAR(I, sighandler3p, Sighandler3_t) PERLVARA(I, body_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */ PERLVAR(I, debug, volatile U32) /* flags given to -D switch */ PERLVARI(I, padlist_generation, U32, 1) /* id to identify padlist clones */ /* =for apidoc Amn|runops_proc_t|PL_runops See L<perlguts/Pluggable runops>. =cut */ PERLVARI(I, runops, runops_proc_t, RUNOPS_DEFAULT) PERLVAR(I, subname, SV *) /* name of current subroutine */ PERLVAR(I, subline, I32) /* line this subroutine began on */ PERLVAR(I, min_intro_pending, PADOFFSET)/* start of vars to introduce */ PERLVAR(I, max_intro_pending, PADOFFSET)/* end of vars to introduce */ PERLVAR(I, padix, PADOFFSET) /* lowest unused index - 1 in current "register" pad */ PERLVAR(I, constpadix, PADOFFSET) /* lowest unused for constants */ PERLVAR(I, padix_floor, PADOFFSET) /* how low may inner block reset padix */ #if defined(USE_POSIX_2008_LOCALE) \ && defined(USE_THREAD_SAFE_LOCALE) \ && ! defined(HAS_QUERYLOCALE) PERLVARA(I, curlocales, 12, char *) #endif #ifdef USE_LOCALE_COLLATE PERLVAR(I, collation_name, char *) /* Name of current collation */ PERLVAR(I, collxfrm_base, Size_t) /* Basic overhead in *xfrm() */ PERLVARI(I, collxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */ PERLVARI(I, collation_ix, U32, 0) /* Collation generation index */ PERLVARI(I, strxfrm_NUL_replacement, U8, 0) /* Code point to replace NULs */ PERLVARI(I, strxfrm_is_behaved, bool, TRUE) /* Assume until proven otherwise that it works */ PERLVARI(I, strxfrm_max_cp, U8, 0) /* Highest collating cp in locale */ PERLVARI(I, collation_standard, bool, TRUE) /* Assume simple collation */ #endif /* USE_LOCALE_COLLATE */ PERLVARI(I, langinfo_buf, char *, NULL) PERLVARI(I, langinfo_bufsize, Size_t, 0) PERLVARI(I, setlocale_buf, char *, NULL) PERLVARI(I, setlocale_bufsize, Size_t, 0) #ifdef PERL_SAWAMPERSAND PERLVAR(I, sawampersand, U8) /* must save all match strings */ #endif PERLVAR(I, unsafe, bool) PERLVAR(I, colorset, bool) /* PERL_RE_COLORS env var is in use */ /* current phase the interpreter is in for ordering this structure to remove holes, we're assuming that this is 4 bytes. */ PERLVARI(I, phase, enum perl_phase, PERL_PHASE_CONSTRUCT) PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */ /* =for apidoc Amn|signed char|PL_perl_destruct_level This value may be set when embedding for full cleanup. Possible values: =over =item * 0 - none =item * 1 - full =item * 2 or greater - full with checks. =back If C<$ENV{PERL_DESTRUCT_LEVEL}> is set to an integer greater than the value of C<PL_perl_destruct_level> its value is used instead. =cut */ /* mod_perl is special, and also assigns a meaning -1 */ PERLVARI(I, perl_destruct_level, signed char, 0) #ifdef USE_LOCALE_NUMERIC PERLVARI(I, numeric_standard, int, TRUE) /* Assume C locale numerics */ PERLVARI(I, numeric_underlying, bool, TRUE) /* Assume underlying locale numerics */ PERLVARI(I, numeric_underlying_is_standard, bool, TRUE) PERLVAR(I, numeric_name, char *) /* Name of current numeric locale */ PERLVAR(I, numeric_radix_sv, SV *) /* The radix separator if not '.' */ # ifdef HAS_POSIX_2008_LOCALE PERLVARI(I, underlying_numeric_obj, locale_t, NULL) # endif #endif /* !USE_LOCALE_NUMERIC */ #ifdef FCRYPT PERLVARI(I, cryptseen, bool, FALSE) /* has fast crypt() been initialized? */ #else /* One byte hole in the interpreter structure. */ #endif PERLVAR(I, pad_reset_pending, bool) /* reset pad on next attempted alloc */ PERLVAR(I, srand_called, bool) /* Array of signal handlers, indexed by signal number, through which the C signal handler dispatches. */ PERLVAR(I, psig_ptr, SV **) /* Array of names of signals, indexed by signal number, for (re)use as the first argument to a signal handler. Only one block of memory is allocated for both psig_name and psig_ptr. */ PERLVAR(I, psig_name, SV **) #if defined(PERL_IMPLICIT_SYS) PERLVAR(I, Mem, struct IPerlMem *) PERLVAR(I, MemShared, struct IPerlMem *) PERLVAR(I, MemParse, struct IPerlMem *) PERLVAR(I, Env, struct IPerlEnv *) PERLVAR(I, StdIO, struct IPerlStdIO *) PERLVAR(I, LIO, struct IPerlLIO *) PERLVAR(I, Dir, struct IPerlDir *) PERLVAR(I, Sock, struct IPerlSock *) PERLVAR(I, Proc, struct IPerlProc *) #endif PERLVAR(I, ptr_table, PTR_TBL_t *) PERLVARI(I, beginav_save, AV *, NULL) /* save BEGIN{}s when compiling */ PERLVAR(I, body_arenas, void *) /* pointer to list of body-arenas */ #if defined(USE_ITHREADS) PERLVAR(I, regex_pad, SV **) /* Shortcut into the array of regex_padav */ PERLVAR(I, regex_padav, AV *) /* All regex objects, indexed via the values in op_pmoffset of pmop. Entry 0 is an SV whose PV is a "packed" list of IVs listing the now-free slots in the array */ PERLVAR(I, stashpad, HV **) /* for CopSTASH */ PERLVARI(I, stashpadmax, PADOFFSET, 64) PERLVARI(I, stashpadix, PADOFFSET, 0) #endif #ifdef USE_REENTRANT_API PERLVAR(I, reentrant_buffer, REENTR *) /* here we store the _r buffers */ #endif PERLVAR(I, custom_op_names, HV *) /* Names of user defined ops */ PERLVAR(I, custom_op_descs, HV *) /* Descriptions of user defined ops */ #ifdef PERLIO_LAYERS PERLVARI(I, perlio, PerlIOl *, NULL) PERLVARI(I, known_layers, PerlIO_list_t *, NULL) PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL) #endif PERLVARI(I, checkav_save, AV *, NULL) /* save CHECK{}s when compiling */ PERLVARI(I, unitcheckav_save, AV *, NULL) /* save UNITCHECK{}s when compiling */ PERLVARI(I, clocktick, long, 0) /* this many times() ticks in a second */ /* Hooks to shared SVs and locks. */ PERLVARI(I, sharehook, share_proc_t, Perl_sv_nosharing) PERLVARI(I, lockhook, share_proc_t, Perl_sv_nosharing) GCC_DIAG_IGNORE(-Wdeprecated-declarations) #ifdef NO_MATHOMS # define PERL_UNLOCK_HOOK Perl_sv_nosharing #else /* This reference ensures that the mathoms are linked with perl */ # define PERL_UNLOCK_HOOK Perl_sv_nounlocking #endif PERLVARI(I, unlockhook, share_proc_t, PERL_UNLOCK_HOOK) GCC_DIAG_RESTORE PERLVARI(I, threadhook, thrhook_proc_t, Perl_nothreadhook) /* Can shared object be destroyed */ PERLVARI(I, destroyhook, destroyable_proc_t, Perl_sv_destroyable) #ifndef PERL_MICRO PERLVARI(I, signalhook, despatch_signals_proc_t, Perl_despatch_signals) #endif PERLVARI(I, isarev, HV *, NULL) /* Reverse map of @ISA dependencies */ /* Register of known Method Resolution Orders. What this actually points to is an implementation detail (it may change to a structure incorporating a reference count - use mro_get_from_name to retrieve a C<struct mro_alg *> */ PERLVAR(I, registered_mros, HV *) /* Compile-time block start/end hooks */ PERLVAR(I, blockhooks, AV *) PERLVAR(I, custom_ops, HV *) /* custom op registrations */ PERLVAR(I, Xpv, XPV *) /* (unused) held temporary value */ /* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be present always, as -DDEBUGGING must be binary compatible with non. */ PERLVARI(I, scopestack_name, const char * *, NULL) PERLVAR(I, debug_pad, struct perl_debug_pad) /* always needed because of the re extension */ /* Hook for File::Glob */ PERLVARI(I, globhook, globhook_t, NULL) /* The last unconditional member of the interpreter structure when 5.18.0 was released. The offset of the end of this is baked into a global variable in any shared perl library which will allow a sanity test in future perl releases. */ #define PERL_LAST_5_18_0_INTERP_MEMBER Iglobhook #ifdef PERL_IMPLICIT_CONTEXT PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */ PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */ #endif #if defined(PERL_IMPLICIT_CONTEXT) || defined(PERL_DEBUG_READONLY_COW) /* For use with the memory debugging code in util.c. This is used only in * DEBUGGING builds (as long as the relevant structure is defined), but * defining it in non-debug builds too means that we retain binary * compatibility between otherwise-compatible plain and debug builds. */ PERLVAR(I, memory_debug_header, struct perl_memory_debug_header) #endif #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP /* File descriptor to talk to the child which dumps scalars. */ PERLVARI(I, dumper_fd, int, -1) #endif #ifdef DEBUG_LEAKING_SCALARS PERLVARI(I, sv_serial, U32, 0) /* SV serial number, used in sv.c */ #endif PERLVARA(I, sv_consts, SV_CONSTS_COUNT, SV*) /* constant SVs with precomputed hash value */ #ifdef PERL_TRACE_OPS PERLVARA(I, op_exec_cnt, OP_max+2, UV) /* Counts of executed OPs of the given type. If PERL_TRACE_OPS is enabled, we'll dump a summary count of all ops executed in the program at perl_destruct time. For profiling/debugging only. Works only if DEBUGGING is enabled, too. */ #endif PERLVAR(I, random_state, PL_RANDOM_STATE_TYPE) PERLVARI(I, dump_re_max_len, STRLEN, 60) /* For internal uses of randomness, this ensures the sequence of * random numbers returned by rand() isn't modified by perl's internal * use of randomness. * This is important if the user has called srand() with a seed. */ PERLVAR(I, internal_random_state, PL_RANDOM_STATE_TYPE) PERLVARA(I, TR_SPECIAL_HANDLING_UTF8, UTF8_MAXBYTES, char) PERLVAR(I, AboveLatin1, SV *) PERLVAR(I, Assigned_invlist, SV *) PERLVAR(I, GCB_invlist, SV *) PERLVAR(I, HasMultiCharFold, SV *) PERLVAR(I, InMultiCharFold, SV *) PERLVAR(I, Latin1, SV *) PERLVAR(I, LB_invlist, SV *) PERLVAR(I, SB_invlist, SV *) PERLVAR(I, SCX_invlist, SV *) PERLVAR(I, UpperLatin1, SV *) /* Code points 128 - 255 */ /* List of characters that participate in any fold defined by Unicode */ PERLVAR(I, in_some_fold, SV *) /* Everything that folds to a given character, for case insensitivity regex * matching */ PERLVAR(I, utf8_foldclosures, SV *) PERLVAR(I, utf8_idcont, SV *) PERLVAR(I, utf8_idstart, SV *) PERLVAR(I, utf8_perl_idcont, SV *) PERLVAR(I, utf8_perl_idstart, SV *) PERLVAR(I, utf8_xidcont, SV *) PERLVAR(I, utf8_xidstart, SV *) PERLVAR(I, WB_invlist, SV *) PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *) PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *) PERLVAR(I, utf8_toupper, SV *) PERLVAR(I, utf8_totitle, SV *) PERLVAR(I, utf8_tolower, SV *) PERLVAR(I, utf8_tofold, SV *) PERLVAR(I, utf8_tosimplefold, SV *) PERLVAR(I, utf8_charname_begin, SV *) PERLVAR(I, utf8_charname_continue, SV *) PERLVAR(I, utf8_mark, SV *) PERLVARI(I, InBitmap, SV *, NULL) PERLVAR(I, CCC_non0_non230, SV *) PERLVAR(I, Private_Use, SV *) #ifdef HAS_MBRLEN PERLVAR(I, mbrlen_ps, mbstate_t) #endif #ifdef HAS_MBRTOWC PERLVAR(I, mbrtowc_ps, mbstate_t) #endif #ifdef HAS_WCRTOMB PERLVAR(I, wcrtomb_ps, mbstate_t) #endif /* If you are adding a U8 or U16, check to see if there are 'Space' comments * above on where there are gaps which currently will be structure padding. */ /* Within a stable branch, new variables must be added to the very end, before * this comment, for binary compatibility (the offsets of the old members must * not change). * (Don't forget to add your variable also to perl_clone()!) * XSUB.h provides wrapper functions via perlapi.h that make this * irrelevant, but not all code may be expected to #include XSUB.h. */ stadtx_hash.h 0000644 00000022005 15140731057 0007231 0 ustar 00 #ifndef STADTX_HASH_H #define STADTX_HASH_H #ifndef DEBUG_STADTX_HASH #define DEBUG_STADTX_HASH 0 #endif #ifndef PERL_SEEN_HV_FUNC_H #if !defined(U64) #include <stdint.h> #define U64 uint64_t #endif #if !defined(U32) #define U32 uint32_t #endif #if !defined(U8) #define U8 unsigned char #endif #if !defined(U16) #define U16 uint16_t #endif #ifndef STRLEN #define STRLEN int #endif #endif #ifndef STADTX_STATIC_INLINE #ifdef PERL_STATIC_INLINE #define STADTX_STATIC_INLINE PERL_STATIC_INLINE #else #define STADTX_STATIC_INLINE static inline #endif #endif #ifndef STMT_START #define STMT_START do #define STMT_END while(0) #endif /* Find best way to ROTL32/ROTL64 */ #if defined(_MSC_VER) #include <stdlib.h> /* Microsoft put _rotl declaration in here */ #define ROTL32(x,r) _rotl(x,r) #define ROTR32(x,r) _rotr(x,r) #define ROTL64(x,r) _rotl64(x,r) #define ROTR64(x,r) _rotr64(x,r) #else /* gcc recognises this code and generates a rotate instruction for CPUs with one */ #define ROTL32(x,r) (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r)))) #define ROTR32(x,r) (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r))) #define ROTL64(x,r) ( ( (U64)(x) << (r) ) | ( (U64)(x) >> ( 64 - (r) ) ) ) #define ROTR64(x,r) ( ( (U64)(x) << ( 64 - (r) ) ) | ( (U64)(x) >> (r) ) ) #endif /* do a marsaglia xor-shift permutation followed by a * multiply by a prime (presumably large) and another * marsaglia xor-shift permutation. * One of these thoroughly changes the bits of the input. * Two of these with different primes passes the Strict Avalanche Criteria * in all the tests I did. * * Note that v cannot end up zero after a scramble64 unless it * was zero in the first place. */ #define STADTX_SCRAMBLE64(v,prime) STMT_START { \ v ^= (v >> 13); \ v ^= (v << 35); \ v ^= (v >> 30); \ v *= prime; \ v ^= (v >> 19); \ v ^= (v << 15); \ v ^= (v >> 46); \ } STMT_END STADTX_STATIC_INLINE void stadtx_seed_state ( const U8 *seed_ch, U8 *state_ch ) { const U64 *seed= (const U64 *)seed_ch; U64 *state= (U64 *)state_ch; /* first we apply two masks to each word of the seed, this means that * a) at least one of state[0] and state[2] is nonzero, * b) at least one of state[1] and state[3] is nonzero * c) that state[0] and state[2] are different * d) that state[1] and state[3] are different * e) that the replacement value for any zero's is a totally different from the seed value. * (iow, if seed[0] is 0x43f6a8885a308d31UL then state[0] becomes 0, which is the replaced * with 1, which is totally different.). */ /* hex expansion of pi, skipping first two digits. pi= 3.2[43f6...]*/ /* pi value in hex from here: * http://turner.faculty.swau.edu/mathematics/materialslibrary/pi/pibases.html*/ state[0]= seed[0] ^ UINT64_C(0x43f6a8885a308d31); state[1]= seed[1] ^ UINT64_C(0x3198a2e03707344a); state[2]= seed[0] ^ UINT64_C(0x4093822299f31d00); state[3]= seed[1] ^ UINT64_C(0x82efa98ec4e6c894); if (!state[0]) state[0]=1; if (!state[1]) state[1]=2; if (!state[2]) state[2]=4; if (!state[3]) state[3]=8; /* and now for good measure we double scramble all four - * a double scramble guarantees a complete avalanche of all the * bits in the seed - IOW, by the time we are hashing the * four state vectors should be completely different and utterly * uncognizable from the input seed bits */ STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17)); STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151)); STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835)); STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5)); STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb)); STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd)); STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13)); STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd)); } #define STADTX_K0_U64 UINT64_C(0xb89b0f8e1655514f) #define STADTX_K1_U64 UINT64_C(0x8c6f736011bd5127) #define STADTX_K2_U64 UINT64_C(0x8f29bd94edce7b39) #define STADTX_K3_U64 UINT64_C(0x9c1b8e1e9628323f) #define STADTX_K2_U32 0x802910e3 #define STADTX_K3_U32 0x819b13af #define STADTX_K4_U32 0x91cb27e5 #define STADTX_K5_U32 0xc1a269c1 STADTX_STATIC_INLINE U64 stadtx_hash_with_state( const U8 *state_ch, const U8 *key, const STRLEN key_len ) { U64 *state= (U64 *)state_ch; STRLEN len = key_len; U64 v0= state[0] ^ ((key_len+1) * STADTX_K0_U64); U64 v1= state[1] ^ ((key_len+2) * STADTX_K1_U64); if (len < 32) { switch(len >> 3) { case 3: v0 += U8TO64_LE(key) * STADTX_K3_U64; v0= ROTR64(v0, 17) ^ v1; v1= ROTR64(v1, 53) + v0; key += 8; /* FALLTHROUGH */ case 2: v0 += U8TO64_LE(key) * STADTX_K3_U64; v0= ROTR64(v0, 17) ^ v1; v1= ROTR64(v1, 53) + v0; key += 8; /* FALLTHROUGH */ case 1: v0 += U8TO64_LE(key) * STADTX_K3_U64; v0= ROTR64(v0, 17) ^ v1; v1= ROTR64(v1, 53) + v0; key += 8; /* FALLTHROUGH */ case 0: default: break; } switch ( len & 0x7 ) { case 7: v0 += (U64)key[6] << 32; /* FALLTHROUGH */ case 6: v1 += (U64)key[5] << 48; /* FALLTHROUGH */ case 5: v0 += (U64)key[4] << 16; /* FALLTHROUGH */ case 4: v1 += (U64)U8TO32_LE(key); break; case 3: v0 += (U64)key[2] << 48; /* FALLTHROUGH */ case 2: v1 += (U64)U8TO16_LE(key); break; case 1: v0 += (U64)key[0]; /* FALLTHROUGH */ case 0: v1 = ROTL64(v1, 32) ^ 0xFF; break; } v1 ^= v0; v0 = ROTR64(v0,33) + v1; v1 = ROTL64(v1,17) ^ v0; v0 = ROTL64(v0,43) + v1; v1 = ROTL64(v1,31) - v0; v0 = ROTL64(v0,13) ^ v1; v1 -= v0; v0 = ROTL64(v0,41) + v1; v1 = ROTL64(v1,37) ^ v0; v0 = ROTR64(v0,39) + v1; v1 = ROTR64(v1,15) + v0; v0 = ROTL64(v0,15) ^ v1; v1 = ROTR64(v1, 5); return v0 ^ v1; } else { U64 v2= state[2] ^ ((key_len+3) * STADTX_K2_U64); U64 v3= state[3] ^ ((key_len+4) * STADTX_K3_U64); do { v0 += (U64)U8TO64_LE(key+ 0) * STADTX_K2_U32; v0= ROTL64(v0,57) ^ v3; v1 += (U64)U8TO64_LE(key+ 8) * STADTX_K3_U32; v1= ROTL64(v1,63) ^ v2; v2 += (U64)U8TO64_LE(key+16) * STADTX_K4_U32; v2= ROTR64(v2,47) + v0; v3 += (U64)U8TO64_LE(key+24) * STADTX_K5_U32; v3= ROTR64(v3,11) - v1; key += 32; len -= 32; } while ( len >= 32 ); switch ( len >> 3 ) { case 3: v0 += ((U64)U8TO64_LE(key) * STADTX_K2_U32); key += 8; v0= ROTL64(v0,57) ^ v3; /* FALLTHROUGH */ case 2: v1 += ((U64)U8TO64_LE(key) * STADTX_K3_U32); key += 8; v1= ROTL64(v1,63) ^ v2; /* FALLTHROUGH */ case 1: v2 += ((U64)U8TO64_LE(key) * STADTX_K4_U32); key += 8; v2= ROTR64(v2,47) + v0; /* FALLTHROUGH */ case 0: v3 = ROTR64(v3,11) - v1; /* FALLTHROUGH */ } v0 ^= (len+1) * STADTX_K3_U64; switch ( len & 0x7 ) { case 7: v1 += (U64)key[6]; /* FALLTHROUGH */ case 6: v2 += (U64)U8TO16_LE(key+4); v3 += (U64)U8TO32_LE(key); break; case 5: v1 += (U64)key[4]; /* FALLTHROUGH */ case 4: v2 += (U64)U8TO32_LE(key); break; case 3: v3 += (U64)key[2]; /* FALLTHROUGH */ case 2: v1 += (U64)U8TO16_LE(key); break; case 1: v2 += (U64)key[0]; /* FALLTHROUGH */ case 0: v3 = ROTL64(v3, 32) ^ 0xFF; break; } v1 -= v2; v0 = ROTR64(v0,19); v1 -= v0; v1 = ROTR64(v1,53); v3 ^= v1; v0 -= v3; v3 = ROTL64(v3,43); v0 += v3; v0 = ROTR64(v0, 3); v3 -= v0; v2 = ROTR64(v2,43) - v3; v2 = ROTL64(v2,55) ^ v0; v1 -= v2; v3 = ROTR64(v3, 7) - v2; v2 = ROTR64(v2,31); v3 += v2; v2 -= v1; v3 = ROTR64(v3,39); v2 ^= v3; v3 = ROTR64(v3,17) ^ v2; v1 += v3; v1 = ROTR64(v1, 9); v2 ^= v1; v2 = ROTL64(v2,24); v3 ^= v2; v3 = ROTR64(v3,59); v0 = ROTR64(v0, 1) - v1; return v0 ^ v1 ^ v2 ^ v3; } } STADTX_STATIC_INLINE U64 stadtx_hash( const U8 *seed_ch, const U8 *key, const STRLEN key_len ) { U64 state[4]; stadtx_seed_state(seed_ch,(U8*)state); return stadtx_hash_with_state((U8*)state,key,key_len); } #endif sbox32_hash.h 0000644 00000157716 15140731057 0007064 0 ustar 00 #ifndef DEBUG_SBOX32_HASH #define DEBUG_SBOX32_HASH 0 #include "zaphod32_hash.h" #if DEBUG_SBOX32_HASH == 1 #include <stdio.h> #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5) printf(pat, v0, v1, v2, v3, v4, v5) #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4) printf(pat, v0, v1, v2, v3, v4) #define SBOX32_WARN4(pat,v0,v1,v2,v3) printf(pat, v0, v1, v2, v3) #define SBOX32_WARN3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #define SBOX32_WARN2(pat,v0,v1) printf(pat, v0, v1) #define NOTE3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #elif DEBUG_SBOX32_HASH == 2 #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5) #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4) #define SBOX32_WARN4(pat,v0,v1,v2,v3) #define SBOX32_WARN3(pat,v0,v1,v2) #define SBOX32_WARN2(pat,v0,v1) #define NOTE3(pat,v0,v1,v2) printf(pat, v0, v1, v2) #else #define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5) #define SBOX32_WARN5(pat,v0,v1,v2,v3,v4) #define SBOX32_WARN4(pat,v0,v1,v2,v3) #define SBOX32_WARN3(pat,v0,v1,v2) #define NOTE3(pat,v0,v1,v2) #define SBOX32_WARN2(pat,v0,v1) #endif #ifndef PERL_SEEN_HV_FUNC_H #if !defined(U32) #include <stdint.h> #define U32 uint32_t #endif #if !defined(U8) #define U8 unsigned char #endif #if !defined(U16) #define U16 uint16_t #endif #ifndef STRLEN #define STRLEN int #endif #endif #ifndef SBOX32_STATIC_INLINE #ifdef PERL_STATIC_INLINE #define SBOX32_STATIC_INLINE PERL_STATIC_INLINE #else #define SBOX32_STATIC_INLINE static inline #endif #endif #ifndef STMT_START #define STMT_START do #define STMT_END while(0) #endif /* Find best way to ROTL32/ROTL64 */ #ifndef ROTL32 #if defined(_MSC_VER) #include <stdlib.h> /* Microsoft put _rotl declaration in here */ #define ROTL32(x,r) _rotl(x,r) #define ROTR32(x,r) _rotr(x,r) #else /* gcc recognises this code and generates a rotate instruction for CPUs with one */ #define ROTL32(x,r) (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r)))) #define ROTR32(x,r) (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r))) #endif #endif #ifndef SBOX32_MAX_LEN #define SBOX32_MAX_LEN 256 #endif #ifndef SBOX32_STATE_WORDS #define SBOX32_STATE_WORDS (1 + (SBOX32_MAX_LEN * 256)) #define SBOX32_STATE_BYTES (SBOX32_STATE_WORDS * sizeof(U32)) #define SBOX32_STATE_BITS (SBOX32_STATE_BYTES * 8) #endif #define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \ SBOX32_WARN5("v0=%08x v1=%08x v2=%08x v3=%08x - SBOX32_MIX4 %s\n", \ (unsigned int)v0, (unsigned int)v1, \ (unsigned int)v2, (unsigned int)v3, text); \ v0 = ROTL32(v0,13) - v3; \ v1 ^= v2; \ v3 = ROTL32(v3, 9) + v1; \ v2 ^= v0; \ v0 = ROTL32(v0,14) ^ v3; \ v1 = ROTL32(v1,25) - v2; \ v3 ^= v1; \ v2 = ROTL32(v2, 4) - v0; \ } STMT_END #define SBOX32_MIX3(v0,v1,v2,text) STMT_START { \ SBOX32_WARN4("v0=%08x v1=%08x v2=%08x - SBOX32_MIX3 %s\n", \ (unsigned int)v0,(unsigned int)v1,(unsigned int)v2, text ); \ v0 = ROTL32(v0,16) - v2; \ v1 = ROTR32(v1,13) ^ v2; \ v2 = ROTL32(v2,17) + v1; \ v0 = ROTR32(v0, 2) + v1; \ v1 = ROTR32(v1,17) - v0; \ v2 = ROTR32(v2, 7) ^ v0; \ } STMT_END #if SBOX32_MAX_LEN > 256 #error "SBOX32_MAX_LEN is set too high!" #elif SBOX32_MAX_LEN == 256 #define case_256_SBOX32(hash,state,key) _SBOX32_CASE(256,hash,state,key) #else #define case_256_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 255 #define case_255_SBOX32(hash,state,key) _SBOX32_CASE(255,hash,state,key) #else #define case_255_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 254 #define case_254_SBOX32(hash,state,key) _SBOX32_CASE(254,hash,state,key) #else #define case_254_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 253 #define case_253_SBOX32(hash,state,key) _SBOX32_CASE(253,hash,state,key) #else #define case_253_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 252 #define case_252_SBOX32(hash,state,key) _SBOX32_CASE(252,hash,state,key) #else #define case_252_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 251 #define case_251_SBOX32(hash,state,key) _SBOX32_CASE(251,hash,state,key) #else #define case_251_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 250 #define case_250_SBOX32(hash,state,key) _SBOX32_CASE(250,hash,state,key) #else #define case_250_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 249 #define case_249_SBOX32(hash,state,key) _SBOX32_CASE(249,hash,state,key) #else #define case_249_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 248 #define case_248_SBOX32(hash,state,key) _SBOX32_CASE(248,hash,state,key) #else #define case_248_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 247 #define case_247_SBOX32(hash,state,key) _SBOX32_CASE(247,hash,state,key) #else #define case_247_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 246 #define case_246_SBOX32(hash,state,key) _SBOX32_CASE(246,hash,state,key) #else #define case_246_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 245 #define case_245_SBOX32(hash,state,key) _SBOX32_CASE(245,hash,state,key) #else #define case_245_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 244 #define case_244_SBOX32(hash,state,key) _SBOX32_CASE(244,hash,state,key) #else #define case_244_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 243 #define case_243_SBOX32(hash,state,key) _SBOX32_CASE(243,hash,state,key) #else #define case_243_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 242 #define case_242_SBOX32(hash,state,key) _SBOX32_CASE(242,hash,state,key) #else #define case_242_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 241 #define case_241_SBOX32(hash,state,key) _SBOX32_CASE(241,hash,state,key) #else #define case_241_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 240 #define case_240_SBOX32(hash,state,key) _SBOX32_CASE(240,hash,state,key) #else #define case_240_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 239 #define case_239_SBOX32(hash,state,key) _SBOX32_CASE(239,hash,state,key) #else #define case_239_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 238 #define case_238_SBOX32(hash,state,key) _SBOX32_CASE(238,hash,state,key) #else #define case_238_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 237 #define case_237_SBOX32(hash,state,key) _SBOX32_CASE(237,hash,state,key) #else #define case_237_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 236 #define case_236_SBOX32(hash,state,key) _SBOX32_CASE(236,hash,state,key) #else #define case_236_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 235 #define case_235_SBOX32(hash,state,key) _SBOX32_CASE(235,hash,state,key) #else #define case_235_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 234 #define case_234_SBOX32(hash,state,key) _SBOX32_CASE(234,hash,state,key) #else #define case_234_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 233 #define case_233_SBOX32(hash,state,key) _SBOX32_CASE(233,hash,state,key) #else #define case_233_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 232 #define case_232_SBOX32(hash,state,key) _SBOX32_CASE(232,hash,state,key) #else #define case_232_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 231 #define case_231_SBOX32(hash,state,key) _SBOX32_CASE(231,hash,state,key) #else #define case_231_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 230 #define case_230_SBOX32(hash,state,key) _SBOX32_CASE(230,hash,state,key) #else #define case_230_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 229 #define case_229_SBOX32(hash,state,key) _SBOX32_CASE(229,hash,state,key) #else #define case_229_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 228 #define case_228_SBOX32(hash,state,key) _SBOX32_CASE(228,hash,state,key) #else #define case_228_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 227 #define case_227_SBOX32(hash,state,key) _SBOX32_CASE(227,hash,state,key) #else #define case_227_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 226 #define case_226_SBOX32(hash,state,key) _SBOX32_CASE(226,hash,state,key) #else #define case_226_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 225 #define case_225_SBOX32(hash,state,key) _SBOX32_CASE(225,hash,state,key) #else #define case_225_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 224 #define case_224_SBOX32(hash,state,key) _SBOX32_CASE(224,hash,state,key) #else #define case_224_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 223 #define case_223_SBOX32(hash,state,key) _SBOX32_CASE(223,hash,state,key) #else #define case_223_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 222 #define case_222_SBOX32(hash,state,key) _SBOX32_CASE(222,hash,state,key) #else #define case_222_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 221 #define case_221_SBOX32(hash,state,key) _SBOX32_CASE(221,hash,state,key) #else #define case_221_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 220 #define case_220_SBOX32(hash,state,key) _SBOX32_CASE(220,hash,state,key) #else #define case_220_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 219 #define case_219_SBOX32(hash,state,key) _SBOX32_CASE(219,hash,state,key) #else #define case_219_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 218 #define case_218_SBOX32(hash,state,key) _SBOX32_CASE(218,hash,state,key) #else #define case_218_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 217 #define case_217_SBOX32(hash,state,key) _SBOX32_CASE(217,hash,state,key) #else #define case_217_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 216 #define case_216_SBOX32(hash,state,key) _SBOX32_CASE(216,hash,state,key) #else #define case_216_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 215 #define case_215_SBOX32(hash,state,key) _SBOX32_CASE(215,hash,state,key) #else #define case_215_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 214 #define case_214_SBOX32(hash,state,key) _SBOX32_CASE(214,hash,state,key) #else #define case_214_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 213 #define case_213_SBOX32(hash,state,key) _SBOX32_CASE(213,hash,state,key) #else #define case_213_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 212 #define case_212_SBOX32(hash,state,key) _SBOX32_CASE(212,hash,state,key) #else #define case_212_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 211 #define case_211_SBOX32(hash,state,key) _SBOX32_CASE(211,hash,state,key) #else #define case_211_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 210 #define case_210_SBOX32(hash,state,key) _SBOX32_CASE(210,hash,state,key) #else #define case_210_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 209 #define case_209_SBOX32(hash,state,key) _SBOX32_CASE(209,hash,state,key) #else #define case_209_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 208 #define case_208_SBOX32(hash,state,key) _SBOX32_CASE(208,hash,state,key) #else #define case_208_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 207 #define case_207_SBOX32(hash,state,key) _SBOX32_CASE(207,hash,state,key) #else #define case_207_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 206 #define case_206_SBOX32(hash,state,key) _SBOX32_CASE(206,hash,state,key) #else #define case_206_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 205 #define case_205_SBOX32(hash,state,key) _SBOX32_CASE(205,hash,state,key) #else #define case_205_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 204 #define case_204_SBOX32(hash,state,key) _SBOX32_CASE(204,hash,state,key) #else #define case_204_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 203 #define case_203_SBOX32(hash,state,key) _SBOX32_CASE(203,hash,state,key) #else #define case_203_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 202 #define case_202_SBOX32(hash,state,key) _SBOX32_CASE(202,hash,state,key) #else #define case_202_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 201 #define case_201_SBOX32(hash,state,key) _SBOX32_CASE(201,hash,state,key) #else #define case_201_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 200 #define case_200_SBOX32(hash,state,key) _SBOX32_CASE(200,hash,state,key) #else #define case_200_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 199 #define case_199_SBOX32(hash,state,key) _SBOX32_CASE(199,hash,state,key) #else #define case_199_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 198 #define case_198_SBOX32(hash,state,key) _SBOX32_CASE(198,hash,state,key) #else #define case_198_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 197 #define case_197_SBOX32(hash,state,key) _SBOX32_CASE(197,hash,state,key) #else #define case_197_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 196 #define case_196_SBOX32(hash,state,key) _SBOX32_CASE(196,hash,state,key) #else #define case_196_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 195 #define case_195_SBOX32(hash,state,key) _SBOX32_CASE(195,hash,state,key) #else #define case_195_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 194 #define case_194_SBOX32(hash,state,key) _SBOX32_CASE(194,hash,state,key) #else #define case_194_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 193 #define case_193_SBOX32(hash,state,key) _SBOX32_CASE(193,hash,state,key) #else #define case_193_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 192 #define case_192_SBOX32(hash,state,key) _SBOX32_CASE(192,hash,state,key) #else #define case_192_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 191 #define case_191_SBOX32(hash,state,key) _SBOX32_CASE(191,hash,state,key) #else #define case_191_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 190 #define case_190_SBOX32(hash,state,key) _SBOX32_CASE(190,hash,state,key) #else #define case_190_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 189 #define case_189_SBOX32(hash,state,key) _SBOX32_CASE(189,hash,state,key) #else #define case_189_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 188 #define case_188_SBOX32(hash,state,key) _SBOX32_CASE(188,hash,state,key) #else #define case_188_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 187 #define case_187_SBOX32(hash,state,key) _SBOX32_CASE(187,hash,state,key) #else #define case_187_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 186 #define case_186_SBOX32(hash,state,key) _SBOX32_CASE(186,hash,state,key) #else #define case_186_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 185 #define case_185_SBOX32(hash,state,key) _SBOX32_CASE(185,hash,state,key) #else #define case_185_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 184 #define case_184_SBOX32(hash,state,key) _SBOX32_CASE(184,hash,state,key) #else #define case_184_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 183 #define case_183_SBOX32(hash,state,key) _SBOX32_CASE(183,hash,state,key) #else #define case_183_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 182 #define case_182_SBOX32(hash,state,key) _SBOX32_CASE(182,hash,state,key) #else #define case_182_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 181 #define case_181_SBOX32(hash,state,key) _SBOX32_CASE(181,hash,state,key) #else #define case_181_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 180 #define case_180_SBOX32(hash,state,key) _SBOX32_CASE(180,hash,state,key) #else #define case_180_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 179 #define case_179_SBOX32(hash,state,key) _SBOX32_CASE(179,hash,state,key) #else #define case_179_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 178 #define case_178_SBOX32(hash,state,key) _SBOX32_CASE(178,hash,state,key) #else #define case_178_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 177 #define case_177_SBOX32(hash,state,key) _SBOX32_CASE(177,hash,state,key) #else #define case_177_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 176 #define case_176_SBOX32(hash,state,key) _SBOX32_CASE(176,hash,state,key) #else #define case_176_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 175 #define case_175_SBOX32(hash,state,key) _SBOX32_CASE(175,hash,state,key) #else #define case_175_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 174 #define case_174_SBOX32(hash,state,key) _SBOX32_CASE(174,hash,state,key) #else #define case_174_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 173 #define case_173_SBOX32(hash,state,key) _SBOX32_CASE(173,hash,state,key) #else #define case_173_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 172 #define case_172_SBOX32(hash,state,key) _SBOX32_CASE(172,hash,state,key) #else #define case_172_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 171 #define case_171_SBOX32(hash,state,key) _SBOX32_CASE(171,hash,state,key) #else #define case_171_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 170 #define case_170_SBOX32(hash,state,key) _SBOX32_CASE(170,hash,state,key) #else #define case_170_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 169 #define case_169_SBOX32(hash,state,key) _SBOX32_CASE(169,hash,state,key) #else #define case_169_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 168 #define case_168_SBOX32(hash,state,key) _SBOX32_CASE(168,hash,state,key) #else #define case_168_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 167 #define case_167_SBOX32(hash,state,key) _SBOX32_CASE(167,hash,state,key) #else #define case_167_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 166 #define case_166_SBOX32(hash,state,key) _SBOX32_CASE(166,hash,state,key) #else #define case_166_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 165 #define case_165_SBOX32(hash,state,key) _SBOX32_CASE(165,hash,state,key) #else #define case_165_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 164 #define case_164_SBOX32(hash,state,key) _SBOX32_CASE(164,hash,state,key) #else #define case_164_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 163 #define case_163_SBOX32(hash,state,key) _SBOX32_CASE(163,hash,state,key) #else #define case_163_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 162 #define case_162_SBOX32(hash,state,key) _SBOX32_CASE(162,hash,state,key) #else #define case_162_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 161 #define case_161_SBOX32(hash,state,key) _SBOX32_CASE(161,hash,state,key) #else #define case_161_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 160 #define case_160_SBOX32(hash,state,key) _SBOX32_CASE(160,hash,state,key) #else #define case_160_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 159 #define case_159_SBOX32(hash,state,key) _SBOX32_CASE(159,hash,state,key) #else #define case_159_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 158 #define case_158_SBOX32(hash,state,key) _SBOX32_CASE(158,hash,state,key) #else #define case_158_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 157 #define case_157_SBOX32(hash,state,key) _SBOX32_CASE(157,hash,state,key) #else #define case_157_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 156 #define case_156_SBOX32(hash,state,key) _SBOX32_CASE(156,hash,state,key) #else #define case_156_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 155 #define case_155_SBOX32(hash,state,key) _SBOX32_CASE(155,hash,state,key) #else #define case_155_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 154 #define case_154_SBOX32(hash,state,key) _SBOX32_CASE(154,hash,state,key) #else #define case_154_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 153 #define case_153_SBOX32(hash,state,key) _SBOX32_CASE(153,hash,state,key) #else #define case_153_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 152 #define case_152_SBOX32(hash,state,key) _SBOX32_CASE(152,hash,state,key) #else #define case_152_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 151 #define case_151_SBOX32(hash,state,key) _SBOX32_CASE(151,hash,state,key) #else #define case_151_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 150 #define case_150_SBOX32(hash,state,key) _SBOX32_CASE(150,hash,state,key) #else #define case_150_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 149 #define case_149_SBOX32(hash,state,key) _SBOX32_CASE(149,hash,state,key) #else #define case_149_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 148 #define case_148_SBOX32(hash,state,key) _SBOX32_CASE(148,hash,state,key) #else #define case_148_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 147 #define case_147_SBOX32(hash,state,key) _SBOX32_CASE(147,hash,state,key) #else #define case_147_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 146 #define case_146_SBOX32(hash,state,key) _SBOX32_CASE(146,hash,state,key) #else #define case_146_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 145 #define case_145_SBOX32(hash,state,key) _SBOX32_CASE(145,hash,state,key) #else #define case_145_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 144 #define case_144_SBOX32(hash,state,key) _SBOX32_CASE(144,hash,state,key) #else #define case_144_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 143 #define case_143_SBOX32(hash,state,key) _SBOX32_CASE(143,hash,state,key) #else #define case_143_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 142 #define case_142_SBOX32(hash,state,key) _SBOX32_CASE(142,hash,state,key) #else #define case_142_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 141 #define case_141_SBOX32(hash,state,key) _SBOX32_CASE(141,hash,state,key) #else #define case_141_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 140 #define case_140_SBOX32(hash,state,key) _SBOX32_CASE(140,hash,state,key) #else #define case_140_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 139 #define case_139_SBOX32(hash,state,key) _SBOX32_CASE(139,hash,state,key) #else #define case_139_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 138 #define case_138_SBOX32(hash,state,key) _SBOX32_CASE(138,hash,state,key) #else #define case_138_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 137 #define case_137_SBOX32(hash,state,key) _SBOX32_CASE(137,hash,state,key) #else #define case_137_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 136 #define case_136_SBOX32(hash,state,key) _SBOX32_CASE(136,hash,state,key) #else #define case_136_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 135 #define case_135_SBOX32(hash,state,key) _SBOX32_CASE(135,hash,state,key) #else #define case_135_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 134 #define case_134_SBOX32(hash,state,key) _SBOX32_CASE(134,hash,state,key) #else #define case_134_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 133 #define case_133_SBOX32(hash,state,key) _SBOX32_CASE(133,hash,state,key) #else #define case_133_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 132 #define case_132_SBOX32(hash,state,key) _SBOX32_CASE(132,hash,state,key) #else #define case_132_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 131 #define case_131_SBOX32(hash,state,key) _SBOX32_CASE(131,hash,state,key) #else #define case_131_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 130 #define case_130_SBOX32(hash,state,key) _SBOX32_CASE(130,hash,state,key) #else #define case_130_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 129 #define case_129_SBOX32(hash,state,key) _SBOX32_CASE(129,hash,state,key) #else #define case_129_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 128 #define case_128_SBOX32(hash,state,key) _SBOX32_CASE(128,hash,state,key) #else #define case_128_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 127 #define case_127_SBOX32(hash,state,key) _SBOX32_CASE(127,hash,state,key) #else #define case_127_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 126 #define case_126_SBOX32(hash,state,key) _SBOX32_CASE(126,hash,state,key) #else #define case_126_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 125 #define case_125_SBOX32(hash,state,key) _SBOX32_CASE(125,hash,state,key) #else #define case_125_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 124 #define case_124_SBOX32(hash,state,key) _SBOX32_CASE(124,hash,state,key) #else #define case_124_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 123 #define case_123_SBOX32(hash,state,key) _SBOX32_CASE(123,hash,state,key) #else #define case_123_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 122 #define case_122_SBOX32(hash,state,key) _SBOX32_CASE(122,hash,state,key) #else #define case_122_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 121 #define case_121_SBOX32(hash,state,key) _SBOX32_CASE(121,hash,state,key) #else #define case_121_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 120 #define case_120_SBOX32(hash,state,key) _SBOX32_CASE(120,hash,state,key) #else #define case_120_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 119 #define case_119_SBOX32(hash,state,key) _SBOX32_CASE(119,hash,state,key) #else #define case_119_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 118 #define case_118_SBOX32(hash,state,key) _SBOX32_CASE(118,hash,state,key) #else #define case_118_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 117 #define case_117_SBOX32(hash,state,key) _SBOX32_CASE(117,hash,state,key) #else #define case_117_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 116 #define case_116_SBOX32(hash,state,key) _SBOX32_CASE(116,hash,state,key) #else #define case_116_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 115 #define case_115_SBOX32(hash,state,key) _SBOX32_CASE(115,hash,state,key) #else #define case_115_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 114 #define case_114_SBOX32(hash,state,key) _SBOX32_CASE(114,hash,state,key) #else #define case_114_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 113 #define case_113_SBOX32(hash,state,key) _SBOX32_CASE(113,hash,state,key) #else #define case_113_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 112 #define case_112_SBOX32(hash,state,key) _SBOX32_CASE(112,hash,state,key) #else #define case_112_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 111 #define case_111_SBOX32(hash,state,key) _SBOX32_CASE(111,hash,state,key) #else #define case_111_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 110 #define case_110_SBOX32(hash,state,key) _SBOX32_CASE(110,hash,state,key) #else #define case_110_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 109 #define case_109_SBOX32(hash,state,key) _SBOX32_CASE(109,hash,state,key) #else #define case_109_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 108 #define case_108_SBOX32(hash,state,key) _SBOX32_CASE(108,hash,state,key) #else #define case_108_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 107 #define case_107_SBOX32(hash,state,key) _SBOX32_CASE(107,hash,state,key) #else #define case_107_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 106 #define case_106_SBOX32(hash,state,key) _SBOX32_CASE(106,hash,state,key) #else #define case_106_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 105 #define case_105_SBOX32(hash,state,key) _SBOX32_CASE(105,hash,state,key) #else #define case_105_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 104 #define case_104_SBOX32(hash,state,key) _SBOX32_CASE(104,hash,state,key) #else #define case_104_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 103 #define case_103_SBOX32(hash,state,key) _SBOX32_CASE(103,hash,state,key) #else #define case_103_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 102 #define case_102_SBOX32(hash,state,key) _SBOX32_CASE(102,hash,state,key) #else #define case_102_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 101 #define case_101_SBOX32(hash,state,key) _SBOX32_CASE(101,hash,state,key) #else #define case_101_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 100 #define case_100_SBOX32(hash,state,key) _SBOX32_CASE(100,hash,state,key) #else #define case_100_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 99 #define case_99_SBOX32(hash,state,key) _SBOX32_CASE(99,hash,state,key) #else #define case_99_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 98 #define case_98_SBOX32(hash,state,key) _SBOX32_CASE(98,hash,state,key) #else #define case_98_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 97 #define case_97_SBOX32(hash,state,key) _SBOX32_CASE(97,hash,state,key) #else #define case_97_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 96 #define case_96_SBOX32(hash,state,key) _SBOX32_CASE(96,hash,state,key) #else #define case_96_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 95 #define case_95_SBOX32(hash,state,key) _SBOX32_CASE(95,hash,state,key) #else #define case_95_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 94 #define case_94_SBOX32(hash,state,key) _SBOX32_CASE(94,hash,state,key) #else #define case_94_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 93 #define case_93_SBOX32(hash,state,key) _SBOX32_CASE(93,hash,state,key) #else #define case_93_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 92 #define case_92_SBOX32(hash,state,key) _SBOX32_CASE(92,hash,state,key) #else #define case_92_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 91 #define case_91_SBOX32(hash,state,key) _SBOX32_CASE(91,hash,state,key) #else #define case_91_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 90 #define case_90_SBOX32(hash,state,key) _SBOX32_CASE(90,hash,state,key) #else #define case_90_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 89 #define case_89_SBOX32(hash,state,key) _SBOX32_CASE(89,hash,state,key) #else #define case_89_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 88 #define case_88_SBOX32(hash,state,key) _SBOX32_CASE(88,hash,state,key) #else #define case_88_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 87 #define case_87_SBOX32(hash,state,key) _SBOX32_CASE(87,hash,state,key) #else #define case_87_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 86 #define case_86_SBOX32(hash,state,key) _SBOX32_CASE(86,hash,state,key) #else #define case_86_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 85 #define case_85_SBOX32(hash,state,key) _SBOX32_CASE(85,hash,state,key) #else #define case_85_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 84 #define case_84_SBOX32(hash,state,key) _SBOX32_CASE(84,hash,state,key) #else #define case_84_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 83 #define case_83_SBOX32(hash,state,key) _SBOX32_CASE(83,hash,state,key) #else #define case_83_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 82 #define case_82_SBOX32(hash,state,key) _SBOX32_CASE(82,hash,state,key) #else #define case_82_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 81 #define case_81_SBOX32(hash,state,key) _SBOX32_CASE(81,hash,state,key) #else #define case_81_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 80 #define case_80_SBOX32(hash,state,key) _SBOX32_CASE(80,hash,state,key) #else #define case_80_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 79 #define case_79_SBOX32(hash,state,key) _SBOX32_CASE(79,hash,state,key) #else #define case_79_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 78 #define case_78_SBOX32(hash,state,key) _SBOX32_CASE(78,hash,state,key) #else #define case_78_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 77 #define case_77_SBOX32(hash,state,key) _SBOX32_CASE(77,hash,state,key) #else #define case_77_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 76 #define case_76_SBOX32(hash,state,key) _SBOX32_CASE(76,hash,state,key) #else #define case_76_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 75 #define case_75_SBOX32(hash,state,key) _SBOX32_CASE(75,hash,state,key) #else #define case_75_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 74 #define case_74_SBOX32(hash,state,key) _SBOX32_CASE(74,hash,state,key) #else #define case_74_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 73 #define case_73_SBOX32(hash,state,key) _SBOX32_CASE(73,hash,state,key) #else #define case_73_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 72 #define case_72_SBOX32(hash,state,key) _SBOX32_CASE(72,hash,state,key) #else #define case_72_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 71 #define case_71_SBOX32(hash,state,key) _SBOX32_CASE(71,hash,state,key) #else #define case_71_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 70 #define case_70_SBOX32(hash,state,key) _SBOX32_CASE(70,hash,state,key) #else #define case_70_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 69 #define case_69_SBOX32(hash,state,key) _SBOX32_CASE(69,hash,state,key) #else #define case_69_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 68 #define case_68_SBOX32(hash,state,key) _SBOX32_CASE(68,hash,state,key) #else #define case_68_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 67 #define case_67_SBOX32(hash,state,key) _SBOX32_CASE(67,hash,state,key) #else #define case_67_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 66 #define case_66_SBOX32(hash,state,key) _SBOX32_CASE(66,hash,state,key) #else #define case_66_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 65 #define case_65_SBOX32(hash,state,key) _SBOX32_CASE(65,hash,state,key) #else #define case_65_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 64 #define case_64_SBOX32(hash,state,key) _SBOX32_CASE(64,hash,state,key) #else #define case_64_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 63 #define case_63_SBOX32(hash,state,key) _SBOX32_CASE(63,hash,state,key) #else #define case_63_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 62 #define case_62_SBOX32(hash,state,key) _SBOX32_CASE(62,hash,state,key) #else #define case_62_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 61 #define case_61_SBOX32(hash,state,key) _SBOX32_CASE(61,hash,state,key) #else #define case_61_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 60 #define case_60_SBOX32(hash,state,key) _SBOX32_CASE(60,hash,state,key) #else #define case_60_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 59 #define case_59_SBOX32(hash,state,key) _SBOX32_CASE(59,hash,state,key) #else #define case_59_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 58 #define case_58_SBOX32(hash,state,key) _SBOX32_CASE(58,hash,state,key) #else #define case_58_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 57 #define case_57_SBOX32(hash,state,key) _SBOX32_CASE(57,hash,state,key) #else #define case_57_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 56 #define case_56_SBOX32(hash,state,key) _SBOX32_CASE(56,hash,state,key) #else #define case_56_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 55 #define case_55_SBOX32(hash,state,key) _SBOX32_CASE(55,hash,state,key) #else #define case_55_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 54 #define case_54_SBOX32(hash,state,key) _SBOX32_CASE(54,hash,state,key) #else #define case_54_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 53 #define case_53_SBOX32(hash,state,key) _SBOX32_CASE(53,hash,state,key) #else #define case_53_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 52 #define case_52_SBOX32(hash,state,key) _SBOX32_CASE(52,hash,state,key) #else #define case_52_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 51 #define case_51_SBOX32(hash,state,key) _SBOX32_CASE(51,hash,state,key) #else #define case_51_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 50 #define case_50_SBOX32(hash,state,key) _SBOX32_CASE(50,hash,state,key) #else #define case_50_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 49 #define case_49_SBOX32(hash,state,key) _SBOX32_CASE(49,hash,state,key) #else #define case_49_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 48 #define case_48_SBOX32(hash,state,key) _SBOX32_CASE(48,hash,state,key) #else #define case_48_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 47 #define case_47_SBOX32(hash,state,key) _SBOX32_CASE(47,hash,state,key) #else #define case_47_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 46 #define case_46_SBOX32(hash,state,key) _SBOX32_CASE(46,hash,state,key) #else #define case_46_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 45 #define case_45_SBOX32(hash,state,key) _SBOX32_CASE(45,hash,state,key) #else #define case_45_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 44 #define case_44_SBOX32(hash,state,key) _SBOX32_CASE(44,hash,state,key) #else #define case_44_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 43 #define case_43_SBOX32(hash,state,key) _SBOX32_CASE(43,hash,state,key) #else #define case_43_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 42 #define case_42_SBOX32(hash,state,key) _SBOX32_CASE(42,hash,state,key) #else #define case_42_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 41 #define case_41_SBOX32(hash,state,key) _SBOX32_CASE(41,hash,state,key) #else #define case_41_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 40 #define case_40_SBOX32(hash,state,key) _SBOX32_CASE(40,hash,state,key) #else #define case_40_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 39 #define case_39_SBOX32(hash,state,key) _SBOX32_CASE(39,hash,state,key) #else #define case_39_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 38 #define case_38_SBOX32(hash,state,key) _SBOX32_CASE(38,hash,state,key) #else #define case_38_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 37 #define case_37_SBOX32(hash,state,key) _SBOX32_CASE(37,hash,state,key) #else #define case_37_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 36 #define case_36_SBOX32(hash,state,key) _SBOX32_CASE(36,hash,state,key) #else #define case_36_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 35 #define case_35_SBOX32(hash,state,key) _SBOX32_CASE(35,hash,state,key) #else #define case_35_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 34 #define case_34_SBOX32(hash,state,key) _SBOX32_CASE(34,hash,state,key) #else #define case_34_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 33 #define case_33_SBOX32(hash,state,key) _SBOX32_CASE(33,hash,state,key) #else #define case_33_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 32 #define case_32_SBOX32(hash,state,key) _SBOX32_CASE(32,hash,state,key) #else #define case_32_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 31 #define case_31_SBOX32(hash,state,key) _SBOX32_CASE(31,hash,state,key) #else #define case_31_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 30 #define case_30_SBOX32(hash,state,key) _SBOX32_CASE(30,hash,state,key) #else #define case_30_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 29 #define case_29_SBOX32(hash,state,key) _SBOX32_CASE(29,hash,state,key) #else #define case_29_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 28 #define case_28_SBOX32(hash,state,key) _SBOX32_CASE(28,hash,state,key) #else #define case_28_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 27 #define case_27_SBOX32(hash,state,key) _SBOX32_CASE(27,hash,state,key) #else #define case_27_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 26 #define case_26_SBOX32(hash,state,key) _SBOX32_CASE(26,hash,state,key) #else #define case_26_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 25 #define case_25_SBOX32(hash,state,key) _SBOX32_CASE(25,hash,state,key) #else #define case_25_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 24 #define case_24_SBOX32(hash,state,key) _SBOX32_CASE(24,hash,state,key) #else #define case_24_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 23 #define case_23_SBOX32(hash,state,key) _SBOX32_CASE(23,hash,state,key) #else #define case_23_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 22 #define case_22_SBOX32(hash,state,key) _SBOX32_CASE(22,hash,state,key) #else #define case_22_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 21 #define case_21_SBOX32(hash,state,key) _SBOX32_CASE(21,hash,state,key) #else #define case_21_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 20 #define case_20_SBOX32(hash,state,key) _SBOX32_CASE(20,hash,state,key) #else #define case_20_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 19 #define case_19_SBOX32(hash,state,key) _SBOX32_CASE(19,hash,state,key) #else #define case_19_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 18 #define case_18_SBOX32(hash,state,key) _SBOX32_CASE(18,hash,state,key) #else #define case_18_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 17 #define case_17_SBOX32(hash,state,key) _SBOX32_CASE(17,hash,state,key) #else #define case_17_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 16 #define case_16_SBOX32(hash,state,key) _SBOX32_CASE(16,hash,state,key) #else #define case_16_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 15 #define case_15_SBOX32(hash,state,key) _SBOX32_CASE(15,hash,state,key) #else #define case_15_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 14 #define case_14_SBOX32(hash,state,key) _SBOX32_CASE(14,hash,state,key) #else #define case_14_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 13 #define case_13_SBOX32(hash,state,key) _SBOX32_CASE(13,hash,state,key) #else #define case_13_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 12 #define case_12_SBOX32(hash,state,key) _SBOX32_CASE(12,hash,state,key) #else #define case_12_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 11 #define case_11_SBOX32(hash,state,key) _SBOX32_CASE(11,hash,state,key) #else #define case_11_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 10 #define case_10_SBOX32(hash,state,key) _SBOX32_CASE(10,hash,state,key) #else #define case_10_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 9 #define case_9_SBOX32(hash,state,key) _SBOX32_CASE(9,hash,state,key) #else #define case_9_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 8 #define case_8_SBOX32(hash,state,key) _SBOX32_CASE(8,hash,state,key) #else #define case_8_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 7 #define case_7_SBOX32(hash,state,key) _SBOX32_CASE(7,hash,state,key) #else #define case_7_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 6 #define case_6_SBOX32(hash,state,key) _SBOX32_CASE(6,hash,state,key) #else #define case_6_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 5 #define case_5_SBOX32(hash,state,key) _SBOX32_CASE(5,hash,state,key) #else #define case_5_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 4 #define case_4_SBOX32(hash,state,key) _SBOX32_CASE(4,hash,state,key) #else #define case_4_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 3 #define case_3_SBOX32(hash,state,key) _SBOX32_CASE(3,hash,state,key) #else #define case_3_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 2 #define case_2_SBOX32(hash,state,key) _SBOX32_CASE(2,hash,state,key) #else #define case_2_SBOX32(hash,state,key) /**/ #endif #if SBOX32_MAX_LEN >= 1 #define case_1_SBOX32(hash,state,key) _SBOX32_CASE(1,hash,state,key) #else #define case_1_SBOX32(hash,state,key) /**/ #endif #define XORSHIFT96_set(r,x,y,z,t) STMT_START { \ t = (x ^ ( x << 10 ) ); \ x = y; y = z; \ r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) ); \ } STMT_END #define XORSHIFT128_set(r,x,y,z,w,t) STMT_START { \ t = ( x ^ ( x << 5 ) ); \ x = y; y = z; z = w; \ r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) ); \ } STMT_END #define SBOX32_SCRAMBLE32(v,prime) STMT_START { \ v ^= (v>>9); \ v ^= (v<<21); \ v ^= (v>>16); \ v *= prime; \ v ^= (v>>17); \ v ^= (v<<15); \ v ^= (v>>23); \ } STMT_END #ifndef SBOX32_CHURN_ROUNDS #define SBOX32_CHURN_ROUNDS 5 #endif #ifndef SBOX32_SKIP_MASK #define SBOX32_SKIP_MASK 0x3 #endif #define _SBOX32_CASE(len,hash,state,key) \ /* FALLTHROUGH */ \ case len: hash ^= state[ 1 + ( 256 * ( len - 1 ) ) + key[ len - 1 ] ]; SBOX32_STATIC_INLINE void sbox32_seed_state96 ( const U8 *seed_ch, U8 *state_ch ) { const U32 *seed= (const U32 *)seed_ch; U32 *state= (U32 *)state_ch; U32 *state_cursor = state + 1; U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN); U32 s0 = seed[0] ^ 0x68736168; /* sbox */ U32 s1 = seed[1] ^ 0x786f6273; /* hash */ U32 s2 = seed[2] ^ 0x646f6f67; /* good */ U32 t1,t2,i; /* make sure we have all non-zero state elements */ if (!s0) s0 = 1; if (!s1) s1 = 2; if (!s2) s2 = 4; /* Do a bunch of mix rounds to avalanche the seedbits * before we use them for the XORSHIFT rng. */ for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ ) SBOX32_MIX3(s0,s1,s2,"SEED STATE"); while ( state_cursor < sbox32_end ) { U32 *row_end = state_cursor + 256; for ( ; state_cursor < row_end; state_cursor++ ) { XORSHIFT96_set(*state_cursor,s0,s1,s2,t1); } } XORSHIFT96_set(*state,s0,s1,s2,t2); } SBOX32_STATIC_INLINE void sbox32_seed_state128 ( const U8 *seed_ch, U8 *state_ch ) { U32 *seed= (U32 *)seed_ch; U32 *state= (U32 *)state_ch; U32 *state_cursor = state + 1; U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN); U32 s0 = seed[0] ^ 0x68736168; /* sbox */ U32 s1 = seed[1] ^ 0x786f6273; /* hash */ U32 s2 = seed[2] ^ 0x646f6f67; /* good */ U32 s3 = seed[3] ^ 0x74736166; /* fast */ U32 t1,t2,i; /* make sure we have all non-zero state elements */ if (!s0) s0 = 1; if (!s1) s1 = 2; if (!s2) s2 = 4; if (!s3) s3 = 8; /* Do a bunch of mix rounds to avalanche the seedbits * before we use them for the XORSHIFT rng. */ for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ ) SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE"); while ( state_cursor < sbox32_end ) { U32 *row_end = state_cursor + 256; for ( ; state_cursor < row_end; state_cursor++ ) { XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1); } } XORSHIFT128_set(*state,s0,s1,s2,s3,t2); } SBOX32_STATIC_INLINE U32 sbox32_hash_with_state( const U8 *state_ch, const U8 *key, const STRLEN key_len ) { U32 *state= (U32 *)state_ch; U32 hash = *state; switch (key_len) { default: return zaphod32_hash_with_state(state_ch, key, key_len); case_256_SBOX32(hash,state,key) case_255_SBOX32(hash,state,key) case_254_SBOX32(hash,state,key) case_253_SBOX32(hash,state,key) case_252_SBOX32(hash,state,key) case_251_SBOX32(hash,state,key) case_250_SBOX32(hash,state,key) case_249_SBOX32(hash,state,key) case_248_SBOX32(hash,state,key) case_247_SBOX32(hash,state,key) case_246_SBOX32(hash,state,key) case_245_SBOX32(hash,state,key) case_244_SBOX32(hash,state,key) case_243_SBOX32(hash,state,key) case_242_SBOX32(hash,state,key) case_241_SBOX32(hash,state,key) case_240_SBOX32(hash,state,key) case_239_SBOX32(hash,state,key) case_238_SBOX32(hash,state,key) case_237_SBOX32(hash,state,key) case_236_SBOX32(hash,state,key) case_235_SBOX32(hash,state,key) case_234_SBOX32(hash,state,key) case_233_SBOX32(hash,state,key) case_232_SBOX32(hash,state,key) case_231_SBOX32(hash,state,key) case_230_SBOX32(hash,state,key) case_229_SBOX32(hash,state,key) case_228_SBOX32(hash,state,key) case_227_SBOX32(hash,state,key) case_226_SBOX32(hash,state,key) case_225_SBOX32(hash,state,key) case_224_SBOX32(hash,state,key) case_223_SBOX32(hash,state,key) case_222_SBOX32(hash,state,key) case_221_SBOX32(hash,state,key) case_220_SBOX32(hash,state,key) case_219_SBOX32(hash,state,key) case_218_SBOX32(hash,state,key) case_217_SBOX32(hash,state,key) case_216_SBOX32(hash,state,key) case_215_SBOX32(hash,state,key) case_214_SBOX32(hash,state,key) case_213_SBOX32(hash,state,key) case_212_SBOX32(hash,state,key) case_211_SBOX32(hash,state,key) case_210_SBOX32(hash,state,key) case_209_SBOX32(hash,state,key) case_208_SBOX32(hash,state,key) case_207_SBOX32(hash,state,key) case_206_SBOX32(hash,state,key) case_205_SBOX32(hash,state,key) case_204_SBOX32(hash,state,key) case_203_SBOX32(hash,state,key) case_202_SBOX32(hash,state,key) case_201_SBOX32(hash,state,key) case_200_SBOX32(hash,state,key) case_199_SBOX32(hash,state,key) case_198_SBOX32(hash,state,key) case_197_SBOX32(hash,state,key) case_196_SBOX32(hash,state,key) case_195_SBOX32(hash,state,key) case_194_SBOX32(hash,state,key) case_193_SBOX32(hash,state,key) case_192_SBOX32(hash,state,key) case_191_SBOX32(hash,state,key) case_190_SBOX32(hash,state,key) case_189_SBOX32(hash,state,key) case_188_SBOX32(hash,state,key) case_187_SBOX32(hash,state,key) case_186_SBOX32(hash,state,key) case_185_SBOX32(hash,state,key) case_184_SBOX32(hash,state,key) case_183_SBOX32(hash,state,key) case_182_SBOX32(hash,state,key) case_181_SBOX32(hash,state,key) case_180_SBOX32(hash,state,key) case_179_SBOX32(hash,state,key) case_178_SBOX32(hash,state,key) case_177_SBOX32(hash,state,key) case_176_SBOX32(hash,state,key) case_175_SBOX32(hash,state,key) case_174_SBOX32(hash,state,key) case_173_SBOX32(hash,state,key) case_172_SBOX32(hash,state,key) case_171_SBOX32(hash,state,key) case_170_SBOX32(hash,state,key) case_169_SBOX32(hash,state,key) case_168_SBOX32(hash,state,key) case_167_SBOX32(hash,state,key) case_166_SBOX32(hash,state,key) case_165_SBOX32(hash,state,key) case_164_SBOX32(hash,state,key) case_163_SBOX32(hash,state,key) case_162_SBOX32(hash,state,key) case_161_SBOX32(hash,state,key) case_160_SBOX32(hash,state,key) case_159_SBOX32(hash,state,key) case_158_SBOX32(hash,state,key) case_157_SBOX32(hash,state,key) case_156_SBOX32(hash,state,key) case_155_SBOX32(hash,state,key) case_154_SBOX32(hash,state,key) case_153_SBOX32(hash,state,key) case_152_SBOX32(hash,state,key) case_151_SBOX32(hash,state,key) case_150_SBOX32(hash,state,key) case_149_SBOX32(hash,state,key) case_148_SBOX32(hash,state,key) case_147_SBOX32(hash,state,key) case_146_SBOX32(hash,state,key) case_145_SBOX32(hash,state,key) case_144_SBOX32(hash,state,key) case_143_SBOX32(hash,state,key) case_142_SBOX32(hash,state,key) case_141_SBOX32(hash,state,key) case_140_SBOX32(hash,state,key) case_139_SBOX32(hash,state,key) case_138_SBOX32(hash,state,key) case_137_SBOX32(hash,state,key) case_136_SBOX32(hash,state,key) case_135_SBOX32(hash,state,key) case_134_SBOX32(hash,state,key) case_133_SBOX32(hash,state,key) case_132_SBOX32(hash,state,key) case_131_SBOX32(hash,state,key) case_130_SBOX32(hash,state,key) case_129_SBOX32(hash,state,key) case_128_SBOX32(hash,state,key) case_127_SBOX32(hash,state,key) case_126_SBOX32(hash,state,key) case_125_SBOX32(hash,state,key) case_124_SBOX32(hash,state,key) case_123_SBOX32(hash,state,key) case_122_SBOX32(hash,state,key) case_121_SBOX32(hash,state,key) case_120_SBOX32(hash,state,key) case_119_SBOX32(hash,state,key) case_118_SBOX32(hash,state,key) case_117_SBOX32(hash,state,key) case_116_SBOX32(hash,state,key) case_115_SBOX32(hash,state,key) case_114_SBOX32(hash,state,key) case_113_SBOX32(hash,state,key) case_112_SBOX32(hash,state,key) case_111_SBOX32(hash,state,key) case_110_SBOX32(hash,state,key) case_109_SBOX32(hash,state,key) case_108_SBOX32(hash,state,key) case_107_SBOX32(hash,state,key) case_106_SBOX32(hash,state,key) case_105_SBOX32(hash,state,key) case_104_SBOX32(hash,state,key) case_103_SBOX32(hash,state,key) case_102_SBOX32(hash,state,key) case_101_SBOX32(hash,state,key) case_100_SBOX32(hash,state,key) case_99_SBOX32(hash,state,key) case_98_SBOX32(hash,state,key) case_97_SBOX32(hash,state,key) case_96_SBOX32(hash,state,key) case_95_SBOX32(hash,state,key) case_94_SBOX32(hash,state,key) case_93_SBOX32(hash,state,key) case_92_SBOX32(hash,state,key) case_91_SBOX32(hash,state,key) case_90_SBOX32(hash,state,key) case_89_SBOX32(hash,state,key) case_88_SBOX32(hash,state,key) case_87_SBOX32(hash,state,key) case_86_SBOX32(hash,state,key) case_85_SBOX32(hash,state,key) case_84_SBOX32(hash,state,key) case_83_SBOX32(hash,state,key) case_82_SBOX32(hash,state,key) case_81_SBOX32(hash,state,key) case_80_SBOX32(hash,state,key) case_79_SBOX32(hash,state,key) case_78_SBOX32(hash,state,key) case_77_SBOX32(hash,state,key) case_76_SBOX32(hash,state,key) case_75_SBOX32(hash,state,key) case_74_SBOX32(hash,state,key) case_73_SBOX32(hash,state,key) case_72_SBOX32(hash,state,key) case_71_SBOX32(hash,state,key) case_70_SBOX32(hash,state,key) case_69_SBOX32(hash,state,key) case_68_SBOX32(hash,state,key) case_67_SBOX32(hash,state,key) case_66_SBOX32(hash,state,key) case_65_SBOX32(hash,state,key) case_64_SBOX32(hash,state,key) case_63_SBOX32(hash,state,key) case_62_SBOX32(hash,state,key) case_61_SBOX32(hash,state,key) case_60_SBOX32(hash,state,key) case_59_SBOX32(hash,state,key) case_58_SBOX32(hash,state,key) case_57_SBOX32(hash,state,key) case_56_SBOX32(hash,state,key) case_55_SBOX32(hash,state,key) case_54_SBOX32(hash,state,key) case_53_SBOX32(hash,state,key) case_52_SBOX32(hash,state,key) case_51_SBOX32(hash,state,key) case_50_SBOX32(hash,state,key) case_49_SBOX32(hash,state,key) case_48_SBOX32(hash,state,key) case_47_SBOX32(hash,state,key) case_46_SBOX32(hash,state,key) case_45_SBOX32(hash,state,key) case_44_SBOX32(hash,state,key) case_43_SBOX32(hash,state,key) case_42_SBOX32(hash,state,key) case_41_SBOX32(hash,state,key) case_40_SBOX32(hash,state,key) case_39_SBOX32(hash,state,key) case_38_SBOX32(hash,state,key) case_37_SBOX32(hash,state,key) case_36_SBOX32(hash,state,key) case_35_SBOX32(hash,state,key) case_34_SBOX32(hash,state,key) case_33_SBOX32(hash,state,key) case_32_SBOX32(hash,state,key) case_31_SBOX32(hash,state,key) case_30_SBOX32(hash,state,key) case_29_SBOX32(hash,state,key) case_28_SBOX32(hash,state,key) case_27_SBOX32(hash,state,key) case_26_SBOX32(hash,state,key) case_25_SBOX32(hash,state,key) case_24_SBOX32(hash,state,key) case_23_SBOX32(hash,state,key) case_22_SBOX32(hash,state,key) case_21_SBOX32(hash,state,key) case_20_SBOX32(hash,state,key) case_19_SBOX32(hash,state,key) case_18_SBOX32(hash,state,key) case_17_SBOX32(hash,state,key) case_16_SBOX32(hash,state,key) case_15_SBOX32(hash,state,key) case_14_SBOX32(hash,state,key) case_13_SBOX32(hash,state,key) case_12_SBOX32(hash,state,key) case_11_SBOX32(hash,state,key) case_10_SBOX32(hash,state,key) case_9_SBOX32(hash,state,key) case_8_SBOX32(hash,state,key) case_7_SBOX32(hash,state,key) case_6_SBOX32(hash,state,key) case_5_SBOX32(hash,state,key) case_4_SBOX32(hash,state,key) case_3_SBOX32(hash,state,key) case_2_SBOX32(hash,state,key) case_1_SBOX32(hash,state,key) case 0: break; } return hash; } SBOX32_STATIC_INLINE U32 sbox32_hash96( const U8 *seed_ch, const U8 *key, const STRLEN key_len ) { U32 state[SBOX32_STATE_WORDS]; sbox32_seed_state96(seed_ch,(U8*)state); return sbox32_hash_with_state((U8*)state,key,key_len); } SBOX32_STATIC_INLINE U32 sbox32_hash128( const U8 *seed_ch, const U8 *key, const STRLEN key_len ) { U32 state[SBOX32_STATE_WORDS]; sbox32_seed_state128(seed_ch,(U8*)state); return sbox32_hash_with_state((U8*)state,key,key_len); } #endif
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.36 |
proxy
|
phpinfo
|
Settings